認識mysql(1)

来源:https://www.cnblogs.com/python-sl/archive/2018/08/19/9501935.html
-Advertisement-
Play Games

恢復內容開始 1、MySQL概述 1.什麼是資料庫? 存儲數據的倉庫 2.都有哪些公司在用資料庫? 金融機構、游戲公司、購物網站、論壇網站... 3.提供資料庫服務的軟體? 1.軟體分類 MySQL、Oracle、SQL_Server、DB2、MongoDB、MariaDB 2.生產環境中,如何選擇 ...


---恢復內容開始---

1、MySQL概述

  1.什麼是資料庫?

  存儲數據的倉庫

  2.都有哪些公司在用資料庫?

  金融機構、游戲公司、購物網站、論壇網站...

  3.提供資料庫服務的軟體?

    1.軟體分類

      MySQL、Oracle、SQL_Server、DB2、MongoDB、MariaDB

    2.生產環境中,如何選擇使用哪個資料庫軟體?

      開源:MYSql,Mariadb,MongoDB

      不開源:Oracle,DB2,SQL_Server

    3.公司的類型:

      1.商業資料庫:政府部門,金融機構

      2.開源資料庫:游戲網站、購物網站、論壇網站.....

  4、MySQL的特點

  1.關係型資料庫

    1.關係型資料庫特點

      1.數據是以行和列(表格)的形式去存儲

      2.表中的每一行叫一條記錄,每一列叫一個欄位

      3.表和表之間的羅技關聯叫關係

    2.示例

      1.關係型資料庫存儲

        表1  學生信息表

        姓名  年齡  班級

        星矢  25     三班

        水冰月 29    六班

        表2  班級信息表

        班級  班主任  

        三班  大空翼

        六班  松人

      2.非關係型資料庫中存儲

        {"姓名":"水冰月","年齡":"25"}

    2、跨平臺

      可以在Unix,Linux,Windows上運行資料庫服務;

    3、支持多種編程語言

      python,java,php,c/c++....

  5、資料庫軟體。資料庫、數據倉庫的概念

  1.資料庫軟體

    一個軟體,看得見,可操作,實現資料庫的邏輯功能

  2、資料庫

    是一種邏輯概念,用來存放數據的倉庫,側重存儲

  3、數據倉庫

    從數據量上來說,比資料庫龐大的多,主要用於數據分析和數據挖掘

2、MySQL安裝

  1.Ubuntu安裝

    安裝服務端

      sudo apt-get install mysql-server

    安裝客戶端

      sudo apt-get install mysql-client

    Ubuntu安裝軟體   

      1、sudo apt-get update

      訪問源列表中的每個網站,讀取軟體列表,保存到本地/var/lib/apt/lists

      2、sudo apt-get upgrade

      把本地已安裝軟體與剛下載的軟體列表進行對比,如果發現已安裝版本低則更新

      3、sudo apt-get -f install

      修複依賴關係

3、啟動和鏈接MySQL服務

  1.服務端啟動

    1.查看MySQL狀態

      sudo /etc/init.d/mysql status

  2、客戶端連接

    1命令格式

      mysql -h主機地址 -u用戶名 -p密碼

      如:mysql -hlocalhost -uroot -p123456

    2.本地連接可省略 -h選項

      mysql -uroot -p123456

4、基本SQL命令

  1.SQL命令的使用規則

    1.每條命令的使用規則

      1.每條命令必須以;結尾

      2.SQL命令不區分字母大小寫

      3.使用\c來終止當前命令的執行

  2.庫的管理

    1.庫的基本操作

      1.查看已有庫

      show databases;

      2.創建庫(指定字元集)

      create database 庫名 [character set utf8];

      3.查看創建庫的語句(字元集)

      show create database 庫名
      4.查看當前所在庫

      select database 庫名;

      5.切換庫

      use 庫名;

      6.查看庫中已有庫

      show tables;

      7.刪除庫

       drop database 庫名;

    2、庫名的命名規則

      1.數字、字母、下劃線。但不能使用純數字

      2.庫名區分字母大小寫

      3.不能使用特殊字元和mysql關鍵字

    3、練習

      1、創建庫testdb,指定字元集為 utf8

      create database testdb character set utf8;
      2、進入到庫 testdb
      use testdb;
      3、查看當前所在庫
      select database();
      4、創建庫 testdb2,指定字元集為 latin1
      create database testdb2 character set latin1;
      5、進入到庫 testdb2
      use testdb2;
      6、查看 testdb2 的字元集(查看創建庫的語句)
      show create database testdb2;
      7、刪除庫 testdb
      drop database testdb;
      8、刪除庫 testdb2
      drop database testdb2;

  3、表的管理

    1.表的基本操作

      1.創建表(指定字元集)

      create table 表名(

      欄位名 數據類型,

      欄位名 數據類型,

      ...

      );

    2、查看已有表的字元集
    show create table 表名;
    3、查看表結構
    desc 表名;
    4、刪除表
    drop table 表名;

5、Mac安裝mysql
  1、cd
  2、vi .bash_profile
  添加 :PATH="$PATH":/usr/local/mysql/bin
  3、source .bash_profile

