唯一约束 unique
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网站空间、营销软件、网站建设、雷州网站维护、网站推广。
特征:
1.不允许有重复的值,保证数据的唯一性。
2.可以有空值
3.在一个表中,可以有多个唯一约束
4.默认情况下,唯一约束的名字和列名保持一致
5.添加唯一约束的列,系统也会默认给这个列添加一个唯一索引
索引:等同于书本的目录,将来能够加快数据的查询速度。
如何添加唯一约束
1.创建表的同时创建唯一约束 UN_列名
格式一:
create table 表名(
列名1 数据类型,
列名2 数据类型,
constraint 唯一约束的名字 unique(列名1),
constraint 唯一约束的名字 unique(列名2)
);
格式二:
create table 表名(
列名1 数据类型 unique,
列名2 数据类型 unique,
列名3 数据类型
);
一个表中是可以存在多个约束的
2.针对已经存在的表,添加唯一约束
格式:
alter table 表名 add unique(列名[,列名2]);
3.删除唯一约束
格式:
alter table 表名 drop index 唯一约束的名字;
MYsql 怎么约束列的取值范围
一般是建立check约束。例如设置sex一列取值只能为'男'或'女' 建表tab10时命令为create table tabl0 (sex char(2) check(sex in ('男','女'))..
一、Mysql支持以下约束:
※ 主键约束 :primary key
※ 唯一性约束:unique key
※ 外键约束:foreign key
※ 非空约束:not null
※ 默认值约束:default
二、主键约束:
一个表只能有一个主键,当建表时忘记设置主键约束时.设置为主键的列查询速度会非常快,所以一般会用聚集索引,这个我们后面会讲到。
添加主键约束:设置myself表的age为主键
语法:alter table 表名 add primary key;(列名)※ 可以有多个列名。
三、外键约束:
何为外键,当建表时需要用到另外一个表的主键作为本表的的主键时,需要设置外键。设置外间后,若想在删除本表数据时会级联删除或者默认删除其他方式。
添加外键约束:设置本表的cno为外键
语法:alter table 表名称 add foreign key (列名称) references 关联表名称(列名称);
四、非空约束:
当插入新数据时对应的列为不能空。非空约束是相对于默认值约束而说的。
添加非空约束:
语法:alter table 表名 modify 列名 列类型 not null;
五、默认值约束:default:
当插入时没有插入值时,会自动插入默认值。默认值约束相对于非空约束而说。
添加默认值约束:
语法:alter table 表名 add 列名 列类型 not null default '默认值';
六、唯一性约束:
本列的内容只能唯一不能重复。
添加唯一约束:
语法:alter table 列名 add unique(列名称) ※可以有多个列名称,用逗号隔开。
主键约束:唯一,不重复,不能为空 primary key
一个表中有且只有一个主键约束
1.创建表的同时创建主键约束
格式一:
create table 表名(
列名1 数据类型 primary key,
列名2 数据类型
);
主键约束名字的写法: PK_列名
格式二:
create table 表名(
列名1 数据类型,
列名2 数据类型,
constraint 主键约束的名字 primary key(列名1)
);
格式三:
create table 表名(
列名1 数据类型,
列名2 数据类型,
primary key(列名1)
);
2.针对已经存在的表,添加主键约束
格式一:
alter table 表名 modify 列名 数据类型 primary key;
格式二:
alter table 表名 add primary key(列名);
格式三:
alter table 表名 add constraint 主键约束的名字 primary key(列名);
3.删除主键约束
格式:alter table 表名 drop primary key;
不可以。
约束是创建在列级的,用来约束取值范围一非空唯一等限制的。
表中的数量是由数据库引擎自动设置的。