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已经是具有唯一约束性的字段。


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

查看所有标签

猜你喜欢:

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

Python高性能编程

Python高性能编程

【美】 戈雷利克 (Micha Gorelick)、【美】 欧日沃尔德(Ian Ozsvald) / 人民邮电出版社 / 2017-7-1 / 79

本书共有12章,围绕如何进行代码优化和加快实际应用的运行速度进行详细讲解。本书主要包含以下主题:计算机内部结构的背景知识、列表和元组、字典和集合、迭代器和生成器、矩阵和矢量计算、并发、集群和工作队列等。最后,通过一系列真实案例展现了在应用场景中需要注意的问题。 本书适合初级和中级Python程序员、有一定Python语言基础想要得到进阶和提高的读者阅读。一起来看看 《Python高性能编程》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具