数据库约束
not null
- 指定某列的存储不能为null值
unique
- 保证某列的每行必须有唯一的值
default
- 规定给列赋值时的默认值
primary key 主键
- 主键约束,是not null 与 unique 的结合,确保某列的每行的赋值不能为null 并且是唯一的
foreign key 外键
- 外键约束,保证一个表中的数据匹配另一个表中的值参照完整性.
- 一般习惯放到最后
- 外键约束会影响表的删除,例如下面实例的class表被关联,所以他不能被轻易删除
数据库约束实例
mysql> create table class (
-> id int primary key,
-> name varchar(20) not null
-> );
Query OK, 0 rows affected (0.04 sec)
mysql> create table student (
-> id int primary key,
-> name varchar(20) not null,
-> email varchar(20) default 'unknow',
-> QQ varchar(20) unique,
-> classId int , foreign key (classId) references class(id)
-> );
Query OK, 0 rows affected (0.03 sec)
mysql> desc class;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(20) | NO | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.02 sec)
mysql> desc student;
+---------+-------------+------+-----+---------

本文详细介绍了MySQL数据库约束,包括not null、unique、default、primary key和foreign key,并通过实例展示了它们的用法。此外,还探讨了表的设计策略,如一对一、一对多和多对多关系,并给出了多对多关系的建表实例和数据插入操作。
最低0.47元/天 解锁文章
6351

被折叠的 条评论
为什么被折叠?



