成都网站建设设计

将想法与焦点和您一起共享

mysql约束怎么处理 mysql约束怎么写

mysql添加主键约束

主键约束:唯一,不重复,不能为空  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;

mysql唯一约束

唯一约束  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数据表的修改:添加约束

4.4.7添加约束

语句格式:ALTER TABLE 表名ADD  CONSTRAINT  约束名 约束类型(字段名)

上面语句格式中,“表名”指定要添加约束的是哪个表,“ADD CONSTRAINT”表示要在表中增加约束,其后的“约束名”是拟增加约束的名字,“约束类型”是拟增加约束的类型,其后括号里的“字段名”是指约束是在哪一个字段上建立起来的。

下面截图中的“ALTER TABLE”语句在t_dept表中新增加了一个约束名为unidept的约束,它是在对字段deptno进行的唯一性约束。

MySQL 关于去除约束的问题

现在要说的是在列这一层次过滤的基于表定义之前就规范好的 CHECK 约束。(MySQL 版本 = 8.0.16)

mysql create table f1 (r1 int constraint tb_f1_r1_chk1 check (mod(r1,3)=0));

Query OK, 0 rows affected (0.03 sec)

mysql create table f2 (r1 int constraint tb_f2_r1_chk1 check (mod(r1,3)=0) not enforced);

Query OK, 0 rows affected (0.02 sec)

这里 CHECK 约束的相关限制如下:

1. constraint 名字在每个数据库中唯一。

也就是说单个数据库里不存在相同的两个 constraint,如果不定义,系统自动生成一个唯一的约束名字。

2. check 约束针对语句 insert/update/replace/load data/load xml 生效;针对对应的 ignore 语句失效。

3. 并非每个函数都可以使用,比如函数结果不确定的:NOW(),CONNECTION_ID(),CURRENT_USER()。

4. 不适用于存储过程和存储函数。

5. 系统变量不适用。

6. 子查询不适用。

7. 外键动作(比如 ON UPDATE, ON DELETE) 不适用。

8. enforced 默认启用,如果单独加上 not enforced ,check 约束失效。


当前标题:mysql约束怎么处理 mysql约束怎么写
本文链接:http://chengdu.cdxwcx.cn/article/hiccpc.html