目錄
MySQL約束條件
約束條件用於對表中字段進行約束,一般寫在某個字段最后,如果有多個約束條件,用空格分隔,創建新表時約束條件的寫法如下:
create table 表名稱
(
字段名稱 數據類型[(長度) 約束條件1 約束條件2 ...],
...
);
1. unsigned - 無符號
-
說明此字段為無符號整數類型
-
語法
create table 表名稱 ( 字段名稱 int unsigned, ... );
無符號整數類型的范圍可參考以下連接文中2.2.2中內容:
https://www.cnblogs.com/zj420255586/p/11574614.html
2. zerofill - 0填充
-
定義了數據類型的長度,如果實際位數小於定義的長度,顯示時會在左邊用0填充
-
語法
create table 表名稱 ( 字段名稱 int zerofill, ... );
3. not mull - 非空
-
在表中插入數據中這個字段不能為空
-
語法
create table 表名稱 ( 字段名稱 數據類型(長度) not null, ... );
4. default - 默認值
-
在表中插入數據時,如果不對有默認值的字段賦值,該字段將使用默認值
-
語法
create table 表名稱 ( 字段名稱 數據類型(長度) default 0, # 默認值0 ... );
5. unique - 唯一
-
在表中插入數據時,該字段的值是唯一的,不能與已有數據的該字段值重復
-
語法
create table 表名稱 ( 字段名稱 數據類型(長度) unique, ... );
-
聯合唯一
-
單個字段可以重復,但多個字段組合起來是唯一的
-
語法
create table 表名稱 ( 字段名稱1 數據類型[(長度) 約束條件], 字段名稱2 數據類型[(長度) 約束條件], ..., unique(字段名稱1,字段名稱2) # 字段名稱1和字段名稱2是聯合唯一的 );
-
6. auto_increment - 自增
-
在表中插入數據時,如果不對該字段賦值,會自動在已有最大值的基礎上+1
-
語法
create table 表名稱 ( 字段名稱 數據類型(長度) auto_increment, ... );
7. primary key - 主鍵
-
主鍵一般與自增一起使用,也是約束唯一,但它還可以提高查詢效率
-
在外鍵中也經常綁定與主鍵,具體內容請移步外鍵內容
-
語法
create table 表名稱 ( 字段名稱 int primary key auto_increment, ... )
8. foreign key - 外鍵
- 外鍵是表與表間關系的一種鍵,具體可查看此鏈接:
https://www.cnblogs.com/zj420255586/