主键
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值。非空约束可与其它约...
- 上期聊了数据库约束的概念与主键的使用,今天我们一起看其它约束。 Ø唯一约束 设定了唯一约束的列值不能重复与主键有些...
- 为了保证数据的有效性和完整性,在对数据增加、修改、删除时要设定一些规则,我们称这些规则为约束。 数据库中的约束分成...