MySQL中如何通过修改表实现约束的添加与删除
修改表实现约束的添加与删除
一、主键约束
添加主键约束
Alter table 表名 add primary key(列名)
例
将 emp 表中的 employee_id 修改为主键且自动增长;
1.添加主键约束;
alter table emp add primary key(employee_id);2.添加自增长;
alter table emp modify employee_id int auto_increment;
删除主键约束
Alter table 表名 drop primary key
注意:删除主键时,如果主键列具备自动增长能力,需要先去掉自动增长,然后再删除主键;
例
删除 employee_id 的主键约束;
1.去除自动增长;
Alter table emp modify employee_id int;2.删除主键约束;
Alter table emp drop primary key;
二、非空约束
添加非空约束
Alter table 表名 modify 列名 类型 not null
例
向 emp 表中的 salary 添加非空约束。
Alter table emp modify salary float(8,2) not null;
删除非空约束
Alter table 表名 modify 列名 类型 null
例
删除 salary 的非空约束;
Alter table emp modify salary float(8,2) null;
三、唯一约束
添加唯一约束
Alter table 表名 add constraint 约束名 unique(列名)
例
向 emp 表中的 name 添加唯一约束。
Alter table emp add constraint e_uk unique(name);
删除唯一约束
Alter table 表名 drop key 约束名;
例
删除 name 的唯一约束。
Alter table emp drop key e_uk;
四、外键约束
添加外键约束;
Alter table 表名 add constraint 约束名 foreign key(列名) references 参照表名(参照列名);
例
一、修改 emp 表,添加 dept_id 列。
Alter table emp add column dept_id int;
二、向 emp 表中的 dept_id 列添加外键约束。
Alter table emp add constraint e_fk foreign key(dept_id) references departments(department_id);
删除外键约束;
1.删除外键
Alter table 表名 drop foreign key 约束名;
2.删除外键索引(索引名与约束名相同)
Alter table 表名 drop index 索引名;
例
删除 dept_id 的外键约束;
1.Alter table emp drop foreign key e_fk;
2.Alter table emp drop index e_fk;
MySQL中如何通过修改表实现约束的添加与删除相关推荐
- mysql使用什么语句为指定_在MySQL中,可以使用_____语句来为指定数据库添加用户。...
[简答题]ZX14-04-22电子被限制在一维相距 的两个不可穿透壁之间, ,试求 (1)电子最低能态的能量是多少? (2)如果E 1 是电子最低能态的能量,则电子较高一级能态的能量是多少? (3)如 ...
- mysql+默认值+default_十六、MySQL 中数据类型的默认值 - default 约束-搜云库
MySQL 中,所有的数据类型,都可以显式或隐式的拥有默认值. 我们可以使用 DEFAULT 约束显式的为列指定一个默认值.比如 CREATE TABLE t1 ( i INT DEFAULT -1, ...
- MySQL中 auto_increment如何修改初始值和步长【亲测】
1.如何查看auto_increment的初始值和步长 打开黑窗口,登录管理员账号和密码后,执行以下命令: show variables like 'auto_inc%'; -- 查看当前数据库的自增 ...
- mysql中sql_mode的修改
很多时候修改sql_mode是因为插入或者修改空日期失败 只要sql_mode中的两个属性删除就可以了 NO_ZERO_DATE(设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是 ...
- SylixOS中AARCH64跳转表实现原理
2019独角兽企业重金招聘Python工程师标准>>> 1. 跳转表存在的意义 1.1 内核模块反汇编 如下的程序清单,为一个内核模块的源码. #define __SYLIXOS_K ...
- 使用事务代码MB51+Excel中的数据透视表实现 收发存报表
业务需求说明: 国内大部分公司,对于仓库管理习惯使用如下的收发存报表,该报表在大部分项目中通过开发进行实现. 收发存报表示例: 物料 月份 采购入库数量(金额) 生产入库数量(金额) 生产发料数量(金 ...
- MYSQL中关于列名修改与删除
修改列名,或者列得长度 ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型(长度) 删除列 ALTER TABLE 表名 DROP COLUMN 列名
- 中去掉外键_【Java笔记】035天,MySQL中的增删改查
学习Java的第35天. 今天天除了学习MySQL中的各种约束,MySQL中DML的操作,还有MySQL查询语句ds-- MySQLdz中d的约束有: • 非空约束(not null) • 唯一性约束 ...
- mysql中约束性别_MySQL常见约束
#常见约束 /* 含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性 分类:六大约束 NOT NULL:非空,用于保证该字段的值不能为空 比如姓名.学号等 DEFAULT:默认,用于 ...
最新文章
- python的集合运算和set相关操作
- 共享数据库、独立 Schema
- java input回车,用java怎样编写加减乘除,从键盘输入,例如:1+2按回车得到
- ExtJS和AngularJS比较
- WebApi系列~自主宿主HttpSelfHost的实现
- 1.6 编程基础之一维数组 05 年龄与疾病 python
- B00015 平方矩阵问题
- Github readme语法-- markdown
- Oauth支持的5类 grant_type 及说明 authorization_code — 授权码模式(即先登录获取code,再获取token) password — 密码模式(将用户名,密码传
- 退出控屏软件(极域等)的通用最好方法
- 终于!疫情之下,第一批企业没能熬住面临倒闭,员工被遣散,没能等来春暖花开!
- CocosCreator图片资源加密解密
- java qlv转mp4 代码_qlv视频格式转换器
- 群晖7.1使用SHR添加硬盘
- java graphics画圆_在Java中绘制一个漂亮的圆圈
- ARFoundation从零开始3-创建ARFoundation项目
- PrestaShop支付接口-网银在线支付,在线支付收款,外贸收款
- 阿里云新年活动 轻量云服务器1H2G5M仅需要86元/年
- 代码阅读总结之Fitch and Mather 7.0(资源文件Resource随笔)
- 洗牌——114514