6、表記錄管理

  插入(insert)

    1、insert into 表名 values(值1),(值2),...;

    2、insert into 表名(欄位1,...) values(值1),...; 

  2、查詢(select)
    1、select * from 表名 [where 條件];
    2、select 欄位1,欄位名2 from 表名 [where 條件];

5、如何更改預設字元集

  1、方法(通過更改MySQL配置文件實現)

  2、步驟
    1、獲取root許可權
      sudo -i
    2、cd /etc/mysql/mysql.conf.d/
    3、備份 :cp mysqld.cnf mysqld.cnf.bak
    4、subl mysqld.cnf
    [mysqld]

    character_set_server = utf8
    5、重啟mysql服務
    /etc/init.d/mysql restart

    MAC:/etc/my.cnf

    [mysqld]
    character_set_server = utf8

 6、客戶端把數據存儲到資料庫伺服器上的過程

  1、連接到數據伺服器 mysql -uroot -p123456
  2、選擇一個庫 use 庫名
  3、創建表/修改表 update 表名...
  4、斷開與資料庫連接 exit; | quit; | \q;

7、數據類型
  1、數值類型
    1、整型
      1、int 大整型(4個位元組)
      取值範圍 :2**32 - 1(42億多)
      2、tinyint 微小整型(1個位元組)
      1、有符號(signed預設) : -128 ~ 127
      2、無符號(unsigned) : 0 ~ 255
      age tinyint unsigned,
      3、smallint 小整型(2個位元組)
      4、bigint 極大整型(8個位元組)

     2、浮點型

      1、用法

        欄位名 float(m,n)  m->總位數 n->小數位位數

        float(5,2)取值範圍? -999.99 ~ 999.99

       2、decimal(最多顯示28個有效位)

        1、decimal(m,n)

           2、存儲空間(整數、小數分開存儲)

            規則:將9的倍數包裝成4個位元組

          示例:decimal(19,9)

          整數部分:10/9=商1餘1 4位元組+1位元組=5位元組

          小數部分:9/9=商1餘0 4位元組+0位元組=4位元組

          占:9位元組

      

  2、字元類型
    1、char(定長)
      1、取值範圍:1~255
    2、varchar(變長)
      1、取值範圍:1~65535
      2、text / longtext(4G) / blob / longblob(4G)
    3、char和varchar的特點
      1、char :浪費存儲空間,性能高
      2、varchar :節省存儲空間,性能低

 

 

 

 

 

 

 

 

      

---恢復內容結束---


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 第1章 shell基礎 1.1 什麼是shell Shell是一個命令解釋器,它在操作系統的最外層,負責直接與用戶對話,把用戶的輸入解釋給操作系統,並處理各種各樣的操作系統的輸出結果,輸出屏幕返回給用戶。 1.1.1 shell對話方式 交互的方式:從鍵盤輸入命令,通過/bin/bash的解析,可以 ...
  • 前言 最近沒更新新篇幅了,今天就來點幹活,過多的也不說了下麵著手乾!乾!乾! 準備環境 centos7.5 apr-1.6.3.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.34.tar.bz2 php-7.1.18.tar.bz2 mariadb-10.2.16-l ...
  • 註:轉載請標明文章來源,感謝支持作者勞動! 一、問題描述 用iphone手機上的nRF connect軟體調試藍牙通信。 1、nRF52藍牙demo電路板,燒錄一個SDK的程式,iphone手機可以成功連接及發現服務。如下圖, 2、之後燒錄另一個固件,發現掃描出現的藍牙名稱等信息均已經改變,但是點擊 ...
  • Linux下su與su -命令的區別 在啟動伺服器ntpd服務時遇到一個問題 使用 su root 切換到root用戶後,不可以使用service命令; 使用 su - 後,就可以使用service命令了。 原因: su命令和su -命令區別就是: su只是切換了root身份,但Shell環境仍然是 ...
  • 應朋友要求,寫個存儲過程說明,本篇比較簡單,適合新接觸存儲過程的同學 先來個簡單的 如果使用的是PL/SQL,執行後會在output中列印my first execute,那麼這裡就有了第一個功能 dbms_output.put_line,在output裡面列印結果,另外還有dbms_output. ...
  • 1、下載安裝 1.1 下載: 1.2 解壓 1.3 初始化 1.4 啟動mysql服務 1.5 啟動MySQL客戶端並連接MySQL服務 由於初始化時使用的【mysqld --initialize-insecure】命令,其預設未給root賬戶設置密碼 輸入回車,見下圖表示安裝成功: 1.6 添加環 ...
  • 上周,以前公司的同事朋友找我幫忙,看看能否幫忙恢復一個MySQL 資料庫,具體情況為:資料庫版本為MySQL 5.6(具體版本不清楚),也不清楚具體的資料庫引擎; 沒有資料庫備份,只剩下資料庫下麵的一些文件(frm、idb),具體原因是因為出現問題的時候,重裝了MySQL,最要命的是ibdata1等... ...
  • 主要是常用的hbase shell命令,包括表的創建與刪除,表數據的增刪查【hbase沒有修改】;以及hbase的導出與導入。 參考教程:HBase教程 參考博客:hbase shell基礎和常用命令詳解 參考博客:hbase shell常用命令和filter 參考博客:hbase導入導出數據 1. ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...