首頁 > 軟體

SQL通用語法以及分類圖文詳解

2022-12-31 14:02:02

MySQL的啟動和連線&資料模型

MySQL的啟動和停止

1.services.msc

2.命令列啟停

啟動:net start mysql80

停止:net stop mysql80

(命令列視窗以管理員許可權開啟,否則無存取系統服務許可權)

MySQL資料庫使用者端連線

1.MySQL提供的使用者端命令列工具

(先確保mysql正在執行中),否則會出現輸入密碼命令列視窗閃退的情況

mysql正常執行中,在windows開始選單下找到:

單擊開啟命令列視窗後輸入MySQL密碼,即可進入存取(密碼輸入錯誤會閃退命令列視窗):

 2.系統自帶的命令列執行指令

(使用此方法必須提前設定系統的path環境變數)

mysql -u root -p[回車] -password

MySQL資料模型

1.在清楚MySQL資料模型前,需要先了解一個概念:關係型資料庫(RDBMS).

概念:建立在關係模型基礎上,由多張相互連線的二維表組成的資料庫

特點

  • 使用表儲存結構,格式統一,便於維護
  • 使用SQL語言操作,標準統一,便於操作

 2.資料模型

SQL通用語法及分類

1.SQL通用語法

  • SOL語句可以單行或多行書寫書寫,以分號結尾
  • SQL語句可以使用空格和縮排來增強程式的可讀性
  • MySQL資料庫的SQL語句不區分大小寫,關鍵字建議使用大寫
  • 註釋:
    單行註釋:--註釋內容  或者   #註釋內容(MySQL特有)
    多行註釋:/*註釋內容*/

2.SQL分類

分類全稱說明
DDLDate Definition Language資料定義語言,用來定義資料庫物件(資料庫,表,欄位,索引)
DMLDate Manipulation Language資料庫操作語言,用來對資料庫表中的資料進行增刪改
DQLDate Query Language資料庫查詢語言,用來查詢資料庫中表的記錄
DCLDate Control Language資料庫控制語言,用來建立資料庫使用者,控制資料庫存取許可權

Data Definition Language

DDL - 資料庫操作

查詢資料庫

建立資料庫

刪除資料庫

使用資料庫

使用上述指令進行整體操作

DDL - 表操作

表操作 - 建立&&查詢 建立表

(建立表的最後一條語句不加逗號,整條語句以分號結束)查詢當前資料庫的所有表

查詢表結構

查詢特定表的建表語句

使用上述指令進行整體操作

表操作 - 資料型別

MySQL中主要有數值型別、日期型別和字串型別。

數值-整數型別

型別名稱說明儲存需求有符號(SIGNED)無符號(UNSIGNED)
TINYINT很小的整數1byte-128 - 1270 - 255
SMALLINT小的整數2byte-32768 - 327670 - 65535
MEDIUMINT中等大小的整數3byte-8388608 - 83886070 - 16777215
INT(INTEGER)普通大小整數4byte-2147483648 - 21474836470 - 4294967295
BIGINT大整數8byte-9223372036854775808 - 92233720368547758070 - 18446744073709551615

dd

型別名稱說明儲存需求有符號(SIGNED)無符號(UNSIGNED)
TINYINT很小的整數1byte-128 - 1270 - 255
SMALLINT小的整數2byte-32768 - 327670 - 65535
MEDIUMINT中等大小的整數3byte-8388608 - 83886070 - 16777215
INT(INTEGER)普通大小整數4byte-2147483648 - 21474836470 - 4294967295
BIGINT大整數8byte-9223372036854775808 - 92233720368547758070 - 18446744073709551615

數值-小數型別

 DECIMAL中的M:精度、D:標度

 精度M:整個數的長度

 標度D:小數的位數

日期與時間型別

型別名稱日期格式日期範圍儲存需求
YEARYYYY1901-21551byte
TIMEHH:MM:SS-838:59:59-835:59:593byte
DATEYYYY-MM-DD1000-01-01~9999-12-313byte
DATETIMEYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00~9999-12-31 23:59:598byte
TIMESTAMPYYYY-MM-DD HH:MM:SS1970-01-01 00:00:01 UTC~2038-01-19 03:14:07 UTC4byte

字串型別

文字字串資料型別
型別名稱說明儲存需求
CHAR(M)定長文字字串M位元組,1 - 255
VARCHAR(M)變長文字字串length +1位元組
TINYTEXT非常小的文字字串length +1位元組
TEXT小的文字字串length +2位元組
MEDIUMTEXT中等大小的文字字串length +3位元組
LONGTEXT大的文字字串length +4個位元組
EUNM列舉型別,只能有一個列舉字串值1或2byte,取決於列舉字串的樹木
SET

一個設定,字串物件可以有一個或多個set成員

1,2,3,4或8,取決於集合成員的數量
二進位制字串型別
型別名稱說明儲存需求
BIT(M)位欄位型別(M+7)/8 byte
BINARY(m)定長二進位制字串Mbyte
VARBINARY(M)變長二進位制字串M+1byte
TINYBLOB(M)非常小的BLOB

L+1 byte

BOLB(M)小的BLOBL+2byte
MEDIUMBLOB(M)中等大小的BLOBL+3byte
LONGBLOB(M)非常大的BLOBL+4byte

表操作-修改&&刪除

新增欄位

修改欄位資料型別

修改欄位名和欄位型別

刪除表中的欄位

修改表名

刪除表

格式化表(刪除表中的資料並重新建立)

 使用上述指令進行整體操作

DDL總結

DDL資料庫操作

  • show databases;
    顯示當前的所有資料庫
  • create database [if not exists] 資料庫名;
    建立資料庫
  • use 資料庫名;
    使用/進入當前資料庫
  • select database();
    查詢當前所在資料庫
  • drop database [if exists] 資料庫名;
    刪除當前資料庫

DDL表操作

  • show tables;
    顯示當前資料庫中的所有表
  • create table 表名(欄位 欄位型別 [comment '註釋'], 欄位 欄位型別 [comment '註釋'] ...) [coomment '註釋'] ;
    在當前資料庫中新建一張表
  • desc 表名;
    查詢當前表的結構
  • show create table 表名;
    顯示建立該表時的語句
  • alter table add/modify/change/drop/rename to
    新增欄位,修改欄位型別,修改欄位,刪除欄位,重新命名錶
  • drop table 表名;
    刪除當前表

(視覺化工具 - dataTrip)


IT145.com E-mail:sddin#qq.com