MySQL 复习(一):建表约束

MySQL 复习(一):建表约束

MySQL 复习(一):建表约束

1. 主键约束

        -- 	添加:alter table  table_name add primary key (字段)
        -- 	删除:alter table table_name drop primary key

1.1 添加主键约束

1.1.1 建表前添加主键约束
create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束

1.1.2 建表后添加主键约束
	
 --  alter table 表名 add primary key(字段名)
	alter table user add primary key(id)
 -- alter table 表名 modify 字段 字段类型 primary key	
	alter table user modify id int primary key
	
	describe user # 查找约束
	

1.2 删除主键约束

alter table <表名> drop primary key;

alter table user drop primary key;

describe user # 查找约束
	


2. 外键约束

-- 	     添加:alter table table_name add constraint 约束名 foreign key(外键列) 
-- 		 references 主键表(主键列)
-- 		 删除:
-- 		 第一步:删除外键
-- 		     alter table table_name drop foreign key 约束名
-- 		 第二步:删除索引
-- 			alter  table table_name drop  index 索引名
			
			# 约束名(外键名)和索引名一样

2.1 添加外键约束

2.1.1 建表前添加外键约束

-- 班级表
create table class(
	id int primary key,
	name varchar(20)
);
-- 学生表
create table student(
		id int primary key,
		name varchar(20),
		class_id int,
		foreign key(class_id) references class(id) #建表前添加外键约束
);

describe user # 查找约束

2.1.2 建表后添加外键约束
-- alter table 表1
-- add FOREIGN KEY(表1的关联列) 或者 add constraint 外键名 FOREIGN KEY(表1的关联列)
-- references 表2(表2的关联列);
	
alter table table_name
add FOREIGN KEY(column_name) 
references table_name(clolumn_name);
	
describe user # 查找约束

2.2 删除外键约束

-- alter table 表
-- drop FOREIGN KEY 表的外键名(可以通过 #show create table 表名;# 命令行查找外键名);

alter table student
drop FOREIGN KEY student_fk_name;

describe user # 查找约束

3. 自增约束

 -- 添加:alter table table_name  modify 列名 int  auto_increment
     -- 删除:alter table table_name modify 列名 int

3.1 添加自增约束

-- 3.1.1 建表前添加自增约束
drop table if exists user;
create table user(
	id int primary key auto_increment, # auto_increment
	name varchar(20)
);
describe user # 查找约束

3.1.2 建表后添加自增约束

create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束
0




3.2 删除自增约束

create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束
1

4 唯一约束

create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束
2

4.1 添加唯一约束

4.1.1 建表前添加唯一约束
约束修饰字段的值不能重复
create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束
3




4.1.2 建表后添加唯一约束
create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束
4

4.2 删除唯一约束

create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束
5

5. 非空约束

create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束
6

5.1 添加非空约束

5.1.1 建表前添加非空约束
create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束
7

5.1.2 建表后添加非空约束
create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束
8

5.2 删除非空约束

create table user(
	id int primary key, # primary key
	name varchar(20)
);

describe user # 查找约束
9

6. 默认约束

6. 添加默认约束

	
 --  alter table 表名 add primary key(字段名)
	alter table user add primary key(id)
 -- alter table 表名 modify 字段 字段类型 primary key	
	alter table user modify id int primary key
	
	describe user # 查找约束
	
0
6.1.1 建表前添加默认约束
当我们插入字段时候,如果没有传值,就会使用默认值
	
 --  alter table 表名 add primary key(字段名)
	alter table user add primary key(id)
 -- alter table 表名 modify 字段 字段类型 primary key	
	alter table user modify id int primary key
	
	describe user # 查找约束
	
1

6.1.2 建表后添加默认约束
	
 --  alter table 表名 add primary key(字段名)
	alter table user add primary key(id)
 -- alter table 表名 modify 字段 字段类型 primary key	
	alter table user modify id int primary key
	
	describe user # 查找约束
	
2

6.2 删除默认约束

	
 --  alter table 表名 add primary key(字段名)
	alter table user add primary key(id)
 -- alter table 表名 modify 字段 字段类型 primary key	
	alter table user modify id int primary key
	
	describe user # 查找约束
	
3

7 alter 如何改变<字段名>和<字段类型>以及<表名>

	
 --  alter table 表名 add primary key(字段名)
	alter table user add primary key(id)
 -- alter table 表名 modify 字段 字段类型 primary key	
	alter table user modify id int primary key
	
	describe user # 查找约束
	
4

	
 --  alter table 表名 add primary key(字段名)
	alter table user add primary key(id)
 -- alter table 表名 modify 字段 字段类型 primary key	
	alter table user modify id int primary key
	
	describe user # 查找约束
	
5





关注公众号,有惊喜哦!