MySQL约束
1、非空约束
建表时加:create table szt1(name varchar(20) not null,age int(5));
删除:alter table szt1 modify name varchar(20);
建表后加:alter table szt1 modify name varchar(20) not null;
2、唯一约束 只能有一个不能重复
建表时加:create table szt1 (name varchar(20) unique,age int(5));
删除:alter table szt1 drop index name;
建表后加: alter table szt1 add constraint unique(name);
在使用这种约束之前最好把之前列的约束都去掉(演示的时候最好把之前的数据也清除)
给多列增加唯一约束: alter table pers1 add constraint unique(name,age);
3、主键(作为某一行数据的唯一标识(标志))约束 唯一,非空,一张表只有一个主键 常用的主键类型是整数或者字符串
建表时加:create table szt1 (name varchar(20) primary key,age int(5) );
演示主键列的非空
演示主键列的唯一
演示创建一张表两个主键列
删除: alter table szt1 drop primary key;
建表后加:alter table szt1 add constraint primary key(name); 联合主键:create table pers3 (name varchar(20),age int(5),primary key(name,age));
两列都不许为null 两列不允许同时重复
4、自动增长:一般给数字列加,并且只能给主键列加
建表时加:create table szt1 (id int(5) primary key auto_increment,name varchar(20));
删除:alter table szt1 modify id int(5);
建表后加: alter table szt1 modify id int(5) auto_increment;
设置默认值
create table test8(data1 varchar(10) default 'hehe',data2 int(10) default 123);
5、区分大小写
create table users1 (name varchar(5) binary primary key,age int(3));
删除: alter table users1 modify name varchar(5)