码迷,mamicode.com
首页 > 其他好文 > 详细

4.表的约束

时间:2021-05-24 17:06:38      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:整数   sql   temp   类型   条件   uniq   key   复合   str   

4 .表的约束

为了防止数据表中插入错误的数据 ,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束。

 

我在这里列举一下约束条件和说明啊:

约束条件

说            明

PRIMARY KEY

主键约束,用于唯一标识对应的记录

FPREIGN KEY

外键约束

NOT NULL

非空约束

UNIQUE

唯一性约束

DEFAULT

默认值约束,用于设置字段的默认值

 

这些约束条件都是针对表中的字段进行限制,从而保证表中数据的正确性和唯一性。

因为FPREIGN KEY 外键设计到多表操作,这里除了它,先详细介绍其他的:

 

  1. 主键约束

为了快速能找到某条信息,可以通过设置主键来实现。

主键约束是通过 PRIMARY KEY 来定义的,它可以唯一标识表中的记录,这就好比身份证可以用来标识人的身份一样,在MySQL中,主键分为两种:

l  1??单字段主键

他是由一个字段构成的主键,语法如下:

字段名 数据类型 PRIMARY KEY

例【在创建表时 顺带加进去 – 创建一个名字为bihu_temp的表 并且将 id 设为 主键】

CREATE TABLE      bihu_temp(

id INT PRIMARY KEY,

name VARCHAR(20),

gread FLOAT

);

 

l  2多字段主键(复合主键)

多字段主键是指多个字段组合而成的主键,语法:

PRIMARY KEY(字段名1, 字段名1,… 字段名n)

例【在创建表时在底部加进去 :创建一个名字为bihu_temp1的表并且将id和grade设为主键】

 

 

 

 

 

 

CREATE TABLE bihu_temp1(

id INT,

age INT,

sex char(0),

grade FLOAT,

PRIMARY KEY(id,grade)

);

 

Tips:一个表中只能有一个主键约束,定义为 PRIMARY KEY 的字段不能有重复的值且不能为NULL(空)。

 

 

 

 

  1. 非空约束

非空约束指的是字段的值不能为NULL,在MySQL中,非空约束是用NOT NULL 来定义的 语法如下:

字段名 数据类型 NOT NULL;

例: 创建一个名为bihu_notnull的表 将他的name属性设置非空约束 即名字不能为空

CREATE TABLE bihu_notnull(

id INT,

name VARCHAR(20) NOT NULL

);

 

 

  1. 唯一约束

它能保证字段的唯一性,即字段的值不能重复出现,就好像身份证 不可能有一样的

唯一约束用UNIQUE定义,语法如下:

字段名 数据类型 UNIQUE;

例:创建一个名为bihu_notnull的表将他的number属性设置唯一约束 即number不能重复

CREATE TABLE bihu_notnull(

id INT,

number VARCHAR(17) UNIQUE

);

 

 

  1. 默认约束

默认约束用于给数据表指定默认值、即当在表中插入一条记录时,如果没给这个字段赋值,那么系统会自动给这个字段插入默认值,默认值是通过DEFAULT关键字定义的:

语法:    字段名 数据类型 DEFAULT 默认值;

 

 

例:创建一个名为bihu_notnull的表将他的grade属性设置默认值

CREATE TABLE bihu_notnull(

id INT NOT NULL,

number VARCHAR(17) UNIQUE,

grade FLOAT DEFAULT 0

);

 

 

  1. 设置表的字段自动增长

自动增长一般用在主键 ID ,他是用AUTO_INCREMENT约束来实现的。

AUTO_INCREMENT约束 的字段可以是任何整数类型。

默认情况下,该字段的值是从1开始中增的,语法:

字段名 数据类型 AUTO_INCREMENT;

例:创建一个名为bihu_notnull的表将他的id设置为自增长,还有其他约束…

CREATE TABLE bihu_notnull(

id INT PRIMARY KEY AUTO_INCREMENT UNIQUE  NOT NULL,

number VARCHAR(17) UNIQUE,

grade FLOAT DEFAULT 0

);

 

 

标的约束暂且就那么多 其实要多用就会了 忘记了记得回来看

 

4.表的约束

标签:整数   sql   temp   类型   条件   uniq   key   复合   str   

原文地址:https://www.cnblogs.com/bi-hu/p/14788429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!