mysql之表的约束

   日期:2020-08-07     浏览:88    评论:0    
核心提示:表的约束主键约束设置主键约束(primary key)的第一种方式设置主键约束(primary key)的第二种方式设置主键约束(primary key)的第三种方式非空约束唯一性约束AUTO_ INCREMENT约束默认值约束主键约束主键约束即primary key用于唯一的标识表中的每一行。被标识为主键的数据在表中是唯一的且其值不能为空。这点类似于我们每个人都有一个身份证号,并且这个身份证号是唯一的。主键约束基本语法:字段名 数据类型 primary key;设置主键约束(primary

表的约束

      • 主键约束
            • 设置主键约束(primary key)的第一种方式
            • 设置主键约束(primary key)的第二种方式
            • 设置主键约束(primary key)的第三种方式
      • 非空约束
      • 唯一性约束
      • AUTO_ INCREMENT约束
      • 默认值约束

主键约束

主键约束即primary key用于唯一的标识表中的每一行。被标识为主键的数据在表中是唯一的且其值不能为空。

这点类似于我们每个人都有一个身份证号,并且这个身份证号是唯一的。

主键约束基本语法:

字段名 数据类型 primary key;

设置主键约束(primary key)的第一种方式

CREATE TABLE student(
id int primary key,
name varchar(50)
);

在该方式中将id字段设置为主键,请参见第2行代码

设置主键约束(primary key)的第二种方式

CREATE TABLE student(
id int,
name varchar(50),
primary key(id)
);

在该方式中,先定义了字段id,然后设置该字段为主键,请参见第4行代码。
若采用该方式非常便于设置联合主键,请看如下示例:

CREATE TABLE student(
classid int,
studentid int,
name varchar(50),
primary key(classid,studentid)
);

在该示例中,将classid和studentid定义为联合主键,请参见第5行代码。

请注意:不要把联合主键理解成两个主键;它们是以两个字段联合的形式作为主键。也就是说:这两者共同决定了数据的唯一性。例如,

在该实例student表中任意两条数据的classid可能相同或者studentid相同;但是,不允许两条数据的classid和studentid都相同

设置主键约束(primary key)的第三种方式

CREATE TABLE student(
id int,
name varchar(50)
);
ALTER TABLE student ADD PRIMARY KEY (id);

在该示例中,先创建了表,然后利用ALTER语句设置id字段为主键.

非空约束

非空约束即 NOT NULL指的是字段的值不能为空,基本的语法格式如下所示:

字段名 数据类型 NOT NULL;

示例如下:

CREATE TABLE student(
id int PRIMARY KEY,
name varchar(50) NOT NULL,
gender varchar(10)
);

在该示例中设定name字段为NOT NULL,所以在插入数据时必须为该字段设值。

唯一性约束

唯一性约束即UNIQUE用于保证数据表中字段的唯一性,即表中字段的值不能重复出现,其基本的语法格式如下所示:

字段名 数据类型 UNIQUE;

示例如下:

CREATE TABLE student(
id int primary key,
name varchar(50) unique
);

在该示例中利用unique关键字为字段name添加唯一约束

AUTO_ INCREMENT约束

在实际开发过程中,常有这样的需求:希望某个字段的值自动生成并且是唯一的。也就是说:想为表中插入的新记录自动生成唯一的ID。此时,可采用AUTO_ INCREMENT约束来实现。AUTOJNCREMENT约束的字段可以是任何整数类型。 默认情况下,该字段的值是从**1**开始自增的。在执行插入语句时候不必为AUTO_ INCREMENT约束的字段赋值,它会自动增加;其基本的语法格式如下所示:

字段名 数据类型 AUTO_ INCREMENT;

示例如下:

CREATE TABLE student(
id int primary key auto_increment,
name varchar(50)
);

在该示例中将主键id设置为auto_increment,那么该字段的值会自动地增长。执行插入:

insert into student (name) values(‘lucy’); insert into student (name)
values(‘tom’);

默认值约束

默认值约束即DEFAULT用于给数据表中的字段指定默认值,即当在表中插入一条新记录时若未给该字段赋值,那么,数据库系统会自动为这个字段插人默认值;其基本的语法格式如下所示:

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

示例如下:

CREATE TABLE student(
id INT PRIMARY KEY,
name VARCHAr(50) NOT NULL UNIQUE,
gender VARCHAr(10) DEFAULT ‘女’ );

在该示例中为gender字段设值了默认值,所以可以用如下方式插入数据:

insert into student(id,name) values(1,'toc');
insert into student(id,name,gender) values(2,'jok','男');
insert into student(id,name,gender) values(3,'jerry',default);
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服