1. not null
创建表的时候在对应变量类型后面加上“not null”字样,这样在添加这一变量的时候,就不能为空了。
create table student( id int not null, name varchar(20), score decimal(3,1) );
如果在这一列中插入null,就会报错
2. unique
创建表的时候在对应变量类型后面加上“unique”字样,表示该列的所有行是不能重复的,当插入重复数据的时候就会报错。
create table student( id int unique, name varchar(20), score decimal(3,1) );
3. default
给列指定默认值
create table student( id int not null, name varchar(20) default ‘unknown’ );
4. primary key
主键约束,等价于“not null unique”
create table student( id int primary key, name varchar(20), score decimal(3,1) );
一般建议,创建每张表的时候都指定主键
5. auto_increment
人工无法保证插入数据不重复,可以借助“auto_increment”来自动生成。如果表中没有记录,自增就从1开始,如果有记录了,自增从上一条记录往下增。
插入数据时:
如果把中间的某个数据删了,再插入元素时,刚才删除的那个自增主键的值不会重复利用。
6. foreign key
外键,涉及到两张表之间的关联关系
建立两个表
代码语言:javascript复制create table class (id int primary key auto_increment,name varchar(20));
create table student (id int primary key auto_increment,name varchar(20),classId int,foreign key(classId) references class(id));
插入数据:
查看两个表数据
如果插入一个超过四个班级的班级,那么就会报错
使用外键,会对插入操作的效率产生一定的影响,同时外键约束也会影响表的删除。以上两个表中,class表被其他表依赖着,就无法被删除。