主键
insert into user values(1, 'ZhangSanFeng');
Query OK, 1 row affected (0.00 sec)
insert into user values(1, 'ZhangSanFeng');
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
联合主键
create table user2(id int, name varchar(20), passwd varchar(20), primary key(id, name));
insert into user2 values(1, 'zhangsan', '123’);
insert into user2 values(2, 'zhangsan', '123’);
自增约束
create table user3(id int primary key auto_increment, name varchar(20));
insert into user3 (name) values('ZhangSan’);
忘记创建主键约束
alter table user4 add primary key(id);
alter table user4 drop primary key;
唯一约束
alter table user5 add unique(name);
create table user6(id int, name varchar(20),unique(name));
create table user7(id int, name varchar(20) unique);
create table user8(id int, name varchar(20), unique(id, name));
//两个在一起不重复就OK删除唯一约束
alter table user8 drop index id;添加alter table user7 modify name varchar(20) unique;
对所有约束都适用
1建表时添加约束
2 alter add
3 alter modify
4删除 alter drop
非空约束
create table user9(id int, name varchar(20) not null);
默认约束
没有传值使用默认值
create table user10(id int, name var char(20), age int default 10);
外键约束涉及到两个表,父表,子表主表,父表
create table classes(id int primary key, name varchar(20));
create table students(id int primary key, name varchar(20), class_id int, foreign key(class_id) references classes(id));
insert into classes values(1, '一班');
insert into classes values(2, '二班');
insert into classes values(3, '三班');
insert into classes values(4, '四班’);
insert into students values(1001, 'Zhangsan', 1);
insert into students values(1002, 'Zhangsan', 2);
insert into students values(1003, 'Zhangsan', 3);
insert into students values(1004, 'Zhangsan', 4);
1 主表classes中没有的数据值在附表中是不可以使用的
2 主表中的记录被父表引用是不可以被删除的
delete from classes where id = 4;
Cannot delete or update a parent row: a foreign key constraint fails
数据库约束
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Ø非空约束 除了指定主键约束的列其它列都可以插入NULL值,我们可以使用非空约束限制NULL值。非空约束可与其它约...
- 上期聊了数据库约束的概念与主键的使用,今天我们一起看其它约束。 Ø唯一约束 设定了唯一约束的列值不能重复与主键有些...
- 为了保证数据的有效性和完整性,在对数据增加、修改、删除时要设定一些规则,我们称这些规则为约束。 数据库中的约束分成...