目录
主键约束(primary key) PK
自增长约束(auto_increment)
非空约束(not null)
唯一性约束(unique)
默认约束(default)
零填充约束(zerofill)
外键约束(foreign key) FK
主键约束(primary key) PK
create table emp1(
eid int primay key,
name VARCHAr(20),
deptId int,
salary double
);
#--在定义字段之后再指定主键,语法格式如下:
#create table 表名(
# ...
# [constraint <约束名>] primary key [字段名]
#);
create table emp2(
eid INT,
name VARCHAr(20),
deptId INT,
salary double,
constraint pk1 primary key(id)
);
联合主键
create table emp3( name varchar(20), deptId int, salary double, primary key(name,deptId) );
修改表添加主键
-- 添加单列主键 create table emp4( eid int, name varchar(20), deptId int, salary double, ); alter table emp4 add primary key(eid);
删除主键
-- 删除单列主键 alter table emp1 drop primary key; -- 删除联合主键 alter table emp5 drop primary key;
自增长约束(auto_increment)
create table t_user1(
id int primary key auto_increment,
name varchar(20)
);
指定自增字段初始值
-- 方式1,创建表时指定 create table t_user2 ( id int primary key auto_increment, name varchar(20) )auto_increment=100;
-- 方式2,创建表之后指定 create table t_user3 ( id int primary key auto_increment, name varchar(20) ); alter table t_user2 auto_increment=100;
非空约束(not null)
-- 方式1,创建表时指定
create table t_user6 (
id int ,
name varchar(20) not null,
address varchar(20) not null
);
-- 方式2
create table t_user7 (
id int ,
name varchar(20) , -- 指定非空约束
address varchar(20) -- 指定非空约束
);
alter table t_user7 modify name varchar(20) not null;
alter table t_user7 modify address varchar(20) not null;
删除非空约束
-- alter table 表名 modify 字段 类型 alter table t_user7 modify name varchar(20) ; alter table t_user7 modify address varchar(20) ;
唯一性约束(unique)
-- 创建表时指定
create table t_user8 (
id int ,
name varchar(20) ,
phone_number varchar(20) unique -- 指定唯一约束
);
create table t_user9 (
id int ,
name varchar(20) ,
phone_number varchar(20) -- 指定唯一约束
);
alter table t_user9 add constraint unique_ph unique(phone_number);
删除唯一约束
-- alter table <表名> drop index <唯一约束名>; alter table t_user9 drop index unique_ph;
默认约束(default)
create table t_user10 (
id int ,
name varchar(20) ,
address varchar(20) default ‘北京’ -- 指定默认约束
);
-- alter table 表名 modify 列名 类型 default 默认值;
create table t_user11 (
id int ,
name varchar(20) ,
address varchar(20)
);
alter table t_user11 modify address varchar(20) default ‘北京’;
删除默认约束
-- alter table <表名> modify column <字段名> <类型> default null; alter table t_user11 modify column address varchar(20) default null;
零填充约束(zerofill)
create table t_user12 (
id int zerofill , -- 零填充约束
name varchar(20)
);
删除
alter table t_user12 modify id int;



