5.5 數據庫約束

 數據庫約束

目的

  爲保證數據的完整性和一致性,內置瞭如下的可選約束屬性數據庫

PRIMARY KEY (PK)

  標識該字段爲該表的主鍵,能夠惟一的標識記錄session

  不可爲空 spa

  單表只存在一個主鍵,一般用 id 自增做爲主鍵 code

FOREIGN KEY (FK)

   標識該字段爲該表的外鍵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    #關聯的表修改了,被關聯的表也修改了
);

NOT NULL

  標識該字段不能爲空,rem

  默認容許爲空 io

UNIQUE KEY (UK)

   標識該字段的值是惟一table

   可設置多字段聯合惟一class

constraint host_port unique(字段1,字段2)

AUTO_INCREMENT

   標識該字段的值自動增加(整數類型,並且爲主鍵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');

DEFAULT

   爲該字段設置默認值

   默認值是NULL

UNSIGNED

  無符號

  即必須爲正值

ZEROFILL

  使用0填充

相關文章
相關標籤/搜索