Mysql 零距离-入门(六)数据唯一约束性

栏目: 数据库 · 发布时间: 6年前

内容简介:在数据记录中我们为保证数据的唯一性,保证用户数据在数据中不出现重复记录。我们需要用到Mysql的主键一张数据表中只能存在一个主键字段。并且类型必须为数字。可是设为

在数据记录中我们为保证数据的唯一性,保证用户数据在数据中不出现重复记录。我们需要用到 Mysql 的主键 key ,唯一约束。

主键约束 PRIMARY KEY

一张数据表中只能存在一个主键字段。并且类型必须为数字。可是设为 float 类型,但小数点值必须为0和传入此字段的重复值。它可以很好保证我们记录的唯一性,主键字段自动为 NOT NULL

现在,我们来创建一张新的数据表tb3,并设定一个主键字段

CREATE TABLE tb3(
    id SMALLINT UNSIGNED PRIMARY KEY,
    name VARCHAR(20),
    sex ENUM('1','2','3') DEFAULT '3'
    );

Mysql 零距离-入门(六)数据唯一约束性

创建数据表成功,现在我们来插入两段用户数据。

INSERT tb3 VALUES(5,'大毛','1');
INSERT tb3 VALUES(10,'小李','1');

输出记录

SELECT * FROM tb3;

Mysql 零距离-入门(六)数据唯一约束性

可以看到我们刚刚的记录插入成功了,现在我们来入 id 值5的记录看看会怎么样

INSERT tb3 VALUES(5,'小明','2');

Mysql 零距离-入门(六)数据唯一约束性

mysql报错:主键以存在重复的‘5’值,所以刚刚插入记录失败了。主键保证了我们数据的唯一性。

自动编号 AUTO_INCREMENT

每一次都要手动为主键赋值非常不方便,而且当我们数据表中的数据非常多的时候,我们就很容易插入重复的主键值容易引发错误。所以我们这里就要用到自动编号 AUTO_INCREMENT 来为我们的主键字段进行自动编号赋值了。

  • 自动编号,必须与主键组合使用
  • 默认情况下,起始为1,每次的增量为1

下面我们来创建多一个数据表tb4

CREATE TABLE tb4(
    id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20),
    sex ENUM('1','2','3') DEFAULT '3'
    );

Mysql 零距离-入门(六)数据唯一约束性

数据表创建成功,现在我们来连续插入三段数据。然后把记录打印出来看看主键值

INSERT tb4(name,sex) VALUES('小丽','2');
INSERT tb4(name,sex) VALUES('大理','1');
INSERT tb4(name,sex) VALUES('小明同学','1');
SELECT * FROM tb4;

Mysql 零距离-入门(六)数据唯一约束性

可以看到主键值已经自动编号1~3了。

唯一约束 UNIQUE KEY

唯一约束性在一个数据表中可以存在多个字段,但是每个字段值中的集合不能出现重复值,并且可为NULL。就好像我们网站中的用户名一样。

现在我们来创建一张新的数据表ta5

CREATE TABLE ta5(
    id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    usename VARCHAR(20) NOT NULL UNIQUE KEY,
    ega TINYINT UNSIGNED
);

插入两断用户数据

INSERT ta5(usename,ega) VALUES('小明',22);
INSERT ta5(usename,ega) VALUES('小明',20);

Mysql 零距离-入门(六)数据唯一约束性

可以看到mysql报错usename字段已经存在小明字段。所以usename已经是具有唯一约束性的字段。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Essential PHP Security

Essential PHP Security

Chris Shiflett / O'Reilly Media / 2005-10-13 / USD 29.95

Being highly flexible in building dynamic, database-driven web applications makes the PHP programming language one of the most popular web development tools in use today. It also works beautifully wit......一起来看看 《Essential PHP Security》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器