精华内容
下载资源
问答
  • MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。在创建表时设置唯一约束在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下: ...

    MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。

    9b43db1c3a9efc403ff53f126276ff28.png

    在创建表时设置唯一约束

    在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下: UNIQUE

    创建数据表 tb_dept2,指定部门的名称唯一,输入的 SQL 语句和运行结果如下所示。mysql> CREATE TABLE tb_dept2 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22) UNIQUE, -> location VARCHAR(50) -> );Query OK, 0 rows affected (0.37 sec)mysql> DESC tb_dept2;+----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+-------+| id | int(11) | NO | PRI | NULL | || name | varchar(40) | YES | UNI | NULL | || location | varchar(50) | YES | | NULL | |+----------+-------------+------+-----+---------+-------+3 rows in set (0.08 sec)

    提示:UNIQUE 和 PRIMARY KEY 的区别:一个表可以有多个字段声明为 UNIQUE,但只能有一个 PRIMARY KEY 声明;声明为 PRIMAY KEY 的列不允许有空值,但是声明为 UNIQUE 的字段允许空值的存在。

    在修改表时添加唯一约束

    在修改表时添加唯一约束的语法格式为:ALTER TABLE ADD CONSTRAINT UNIQUE();

    修改数据表 tb_dept1,指定部门的名称唯一,输入的 SQL 语句和运行结果如下所示。mysql> ALTER TABLE tb_dept1 -> ADD CONSTRAINT unique_name UNIQUE(name);Query OK, 0 rows affected (0.63 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> DESC tb_dept1;+----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+-------+| id | int(11) | NO | PRI | NULL | || name | varchar(22) | NO | UNI | NULL | || location | varchar(50) | YES | | NULL | |+----------+-------------+------+-----+---------+-------+3 rows in set (0.00 sec)

    假设有一个需求是用户给评论点赞,数据库设计是三张表,用户表t_user,评论表t_comment,点赞表t_praise,其中点赞表中有两个外键分别是user_id和comment_id,分别关联用户表的用户id和评论表的评论id,然后规定一个用户只能给同一条评论点赞一次,有一种实现方式就是在插入点赞表之前,先通过user_id和comment_id查询是否有点赞记录,如果没有的话,再执行插入操作,否则返回您已经点过赞了.这样实现的话就会多一次数据库查询操作.更好的实现是,修改点赞表的user_id和comment_id为唯一约束,即这两列不能同时相同,这样在执行插入操作的话,如果已经点过赞了,数据库会抛出违反了唯一键约束,这样的话,就可以避免多一次数据库查询操作了.具体设置多列为唯一约束的语句是:UNIQUE KEY (,...,)CREATE TABLE `t_praise` ( `id` int(12) unsigned NOT NULL AUTO_INCREMENT, `comment_id` int(12) NOT NULL, `user_id` int(12) NOT NULL, KEY `FK_t_praise_comment` (`comment_id`), KEY `FK_t_praise_user` (`user_id`), UNIQUE KEY `UK_praise` (`comment_id`,`user_id`))

    展开全文
  • MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。在创建表时设置唯一约束在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下: ...

    MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。

    00f04d11b925f8cc0e266d67ca27837f.png

    在创建表时设置唯一约束

    在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下: UNIQUE

    创建数据表 tb_dept2,指定部门的名称唯一,输入的 SQL 语句和运行结果如下所示。mysql> CREATE TABLE tb_dept2

    -> (

    -> id INT(11) PRIMARY KEY,

    -> name VARCHAR(22) UNIQUE,

    -> location VARCHAR(50)

    -> );

    Query OK, 0 rows affected (0.37 sec)

    mysql> DESC tb_dept2;

    +----------+-------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +----------+-------------+------+-----+---------+-------+

    | id | int(11) | NO | PRI | NULL | |

    | name | varchar(40) | YES | UNI | NULL | |

    | location | varchar(50) | YES | | NULL | |

    +----------+-------------+------+-----+---------+-------+

    3 rows in set (0.08 sec)

    提示:UNIQUE 和 PRIMARY KEY 的区别:一个表可以有多个字段声明为 UNIQUE,但只能有一个 PRIMARY KEY 声明;声明为 PRIMAY KEY 的列不允许有空值,但是声明为 UNIQUE 的字段允许空值的存在。

    在修改表时添加唯一约束

    在修改表时添加唯一约束的语法格式为:ALTER TABLE ADD CONSTRAINT UNIQUE();

    修改数据表 tb_dept1,指定部门的名称唯一,输入的 SQL 语句和运行结果如下所示。mysql> ALTER TABLE tb_dept1

    -> ADD CONSTRAINT unique_name UNIQUE(name);

    Query OK, 0 rows affected (0.63 sec)

    Records: 0 Duplicates: 0 Warnings: 0

    mysql> DESC tb_dept1;

    +----------+-------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +----------+-------------+------+-----+---------+-------+

    | id | int(11) | NO | PRI | NULL | |

    | name | varchar(22) | NO | UNI | NULL | |

    | location | varchar(50) | YES | | NULL | |

    +----------+-------------+------+-----+---------+-------+

    3 rows in set (0.00 sec)

    假设有一个需求是用户给评论点赞,数据库设计是三张表,用户表t_user,评论表t_comment,点赞表t_praise,其中点赞表中有两个外键分别是user_id和comment_id,分别关联用户表的用户id和评论表的评论id,然后规定一个用户只能给同一条评论点赞一次,有一种实现方式就是在插入点赞表之前,先通过user_id和comment_id查询是否有点赞记录,如果没有的话,再执行插入操作,否则返回您已经点过赞了.这样实现的话就会多一次数据库查询操作.更好的实现是,修改点赞表的user_id和comment_id为唯一约束,即这两列不能同时相同,这样在执行插入操作的话,如果已经点过赞了,数据库会抛出违反了唯一键约束,这样的话,就可以避免多一次数据库查询操作了.具体设置多列为唯一约束的语句是:UNIQUE KEY (,...,)CREATE TABLE `t_praise` (

    `id` int(12) unsigned NOT NULL AUTO_INCREMENT,

    `comment_id` int(12) NOT NULL,

    `user_id` int(12) NOT NULL,

    KEY `FK_t_praise_comment` (`comment_id`),

    KEY `FK_t_praise_user` (`user_id`),

    UNIQUE KEY `UK_praise` (`comment_id`,`user_id`)

    )

    展开全文
  • MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。在创建表时设置唯一约束在定义完列之后直接使用UNIQUE关键字指定唯一约束,语法规则如下: ...

    MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。

    在创建表时设置唯一约束

    在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下:

    UNIQUE

    【实例 1】创建数据表 tb_dept2,指定部门的名称唯一,输入的 SQL 语句和运行结果如下所示。

    mysql> CREATE TABLEtb_dept2->(-> id INT(11) PRIMARY KEY,-> name VARCHAR(22) UNIQUE,-> location VARCHAR(50)->);

    Query OK,0 rows affected (0.37sec)

    mysql> DESCtb_dept2;+----------+-------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +----------+-------------+------+-----+---------+-------+

    | id | int(11) | NO | PRI | NULL | |

    | name | varchar(40) | YES | UNI | NULL | |

    | location | varchar(50) | YES | | NULL | |

    +----------+-------------+------+-----+---------+-------+

    3 rows in set (0.08 sec)

    提示:UNIQUE 和 PRIMARY KEY 的区别:一个表可以有多个字段声明为 UNIQUE,但只能有一个 PRIMARY KEY 声明;声明为 PRIMAY KEY 的列不允许有空值,但是声明为 UNIQUE 的字段允许空值的存在。

    在修改表时添加唯一约束

    在修改表时添加唯一约束的语法格式为:

    ALTER TABLE ADD CONSTRAINT UNIQUE();

    【实例 2】修改数据表 tb_dept1,指定部门的名称唯一,输入的 SQL 语句和运行结果如下所示。

    mysql> ALTER TABLEtb_dept1-> ADD CONSTRAINT unique_name UNIQUE(name);

    Query OK,0 rows affected (0.63sec)

    Records:0 Duplicates: 0 Warnings: 0mysql> DESCtb_dept1;+----------+-------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +----------+-------------+------+-----+---------+-------+

    | id | int(11) | NO | PRI | NULL | |

    | name | varchar(22) | NO | UNI | NULL | |

    | location | varchar(50) | YES | | NULL | |

    +----------+-------------+------+-----+---------+-------+

    3 rows in set (0.00 sec)

    删除唯一约束

    在 MySQL 中删除唯一约束的语法格式如下:

    ALTER TABLE DROP INDEX ;

    【实例 3】删除数据表 tb_dept1 中的唯一约束 unique_name,输入的 SQL 语句和运行结果如下所示。

    mysql> ALTER TABLEtb_dept1-> DROP INDEXunique_name;

    Query OK,0 rows affected (0.20sec)

    Records:0 Duplicates: 0 Warnings: 0mysql> DESCtb_dept1;+----------+-------------+------+-----+---------+-------+

    | Field | Type | Null | Key | Default | Extra |

    +----------+-------------+------+-----+---------+-------+

    | id | int(11) | NO | PRI | NULL | |

    | name | varchar(22) | NO | | NULL | |

    | location | varchar(50) | YES | | NULL | |

    +----------+-------------+------+-----+---------+-------+

    3 rows in set (0.00 sec)

    展开全文
  • MySQL唯一约束

    2020-03-13 16:52:58
    MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。 在创建表时设置唯一约束 在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下...

    MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。

    在创建表时设置唯一约束

    在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下:

    <字段名> <数据类型> UNIQUE
    

    创建数据表 tb_dept2,指定部门的名称唯一,输入的 SQL 语句和运行结果如下所示。

    mysql> CREATE TABLE tb_dept2
        -> (
        -> id INT(11) PRIMARY KEY,
        -> name VARCHAR(22) UNIQUE,
        -> location VARCHAR(50)
        -> );
    Query OK, 0 rows affected (0.37 sec)
    mysql> DESC tb_dept2;
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | id       | int(11)     | NO   | PRI | NULL    |       |
    | name     | varchar(40) | YES  | UNI | NULL    |       |
    | location | varchar(50) | YES  |     | NULL    |       |
    +----------+-------------+------+-----+---------+-------+
    3 rows in set (0.08 sec)
    

    提示:UNIQUE 和 PRIMARY KEY 的区别:一个表可以有多个字段声明为 UNIQUE,但只能有一个 PRIMARY KEY 声明;声明为 PRIMAY KEY 的列不允许有空值,但是声明为 UNIQUE 的字段允许空值的存在。

    在修改表时添加唯一约束

    在修改表时添加唯一约束的语法格式为:

    ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);
    

    修改数据表 tb_dept1,指定部门的名称唯一,输入的 SQL 语句和运行结果如下所示。

    mysql> ALTER TABLE tb_dept1
        -> ADD CONSTRAINT unique_name UNIQUE(name);
    Query OK, 0 rows affected (0.63 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    mysql> DESC tb_dept1;
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | id       | int(11)     | NO   | PRI | NULL    |       |
    | name     | varchar(22) | NO   | UNI | NULL    |       |
    | location | varchar(50) | YES  |     | NULL    |       |
    +----------+-------------+------+-----+---------+-------+
    3 rows in set (0.00 sec)
    

    删除唯一约束

    在 MySQL 中删除唯一约束的语法格式如下:

    ALTER TABLE <表名> DROP INDEX <唯一约束名>;
    

    删除数据表 tb_dept1 中的唯一约束 unique_name,输入的 SQL 语句和运行结果如下所示。

    mysql> ALTER TABLE tb_dept1
        -> DROP INDEX unique_name;
    Query OK, 0 rows affected (0.20 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    mysql> DESC tb_dept1;
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | id       | int(11)     | NO   | PRI | NULL    |       |
    | name     | varchar(22) | NO   |     | NULL    |       |
    | location | varchar(50) | YES  |     | NULL    |       |
    +----------+-------------+------+-----+---------+-------+
    3 rows in set (0.00 sec)
    
    展开全文
  • MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。在创建表时设置唯一约束在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下: ...
  • MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。 非空约束 MySQL非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在...
  • MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。在创建表时设置唯一约束在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下: ...
  • MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。 在创建表时设置唯一约束 在定义完列之后直接使用UNIQUE关键字指定唯一约束,语法规则...
  • 约束的类型

    2018-03-30 10:54:00
    唯一约束要求该列的值必须唯一的,允许为空,但只能出一个空值 检查约束: 限制某列取值的范围是否合适 默认约束: 设计某列的默认值 外键约束: 用于在两表之间建立关系,需要指定引用主表是哪一列 主键...
  • 数据库唯一约束(Unique Constraint)

    万次阅读 2019-01-10 09:38:07
    唯一性约束要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。 语法:  1、在定义完列之后直接指定唯一约束 字段名 数据类型 UNIQUE  2、在定义完所有列之后指定唯一...
  • MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。在创建表时设置唯一约束在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法规则如下: ...
  • 5-05约束的类型

    2016-10-27 20:13:00
    唯一约束要求该列的值必须是唯一的,允许为空,但只能出一同个空值。 检查约束:限制某列的取值范围是否合适。 默认约束:设计某列的默认值。 外键约束:用于在两表之间创建关系,需要指定引用主表是哪一列。 ...
  • 主键约束:要求主键列为空,要求主键列唯一外键约束:用于在两个表之间建立关系,需要指定引用主键表的主键是哪一列非空约束:要求该列能为空值唯一约束要求该列的值必须唯一的,可以允许为空,但只能出现一...
  • 主键约束----primary key主键:表中一个列或者多个列的组合,要求该列的数据唯一单字段主键:字段名 数据类型 属性 primary key多字段主键:primary key (字段1,字段2)主键列的值不为空!!!例子:创建一张员工...
  • MySQL约束

    2021-01-24 12:15:08
    列的完整性约束 完整性约束条件是对字段进行限制,要求用户对属性进行的操作符合特定的要求。如果满足完整性约束条件,数据库系统将不再执行用户的操作。...NOT NULL 标识属性为空。 UNIQUE 标识属性的值
  • 主键约束----primary key主键:表中一个列或者多个列的组合,要求该列的数据唯一单字段主键:字段名 数据类型 属性 primary key多字段主键:primary key (字段1,字段2)主键列的值不为空!!!例子:创建一张...
  • MySQL常见约束详解

    2020-10-09 20:22:50
    NOT NULL :非空,用于保证字段的值不为空 DEFAULT:默认,用于保证字段有默认值 PRIMARY KEY:主键,用于保证字段的值具有唯一性,并且非空 UNIQUE:唯一,用于保证字段的值唯一,可以为空,比如座位号 ...
  • 相关知识 在数据库使用过程中我们经常要限制字段取值,比如有些字我们能让它为空,我们就需要添加非空约束...唯一约束(Unique Constraint)要求该列唯一,允许为空,但是只能有一个空值。唯一约束可以确保一...
  • 在数据库使用过程中我们经常要限制字段取值,比如有些字我们能让它为空,我们就需要添加非空约束,本关我们就来学习如何添加这些常用约束。...唯一约束(Unique Constraint)要求该列唯一,允许为空,但是
  • 约束 1、主键约束 亦成为主码,关键字:primary key,设置了主键约束的列的数据要求:不能为空,不允许重复。 2、自增长策略 针对主键,不需要手动给值,自动... 限定某列值不能重复,唯一约束允许值为空。通常应用于
  • 索引要求主键中的每个值都唯一,字段里面的值不为空。当在查询中使用主键索引时,它还允许对数据的快速访问。主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。唯一性索引允...
  • SQL学习笔记约束设置约束查询查询数据源...要求主键列不为空,且主键列值唯一 外键约束 foreign key 用在两个表之间建立关联,需要指定引用主表是哪里一列 非空约束 not null 要求该列不能存在空值 默认约...
  • 数据库学习(三)约束

    2019-10-20 19:45:41
    默认:默认值,如果对该列不重新赋值,那么就会输入是默认值绑定,操作如下图所示: 检查:自己写代码规定,当写入一个后,是否满足要求,例如目前正常年龄上课学生出生日期能写很多年之前:...
  • 唯一约束MySQL唯一约束(Unique Key)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。非空约束MySQL非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在...
  • 唯一性约束(Unique Constraint)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列出现重复。 唯一性约束语法规则如下: (1)在定义完列之后直接指定唯一约束,语法规则如下: ...
  • 本文实例讲述了MySQL数据表基本操作。分享给大家供大家参考,具体如下: 数据表的基本操作 1.主键约束要求主键列的数据唯一,并且不允许为空。...3.非空约束指字段的值不为空。 4.唯一性约束:要求该列
  • 4.4.2 实体的所有实例必须包含相同数量的值 104 4.4.3 实体中出现的所有实体类型都必须不同 106 4.4.4 第一范式所避免的规则编程 106 4.4.5 当前设计符合第一范式的线索 110 4.5 属性间的关系 111 4.5.1 ...
  • 软件测试规范

    2018-04-23 09:16:12
    分析法 .......................................................................................................................................... 8 4.猜错法 ..........................................
  • oracle数据库经典题目

    2011-02-17 15:05:20
    唯一约束列的值不可以有重复值 B.唯一约束的列的值可以不是唯一的 C.唯一约束的列不可以空值 D.唯一约束的列可以空值 17. 只能存储一个值的变量是哪种变量?( B ) A. 游标 B. 标量变量 C. 游标变量 D. 记录...

空空如也

空空如也

1 2
收藏数 34
精华内容 13
关键字:

唯一约束要求该列的值不为空