MySql 数据库约束
1.1约束类型
- NOT NULL 表明该列不能为NULL
- UNIQUE 保证某列每行有的值是唯一的
- DEFAULT 规定没有给值得列得默认值
- PRIMARY KEY 关键值,为NOT NULL 和 UNIQUE的结合
- FOREIGN KEY 后面细说
NOT NULL和UNIQUE
都是在参数名后加NOT NULL或者UNIQUE
使用方法:
create table student(name varchar(20) NOT NULL);这样之后 就不会出现名字为空的情况
create table student(name varchar(20) UNIQUE);这样之后 就不会出现名字重复的情况
DEFAULT
使用方法:
(参数名 参数类型 DEFAULT '规定默认值')
eg.create table student(name varchar(20) UNIQUE 'unknow') 将name的默认值修改为unknow
PRIMARY KEY:主键约束
eg.create table student(name varchar(20) PRIMARY KEY)
将名字作为主键,使用之后名字就不会出现重名或者名字为空的情况了
FOREIGN KEY:外键约束
语法:
foreign key (字段名) references 主表(列)
通俗的用例子解释:
create table student(name varchar(20));
create table score
(stu_name varchar(20),math int,foreign key(stu_name) references student(name));
创建了一个分数表和一个学生表,将score表的stu_name使用student表的学生姓名约束,这样一约束的话,插入到分数表的数据的 stu_name 就必须在student表中的 name 中存在,否则就无法插入该数据。