MySQL DROP COLUMN

简介:在本教程中,我们将向您展示如何使用MySQL DROP COLUMN语句从表中删除列。

MySQL DROP COLUMN语句简介

在某些情况下,您希望从表中删除一个或多个列。在这种情况下,您使用ALTER TABLE DROP COLUMN语句,如下所示:

ALTER TABLE table

DROP COLUMN column;

让我们更详细地研究一下这个语句:

首先,在ALTER TABLE子句后指定包含要删除的列的表。

其次,您将列的名称放在DROP COLUMN子句之后。

请注意,关键字COLUMN是可选的,因此您可以使用较短的语句,如下所示:

ALTER TABLE table

DROP column;

若要同时从表中删除多个列,请使用以下语法:

ALTER TABLE table

DROP COLUMN column_1,

DROP COLUMN column_2,

…;

在从表中删除列之前,您应记住一些重要的要点:

从表中删除列会使依赖于列的所有数据库对象(如存储过程,视图,触发器等)无效。例如,您可能有一个引用列的存储过程。删除列时,存储过程将变为无效。要修复它,您必须手动手动更改存储过程的代码。

必须同时更改依赖于已删除列的其他应用程序的代码,这需要时间和精力。

从大表中删除列可能会影响数据库的性能。

MySQL DROP COLUMN示例

首先,我们创建一个posts 表演示用。

CREATE TABLE posts (

id INT AUTO_INCREMENT PRIMARY KEY,

title VARCHAR(255) NOT NULL,

excerpt VARCHAR(400),

content TEXT,

created_at DATETIME,

updated_at DATETIME

);

其次,要删除excerpt列,请使用以下ALTER TABLE语句:

ALTER TABLE posts

DROP COLUMN excerpt;

第三,要同时删除两个列created_at和updated_at列,请使用以下语句:

ALTER TABLE posts

DROP COLUMN created_at,

DROP COLUMN updated_at;

MySQL删除一个带有外键列的示例

如果删除作为外键的列,MySQL将发出错误。让我们展示一下这个想法。

首先,创建一个名为categories的表:

CREATE TABLE categories (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(255)

);

其次,将category_id列添加到posts表中。

ALTER TABLE posts ADD COLUMN category_id INT NOT NULL;

第三,将category_id列作为引用categories表的id列的外键。

ALTER TABLE posts

ADD CONSTRAINT fk_cat

FOREIGN KEY (category_id)

REFERENCES categories(id) ON DELETE CASCADE;

第四,从posts表中删除category_id列。

ALTER TABLE posts

DROP COLUMN category_id;

MySQL发出错误消息:

ERROR 1553 (HY000): Cannot drop index 'fk_cat': needed in a foreign key constraint

要避免此错误,必须在删除列之前删除外键约束。

在本教程中,我们向您展示了如何使用MySQL DROP COLUMN语句从表中删除一个或多个列。

mysql drop column_MySQL DROP COLUMN相关推荐

  1. mysql add column_MySQL ADD COLUMN

    MySQL ADD COLUMN 简介:在本教程中,我们将向您展示如何使用MySQL ADD COLUMN语句向表中添加列. MySQL ADD COLUMN语句简介 要向现有表添加新列,请使用ALT ...

  2. mysql alter table drop constraint_MySQL添加,修改,删除表的列,约束等表的定义。

    ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename to bbb; 添加列:alter table ...

  3. mysql中 !40000 DROP DATABASE IF EXISTS `top_server` 这中注释有什么作用?

    需求描述: 今天在进行mysqldump实验,使用--add-drop-databases参数,于是在生成的SQL文件中,就出现了. /*!40000 DROP DATABASE IF EXISTS ...

  4. mysql drop_mysql恢复drop掉的表

    手贱drop了几个表,以为能从昨天的备份中恢复,结果发现最近两个月的备份都是空文件,因为备份脚本在两个月前改错了!难道就这样丢失两个月的数据?镇定镇定-- 先看看mysql的配置文件 cat /etc ...

  5. MYSQL常用语法命令,MySQL中delete,drop和alter分别是用来删除什么的?有什么区别?删除了以后可以恢复吗?

    1.Alter.Delete.Drop相关语法 a.Alter 删除,添加或重新定义列 删除列:alter table tablename drop columnname 增加列:alter tabl ...

  6. MySQL · 引擎特性 · DROP TABLE之binlog解析

    原文链接:点击打开链接 摘要: Drop Table的特殊之处 Drop Table乍一看,与其它DDL 也没什么区别,但当你深入去研究它的时候,发现还是有很多不同.最明显的地方就是DropTable ...

  7. mysql 命令执行drop 命令_(笔记)Mysql命令drop table:删除数据表

    drop table命令用于删除数据表. drop table命令格式:drop table ; 例如,删除表名为 MyClass 的表: mysql> drop table MyClass; ...

  8. mysql alter table drop primary key_删除主键: Alter table tabname drop primary key(col)

    下列语句部分是Mssql语句,不可以在access中使用.|4J,Y,FzYS*q A0x051Testing软件测试网)c#QS"?f{ SQL分类:d2HM[]$rw0DDL-数据定义语 ...

  9. MySQL数据库:drop、truncate、delete的区别

    1.删除速度:drop>truncate>delete: 2.删除方式: (1)执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在日志文件中.delete可根据w ...

  10. mysql 5.7 drop table_MySQL5.7下面,误操作导致的drop table db1.tb1; 的恢复方法:

    MySQL5.7下面,误操作导致的drop table db1.tb1; 的恢复方法: 0.停业务数据写入.[iptables封禁] 1.从备份服务器上拉取最新的一个全备文件,恢复到一个临时的服务器上 ...

最新文章

  1. JAVA中jsp怎么接收参数_如何使用JSP从URL获取参数
  2. php lvs,LVS(四)LVS集群DR模式
  3. 闪存技术论坛即将召开 产业链领军企业齐聚谈变革
  4. groupByKey、reduceByKey区别(转)
  5. mysql insert replace_mysql 操作总结 INSERT和REPLACE
  6. 华字后面配什么字比较好_女孩叫华什么名字好听 华字和什么字搭配取名最好...
  7. 博客园的“随笔、文章、新闻、日记”有啥区别
  8. UVA 818 Cutting Chains 切断圆环链 (暴力dfs)
  9. 关于IT测试中的一些问题。
  10. 自学python好找工作么-学习python后好找工作吗
  11. java已解密的登录请求_使用https协议解决掉顽固不化的已解密的登录请求
  12. SVN和Git 介绍,区别,优缺点,适用范围总结
  13. 黑群晖 7.0 安装
  14. 六自由度机械臂的正运动学解with RTB
  15. Ubuntu 安装微信网页版客户端
  16. ONEDNS配置2:centos7DNS服务器VA转发器配置
  17. 偷学三太子敖丙的功力
  18. Windows内核原理与实现之 NDIS(网络驱动程序接口规范)
  19. 凸函数-convex function
  20. 生成MyEcilpse注册码

热门文章

  1. 使用FontCreator工具创建字体符号导入arcmap
  2. iOS开发图片合成,多张图片合成一张图片
  3. android解决ListView图片闪动问题
  4. Ps的一些小知识,还有快捷键
  5. U盘安装完kali后内存变小的言diao(无图)博客
  6. Still,yet和already的用法
  7. K-means算法实现及分析
  8. 【资源下载】分享个嵌入式开发的入门教程(包含视频)
  9. 淘客链接转成正常淘宝链接JAVA代码实现
  10. 【全栈软件测试】二、Windows服务器(2-2)搭建web服务器(2-2-1)架设一个网站--使用四种方法