mysql drop column_MySQL DROP COLUMN
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相关推荐
- mysql add column_MySQL ADD COLUMN
MySQL ADD COLUMN 简介:在本教程中,我们将向您展示如何使用MySQL ADD COLUMN语句向表中添加列. MySQL ADD COLUMN语句简介 要向现有表添加新列,请使用ALT ...
- mysql alter table drop constraint_MySQL添加,修改,删除表的列,约束等表的定义。
ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename to bbb; 添加列:alter table ...
- mysql中 !40000 DROP DATABASE IF EXISTS `top_server` 这中注释有什么作用?
需求描述: 今天在进行mysqldump实验,使用--add-drop-databases参数,于是在生成的SQL文件中,就出现了. /*!40000 DROP DATABASE IF EXISTS ...
- mysql drop_mysql恢复drop掉的表
手贱drop了几个表,以为能从昨天的备份中恢复,结果发现最近两个月的备份都是空文件,因为备份脚本在两个月前改错了!难道就这样丢失两个月的数据?镇定镇定-- 先看看mysql的配置文件 cat /etc ...
- MYSQL常用语法命令,MySQL中delete,drop和alter分别是用来删除什么的?有什么区别?删除了以后可以恢复吗?
1.Alter.Delete.Drop相关语法 a.Alter 删除,添加或重新定义列 删除列:alter table tablename drop columnname 增加列:alter tabl ...
- MySQL · 引擎特性 · DROP TABLE之binlog解析
原文链接:点击打开链接 摘要: Drop Table的特殊之处 Drop Table乍一看,与其它DDL 也没什么区别,但当你深入去研究它的时候,发现还是有很多不同.最明显的地方就是DropTable ...
- mysql 命令执行drop 命令_(笔记)Mysql命令drop table:删除数据表
drop table命令用于删除数据表. drop table命令格式:drop table ; 例如,删除表名为 MyClass 的表: mysql> drop table MyClass; ...
- 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-数据定义语 ...
- MySQL数据库:drop、truncate、delete的区别
1.删除速度:drop>truncate>delete: 2.删除方式: (1)执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在日志文件中.delete可根据w ...
- mysql 5.7 drop table_MySQL5.7下面,误操作导致的drop table db1.tb1; 的恢复方法:
MySQL5.7下面,误操作导致的drop table db1.tb1; 的恢复方法: 0.停业务数据写入.[iptables封禁] 1.从备份服务器上拉取最新的一个全备文件,恢复到一个临时的服务器上 ...
最新文章
- JAVA中jsp怎么接收参数_如何使用JSP从URL获取参数
- php lvs,LVS(四)LVS集群DR模式
- 闪存技术论坛即将召开 产业链领军企业齐聚谈变革
- groupByKey、reduceByKey区别(转)
- mysql insert replace_mysql 操作总结 INSERT和REPLACE
- 华字后面配什么字比较好_女孩叫华什么名字好听 华字和什么字搭配取名最好...
- 博客园的“随笔、文章、新闻、日记”有啥区别
- UVA 818 Cutting Chains 切断圆环链 (暴力dfs)
- 关于IT测试中的一些问题。
- 自学python好找工作么-学习python后好找工作吗
- java已解密的登录请求_使用https协议解决掉顽固不化的已解密的登录请求
- SVN和Git 介绍,区别,优缺点,适用范围总结
- 黑群晖 7.0 安装
- 六自由度机械臂的正运动学解with RTB
- Ubuntu 安装微信网页版客户端
- ONEDNS配置2:centos7DNS服务器VA转发器配置
- 偷学三太子敖丙的功力
- Windows内核原理与实现之 NDIS(网络驱动程序接口规范)
- 凸函数-convex function
- 生成MyEcilpse注册码