码迷,mamicode.com
首页 > 数据库 > 详细

5.5 数据库约束

时间:2019-02-01 01:12:41      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:dep   val   一个   ade   oba   from   数据库   update   font   

 

目的

  为保证数据的完整性和一致性,内置了以下的可选约束属性

 

PRIMARY KEY (PK)

  标识该字段为该表的主键,可以唯一的标识记录

  不可为空 

  单表只存在一个主键,通常用 id 自增作为主键 

 

FOREIGN KEY (FK)

   标识该字段为该表的外键

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

  标识该字段不能为空,

  默认允许为空 

 

UNIQUE KEY (UK)

   标识该字段的值是唯一

   可设置多字段联合唯一

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

 

AUTO_INCREMENT

   标识该字段的值自动增长(整数类型,而且为主键

   可设置起始值 ( 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填充

 

5.5 数据库约束

标签:dep   val   一个   ade   oba   from   数据库   update   font   

原文地址:https://www.cnblogs.com/shijieli/p/10344424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!