修改表实现约束的添加与删除


一、主键约束


添加主键约束

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中如何通过修改表实现约束的添加与删除相关推荐

  1. mysql使用什么语句为指定_在MySQL中,可以使用_____语句来为指定数据库添加用户。...

    [简答题]ZX14-04-22电子被限制在一维相距 的两个不可穿透壁之间, ,试求 (1)电子最低能态的能量是多少? (2)如果E 1 是电子最低能态的能量,则电子较高一级能态的能量是多少? (3)如 ...

  2. mysql+默认值+default_十六、MySQL 中数据类型的默认值 - default 约束-搜云库

    MySQL 中,所有的数据类型,都可以显式或隐式的拥有默认值. 我们可以使用 DEFAULT 约束显式的为列指定一个默认值.比如 CREATE TABLE t1 ( i INT DEFAULT -1, ...

  3. MySQL中 auto_increment如何修改初始值和步长【亲测】

    1.如何查看auto_increment的初始值和步长 打开黑窗口,登录管理员账号和密码后,执行以下命令: show variables like 'auto_inc%'; -- 查看当前数据库的自增 ...

  4. mysql中sql_mode的修改

    很多时候修改sql_mode是因为插入或者修改空日期失败 只要sql_mode中的两个属性删除就可以了 NO_ZERO_DATE(设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是 ...

  5. SylixOS中AARCH64跳转表实现原理

    2019独角兽企业重金招聘Python工程师标准>>> 1. 跳转表存在的意义 1.1 内核模块反汇编 如下的程序清单,为一个内核模块的源码. #define __SYLIXOS_K ...

  6. 使用事务代码MB51+Excel中的数据透视表实现 收发存报表

    业务需求说明: 国内大部分公司,对于仓库管理习惯使用如下的收发存报表,该报表在大部分项目中通过开发进行实现. 收发存报表示例: 物料 月份 采购入库数量(金额) 生产入库数量(金额) 生产发料数量(金 ...

  7. MYSQL中关于列名修改与删除

    修改列名,或者列得长度 ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型(长度) 删除列 ALTER TABLE 表名 DROP COLUMN 列名

  8. 中去掉外键_【Java笔记】035天,MySQL中的增删改查

    学习Java的第35天. 今天天除了学习MySQL中的各种约束,MySQL中DML的操作,还有MySQL查询语句ds-- MySQLdz中d的约束有: • 非空约束(not null) • 唯一性约束 ...

  9. mysql中约束性别_MySQL常见约束

    #常见约束 /* 含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性 分类:六大约束 NOT NULL:非空,用于保证该字段的值不能为空 比如姓名.学号等 DEFAULT:默认,用于 ...

最新文章

  1. python的集合运算和set相关操作
  2. 共享数据库、独立 Schema
  3. java input回车,用java怎样编写加减乘除,从键盘输入,例如:1+2按回车得到
  4. ExtJS和AngularJS比较
  5. WebApi系列~自主宿主HttpSelfHost的实现
  6. 1.6 编程基础之一维数组 05 年龄与疾病 python
  7. B00015 平方矩阵问题
  8. Github readme语法-- markdown
  9. Oauth支持的5类 grant_type 及说明 authorization_code — 授权码模式(即先登录获取code,再获取token) password — 密码模式(将用户名,密码传
  10. 退出控屏软件(极域等)的通用最好方法
  11. 终于!疫情之下,第一批企业没能熬住面临倒闭,员工被遣散,没能等来春暖花开!
  12. CocosCreator图片资源加密解密
  13. java qlv转mp4 代码_qlv视频格式转换器
  14. 群晖7.1使用SHR添加硬盘
  15. java graphics画圆_在Java中绘制一个漂亮的圆圈
  16. ARFoundation从零开始3-创建ARFoundation项目
  17. PrestaShop支付接口-网银在线支付,在线支付收款,外贸收款
  18. 阿里云新年活动 轻量云服务器1H2G5M仅需要86元/年
  19. 代码阅读总结之Fitch and Mather 7.0(资源文件Resource随笔)
  20. 洗牌——114514

热门文章

  1. Leetcode 436.寻找右区间
  2. Head First Python-Python中与文件相关的操作-读、处理、写
  3. datagridview绑定xml
  4. 浅析SQL Server在可序列化隔离级别下,防止幻读的范围锁的锁定问题
  5. 操作系统-命令解释程序(实验一)
  6. Flex学习笔记2010-08-16
  7. 关于VC单选按钮不能设置变量以及Group属性的设置问题
  8. 区块链新一代监管框架 ---《STRISA 一种实施旅行规则的新架构》
  9. pdf转换为word问题
  10. 官网拉取fuchsia代码