标签:word05 name -- MySQL19 约束 KEY TABLE
唯一约束
唯一约束,其特点是:
不允许表中有重复记录;
允许表中有NULL记录;
创建唯一约束后,系统将自动创建唯一索引;
-- 创建数据表时添加列级唯一约束
CREATE TABLE t7(
id SMALLINT UNSIGNED PRIMARY KEY,
username VARCHAR(20) NOT NULL UNIQUE KEY,
email VARCHAR(30) NOT NULL UNIQUE KEY
);
DESC t7;
-- 创建数据表时添加表级唯一约束
CREATE TABLE t8(
id SMALLINT UNSIGNED PRIMARY KEY,
username VARCHAR(20) NOT NULL,
clASses VARCHAR(20) NOT NULL,
UNIQUE KEY (username,clASses)
);
DESC t8;
-- 创建表时,添加唯一约束
CREATE TABLE word05(
id INT(8) PRIMARY KEY,
name VARCHAR(30) UNIQUE,
sex CHAR(3),
age INT(3),
email VARCHAR(50),
address VARCHAR(50)
);
DESC word05;
INSERT INTO word05 VALUES(1,'rose','女',25,'rose@164.com','北京');
INSERT INTO word05 VALUES(2,'rose','男',20,'rose1@164.com','北京1');---错误
INSERT INTO word05(id,sex,age,email,address) VALUES(3,'男',20,'jack@164.com','上海');
修改表时,添加唯一约束
语法格式:
ALTER TABLE 表名 ADD UNIQUE(列名1,列名2,.....列名n);
-- 修改word05表,对email列添加唯一约束,并验证
ALTER TABLE word05 ADD UNIQUE(email);
DESC word05;
-- 修改word05表,对address列添加唯一约束,并验证
ALTER TABLE word05 ADD UNIQUE(address);
DESC word05;
删除唯一约束
语法格式:
ALTER TABLE 表名 DROP INDEX KEY_name值;
-- 查看KEY_name值格式:
SHOW KEYS FROM 表名;
-- 删除word05表中,name列上的唯一约束,并验证
-- (1) 查看name列对应的KEY_name值
SHOW KEYS FROM word05; --name
-- (2)根据语法格式删除
ALTER TABLE word05 DROP INDEX name;
-- (3)验证
DESC word05;
-- 删除word05表中,email列上的唯一约束,并验证
SHOW KEYS FROM word\G; -email
ALTER TABLE word05 DROP INDEX email;
DESC word05;
主键约束与唯一约束的区别
每张数据表只能有一个主键约束;但是可以存在多个唯一约束;
主键约束不能为空;唯一约束可以为空;
标签:word05,name,--,MySQL19,约束,KEY,TABLE 来源: https://www.cnblogs.com/sean-test/p/15451465.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。