MySql教程

MYSQL表的约束

本文主要是介绍MYSQL表的约束,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一.什么是约束

在创建表的时候,给表中的字段数据加上一点条件。

二.表的四种约束

1.非空约束

非空约束是让表的字段不能为空。

举例实现:

create table students(
    id int;
    name varchar(20) not null
);

创建表时在字段的数据类型后加not null,来限制该字段的值不能为空。若该表插入信息name为空则会报错。

2.唯一性约束

唯一性约束是让表的字段的值不会重复。(null可以重复)

(1)当一个字段具有唯一性时

举例说明:

create table students(
    id int unique;
    name varchar(20) 
);

创建表时在字段的数据类型后加unique,来限制该字段得值不会重复。若插入id的值已经存在(null除外),则会报错。

(2)当两个字段联合起来具有唯一性时

举例实现:

create table students(
    id int ;
    name varchar(20) ;
    unique(id,name)
);

创建表时加入unique(字段名,字段名),来限制该两个字段的值联合唯一。若插入id和name的值与已存在某条数据的id和name相同(null除外),则会报错。

3.主键约束

主键约束是让表的某个字段作为主键字段,主键字段不能为空不能重复。

(1)一个字段做主键(单一主键)

举例实现:

create table students(
    id int primary key;
    name varchar(20) 
);

创建表时在字段的数据类型后加primary key,把该字段设置为主键。

(2)两个字段联合起来做主键(复合主键)

举例实现:

create table students(
    id int;
    name varchar(20);
    primary key(id,name) 
);

创建表时加primary key(字段名,字段名),两个字段联合设置为主键。(不建议用复合主键)

4.外键约束

外键约束是让一个表的某个字段作为外键字段,该外键字段受到外键约束,外键约束是外键值在另一个表中的某字段的值中存在。

举例实现:

create table class(
   classno int;
   classname varchar(255)
);
create table students(
   id int primary key;
   name varchar(255);
   cn int;
   foreign key(cn) references class(classno)
);

创建表时加foreign key(字段名) references class(字段名),实现外键约束。student表中的cn字段是外键字段,受到外键约束,cn的外键值只能是class表中classno字段中存在的值。若添加时cn字段的值不是是class表中classno字段中存在的值,则会报错。

这篇关于MYSQL表的约束的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!