一、数据约束:对用户操作表的数据进行约束。
1、默认值约束:default
create table 表名(
id int,
name varchar(20),
address varchar(20) default 值)
2、非空约束:not null
create table 表名(
id int not null,
name varchar(20),
address varchar(20) default 值)
3、唯一约束:unique,比较字段值,不比较null
create table stu(
sid int,
sname varchar(10) not null,
idcard char(18) unique,
birthday date,
address varchar(30) default '山东淄博');
4、主键约束:primary key
create table stu(
sid int primary key,
sname varchar(10) not null,
idcard char(18) unique,
birthday date,
address varchar(30) default '山东淄博');
5、自增长约束:设置主键后才能使用:auto_increment
create table stu(
sid int primary key auto_increment,
sname varchar(10) not null,
idcard char(18) unique,
birthday date,
address varchar(30) default '山东淄博');
5.1、零填充:注意在自增的前提下,设置int的位数(int(3)):zerofill
create table stu(
sid int(3) zerofill primary key auto_increment,
sname varchar(10) not null,
idcard char(18) unique,
birthday date,
address varchar(30) default '山东淄博');
6、外键:把别的表的主键拿到该表做主键:constraint 外键名 foreign key(附表的哪个字段是外键) references 主表(主键)
-- 主表
create table dept(
did int primary key auto_increment,
dname varchar(10),
mgr varchar(10)
)
-- 外表
create table empp(
eid int primary key auto_increment,
ename varchar(10),
esex char(2),
did int,
-- 声明外键
--constraint 外键名 foreign key(附表的哪个字段是外键) references 主表(主键)
constraint empp_dept_fk foreign key(did) references dept(did)
)
注意:
1、附表添加数据时应查询主表是否有,若没有则在主表添加数据后,再在附表添加数据
2、增加数据时先添加主表再添加附表
3、更改和删除时先删除更改副表表再删除主表