MySQL>约束

--约束
	概念:对表中的数据进行限定
	分类
		主键约束
			primary --> 
			-- 创建表时,创建主键
			--> create table student_04(
				id int(10) primary key,
				name varchar(10)
			);
			-- 创建表后创建
			--> alter table student_04 modify id int(10) primary key;
			--> alter table student_04 change id id int(10) primary key;
			
			-- 删除主键
			--> alter table student_04 drop primary key;
			
			
		主键约束
			自动增长
			--> --> create table student_02(
				id int(10) primary key auto_increment,
				name varchar(10)
			);
			-- 创建表后创建
			--> alter table student_02 modify id int(10) auto_increment;
			--> alter table student_02 change id id int(10) auto_increment;
			
			-- 删除自动增长
			--> alter table student_02 modify id int(10);
			--> alter table student_02 change id id int(10);
			
		非空约束
			not null  
			--> 创建表时,创建非空约束
			--> create table table_name(
					id int(10);
					name varchar(10) not null
				)
			--> 创建表后创建非空约束
				alter table table_name change old_column_name new_column_name Type not null;
				alter table table_name modify old_column_name Type not null;
				
			--> 删除非空约束
				alter table table_name modify old_column_name Type;
				alter table table_name change old_column_name old_column_name Type;
				
				
		唯一约束
			unique -->
			-- 创建表时创建
			--> create table table_name(
				id int(10),
				phone_number varchar(20) unique
			)
			-- 创建表后创建
			--> alter table table_name modify phone_number varchar(20) unique;
			--> alter table table_name change phone_number phone_number varchar(20) unique;
			
			-- 删除唯一约束(索引)
			--> alter table table_name drop index phone_number;
			
		外键约束
			foreign key --> 
			-- 创建表时创建外键
			create table table_name(
				... 
				外键字段
					constraint 外键名称 foreign key 外键字段 references 需要关联的主表名称( 主表列名称 );
					-- 	constraint foreign_keyName foreign key This_Table_foreign_key_Field 
						references Foreign_Table(Foreign_Table_Field);
			);
			-- 创建表后创建外键
			-->	alter table table_name add constraint 本表外键名称 foreign key 本表外键字段 
				references 需要关联的主表名称( 主表列名称 );
			-->	alter table table_name add constraint foreign_keyName foreign key This_Table_foreign_key_Field 
				references Foreign_Table(Foreign_Table_Field);
				
			-- 创建表之后创建联级更新
			-->	alter table 表名 add constraint 自己写个外键名称 foreign key (本表外键字段) 
				references 需要关联的主表名称(主表列名称) on update cascade ;
				
			-- 创建联级更新之后,创建级联删除
			-->	alter table 表名 add constraint 自己写个外键名称 foreign key (本表外键字段) 
				references 需要关联的主表名称(主表列名称) on update cascade ;
			
			-- 删除外键
			-- >alter table table_name drop foreign key 外键名称;

猜你喜欢

转载自blog.csdn.net/weixin_43309893/article/details/116532796