mysql删除列命令_MySQL删除列
在本教程中,我们将向您展示如何使用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的表。
USE testdb;
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的表:
USE testdb;
CREATE TABLE categories (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255)
);
第二,将categories_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 Code: 1553. Cannot drop index 'fk_cat': needed in a foreign key constraint
为避免此错误,必须删除外键约束才能删除该列。
在本教程中,我们向您展示了如何使用MySQL DROP COLUMN语句从表中删除一个或多个列。
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。
mysql删除列命令_MySQL删除列相关推荐
- mysql ping命令_MySQL常用命令总结
MySQL常用命令总结 1.使用SHOW语句找出在服务器上当前存在什么数据库 mysql> show databases; 2.创建一个数据库MYSQLDATA mysql> create ...
- mysql reload 命令_MySQL常用命令
原文链接: 其实这个链接可以用的但是我呢写成这样了:哈哈. 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop d ...
- mysql show 命令_mysql show 相关命令
processlist的show方式是不能使用过滤查找,可能源自MySQL的内部安全机制吧,show是用来查看MySQL内部运行数据,其实processlist就是 information_schem ...
- mysql dba命令_MySQL DBA命令
MySQL DBA命令 新建用户 CREATE USER username IDENTIFIED BY 'password'; 说明: username:你将创建的用户名 password:该用户的登 ...
- Mysql隐藏命令_mysql常用命令整理
说明:下面用到的语法是参考官方mysql5.7 en manual文档,本机的运行环境为centos7和mysql5.7.26 修改数据库 语法: ALTER {DATABASE | SCHEMA} ...
- mysql历史命令_MySQL交互技巧
本文介绍一些与客户端程序mysql进行交互的技巧,这些技巧能帮助我们更有效率地使用它,减少文字输入.此外,还会描述"怎样更加方便地连接到服务器",以及"如何在不经手工输入 ...
- mysql 用户命令_MySQL命令行新建用户
https://www.cnblogs.com/penciler/p/4813157.html MySQL命令行能否实现新建用户呢?答案无疑是肯定的.而且在使用使用MySQL命令行新建用户后,还可以为 ...
- mysql 锁命令_MySQL锁定状态查看命令
1 show processlist; SHOW PROCESSLIST显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此信息.如果您有SUPER权限,您可以看到 ...
- mysql change命令_Mysql 操作基本命令大全
7.1 一个建库和建表的实例1 drop database if exists school; //如果存在SCHOOL则删除 create database school; //建立库SCHOOL ...
最新文章
- Android Volley 库通过网络获取 JSON 数据
- C语言-人狼羊菜问题-最容易看懂的解决方法及代码
- vant-image本地图片无法显示
- 二十五、Kaggle | 全球听众最多的50首歌曲
- USACO 3.2 Stringsobits
- 感知算法论文(六):LEDNet(2019)
- 理解并从头搭建redis集群
- 【STM32】IIC的基本原理(实例:普通IO口模拟IIC时序读取24C02)(转载)
- 帝国 标签模板 使用程序代码 自定义 时间显示方式
- C++自学20:指针/指针的指针/const
- ufs3.0和12G内存哪个对流畅运行影响大?
- python实现食品推荐_Python分析亚马逊赞不绝口食物评论
- SAP 生产订单变更管理 OCM Order Changement Management
- 电子表格计算机操作题及素材,2015计算机应用基础-excel电子表格题目.doc
- 学python数据分析心得体会800字_一点学习大数据分析的心得体会
- 汇智创科机器人,汇智创科机器人加盟
- jmeter--上传图片类接口
- 输入法出现异常???输入英文字母分隔很大???你真的会使用输入法了吗???如何高效使用输入法???微软自带输入法切换
- 【程序人生】互联网岗位分工;互联网开发流程;职责分工
- Uestc_suibian 暑假集训总结
热门文章
- 第三方支付为什么会兴起
- C语言三个点“...“符号含义之数组批量赋相同值
- Tomcat启动时报错:A child container failed during start解决方案-clean
- html mysql留言板_html留言板
- Android手机存储路径
- html5脑图_使用HTML5技术绘制思维导图
- 未来人类殡葬一览:太空中正飘着上千个骨灰盒
- Window7 如何分屏
- 史济怀20180915_1 有限覆盖定理
- 从零集成腾讯广告SDK