数据约束:对用户操作数据表的约束
1.默认值
作用:当用户对使用默认值的字段不插入值的时候,就使用默认值
create table student( id int, name varchar(20), address varchar(20) ) insert into student (id,name) values(1,"cxspace");
不插入address,显示值为 NULL
drop table student create table student( id int, name varchar(20), address varchar(20) default ‘阿富汗‘ --默认值约束 )
当执行上面的insert的时候,mysql自动未为没有插入值的字段,插入default值
inset into student (id , NAME , address) values(1,‘奥巴马‘,NULL) //执行该语句,address字段值显示为null
注意:默认值字段允许为空!!!
2.非空
create table student( id int, name varchar(20), gender varchar(2) not null --非空约束 )
执行
insert into student( id , name) values (1,‘haha‘);
一.报错,说明指定未非空的字段必须赋值
insert into student (id ,name , gender) values (2 , ‘mike‘ , null);
二.报错,非空字段不能赋予null值
3.唯一
create table student( id int unique, ---唯一约束 name varchar(20), )
执行
insert into student (1,‘tom‘); insert into student (1,‘jack‘); //执行这个语句报错
违反唯一约束报错
执行
insert into student(name) values(‘jhon‘);
不报错,唯一可以不给值
如果在执行一次上面语句,包不报错???
不报错,唯一约束对NULL值不起作用
总结:唯一的字段可以插入null值,也可以插入多个null值
4.主键(非空+唯一)
create table student ( id int primary key, --主键 name varchar(20) )
执行下面语句
insert into student(name) values (‘lisi‘);
报错===违反非空约束
执行下面语句
insert into student (1,‘tom‘); insert into student (1,‘jack‘); //执行这个语句报错
报错===违反唯一约束
通常情况下
1===每张表都会设置一个主键字段,用以标记表中每条字段的唯一性.
2===建议不要选取包含业务含义的字段作为主键,给每张表设计一个非业务含义的id字段.
5.自增长
6.外键
时间: 2024-10-12 22:34:53