爲保證數據的完整性和一致性,內置瞭如下的可選約束屬性數據庫
標識該字段爲該表的主鍵,能夠惟一的標識記錄session
不可爲空 spa
單表只存在一個主鍵,一般用 id 自增做爲主鍵 code
標識該字段爲該表的外鍵blog
create table emp_info( id int primary key auto_increment, name varchar(20), dep_id int, constraint FK_depid_id foreign key(dep_id) references dep(id) #references :關聯 on delete cascade #關聯的表刪了,被關聯的表也刪了 on update cascade #關聯的表修改了,被關聯的表也修改了 );
標識該字段不能爲空,rem
默認容許爲空 io
標識該字段的值是惟一的table
可設置多字段聯合惟一class
constraint host_port unique(字段1,字段2)
標識該字段的值自動增加(整數類型,並且爲主鍵)date
可設置起始值 ( auto_increment )以及偏移量 (auto_increment_increment )
================設置自增的時候以10開頭 create table dep1( id int primary key auto_increment, name char(10) )auto_increment = 10; insert into dep1(name) values('IT'),('HR'),('EFO'); select * from dep1;
===============auto_increment_increment:自增步長 create table dep3( id int primary key auto_increment, name char(10) ); 會話:經過客戶端連到服務端(一次連接稱爲一次會話) set session auto_increment_increment = 2; #會話級,只對當前會話有效 set global auto_increment_increment=2; #全局,對全部的會話都有效 insert into dep3(name) values('IT'),('HR'),('SALE'),('Boss');
爲該字段設置默認值
默認值是NULL
無符號
即必須爲正值
使用0填充