本部分内容是mysql系列的第四部分 ,若想檢視前面的系列的内容,請見:SQL語言分類有哪幾種?分别都對應着哪些關鍵字?都整理在這裡了
這一部分主要介紹建立表時所填寫的每一部分資訊 。
建立表
建立表完整文法:
create table 表名(
字段名稱1 資料類型[(長度) 限制條件 注釋],
字段名稱2 資料類型[(長度) 限制條件 注釋]
) [編碼 注釋]
# 1. 必選項 :
表名 字段名稱 資料類型
# 2. 可選項 :
長度 限制條件 注釋 編碼
# 3.示例:
create table students(
id int(20) primary key auto_increment COMMENT '學生編号',
name varchar(20) not null comment '學生姓名',
grade varchar(5) not null comment '學生年級',
sex enum('男','女') default '男' comment '性别'
) charset='utf-8' comment '學生表'
資料類型
在上面建立表時,給每個字段指定了具體的資料類型 ,但實際資料類型要包含的多,我們可以将其進行簡單的分類,比如 :
- 字元文本類型
- 數字類型
- 日期類型
類型 | 說明 | 大小 |
char | 定長字元串 | 0-255 bytes |
varchar | 變長字元串 | 0-65535 bytes |
tinytext | 短文本字元串 | |
text | 文本字元串 | |
longtext | 長文本字元串 | 0-4 294967295 bytes |
範圍(有符号) | 範圍(無符号) | ||
TINYINT | 微整數 | (-128,127) | (0,255) |
SMALLINT | 小整數 | (-32 768,32 767) | (0,65 535) |
MEDIUMINT | 中整數 | (-8 388 608,8 388 607) | (0,16 777 215) |
INT或INTEGER | 整數 | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) |
BIGINT | 大整數 | (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) |
FLOAT | 單精度 浮點數值 | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) |
DOUBLE | 雙精度 浮點數值 | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) |
DECIMAL | 小數值 | 依賴于M和D的值 |
範圍 | 格式 | ||
DATE | 日期 | 1000-01-01/9999-12-31 | YYYY-MM-DD |
TIME | 時間 | '-838:59:59'/'838:59:59' | HH:MM:SS |
YEAR | 年 | 1901/2155 | YYYY |
DATETIME | 日期和時間 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS |
選項類型
舉例 | ||
enum | 枚舉,多個值中選擇一個 | enum('男','女') |
set | 集合 - 多個值中選擇一個或多個值 | SET('值1','值2','值3'...,'值n') |
字段限制
格式:
create table 表名(
字段名 資料類型 限制,
字段名 資料類型 限制
...
)
其中限制主要包括:

這裡需要區分幾個限制,
- 主鍵限制 : 唯一且不能為空
- 唯一限制 : 值唯一
- 為空限制 : 值不能為空
其中主鍵限制 = 唯一限制 + 為空限制
注釋
有時候我們看到表的後面都有注釋 ,通過注釋我們能快速地找到對應表 ,比如下面表的注釋 。
當然,此注釋有兩種設定方式,一種就是通過用戶端工具建立/修改表時添加注釋資訊 ,具體操作可參考:mysql系列之一文詳解Navicat工具的使用(二)
初次之外,也可以SQL語句添加注釋 。具體如下 :
create table students(
id int(20) primary key auto_increment comment '學生編号',
name varchar(20) not null comment '學生姓名',
grade varchar(5) not null comment '學生年級',
sex enum('男','女') default '男' comment '性别'
) comment '學生表'
這裡使用的comment就是添加的注釋資訊,添加的注釋不僅可以在字段上進行備注 ,也可以在表名上進行備注 。