MySQL语法之用alter增加删除列

news/2025/11/28 20:36:22/文章来源:https://www.cnblogs.com/east7/p/19284103

摘要:用MySQL alter table增加、删除或修改字段,设置新字段位置。

综述

  在 MySQL 中,ALTER TABLE 语法糖常常被用于修改已经创建表的结构。工作中,经常遇到在MySQL中新增字段、删除字段或者修改列注释的需求,这时候就要用到alter的魔法了。为了保持表结构的逻辑性和可读性,我们可能需要将新字段插入到特定位置,这时候就要alter 结合FIRST或者after关键字变魔术了。

  本文将详细介绍在 MySQL 中使用 ALTER TABLE 的上述功能,包括实际操作步骤、注意事项及性能分析。

ALTER TABLE 增加删除字段

  如需在表中添加列,请使用下面的语法:

ALTER TABLE table_name ADD column_name datatype not null DEFAULT default_value COMMENT '字段注释';

  • column_name:新增列的名称。
  • datatype:新增列的数据类型。

  如需删除表中的列,请使用下面的语法:

ALTER TABLE table_name DROP COLUMN column_name;

  温馨提示,有些公司约定数据库系统不允许在数据库表中删除列。如果需要同时删除和新增字段,则可以使用如下同时包含drop和add关键字的语法:

ALTER TABLE table_name DROP COLUMN column_name_a ADD column_name_b datatype not null COMMENT '注释';

  这个SQL可以用于修改字段名(如把column_name_a重命名为column_name_b)、调整字段属性或者注释等。

调整添加字段的位置

  MySQL 默认把通过ALTER语法新增字段放置在表的最后一列。然而,在实际开发中,为了保持表结构的逻辑性和可读性,我们可能需要将新字段插入到特定位置。ALTER 支持两种调整字段位置的语法糖:

  • FIRST:将新字段设置为表中的第一个字段;
  • AFTER column_name:将新字段放置在指定字段column_name之后。

  下面通过具体的例子来展示如何使用FIRST和AFTER关键字。若要在user表中新增一个age字段,并将其放置在name字段之后,可以执行以下SQL语句:

ALTER TABLE user ADD age INT not null DEFAULT 0 COMMENT '年龄' AFTER name;

  将age字段作为表的第一个字段:

ALTER TABLE user ADD age INT not null DEFAULT 0 COMMENT '年龄' FIRST;

  如果未指定FIRST或AFTER关键字,新字段将自动被添加到表的末尾:

ALTER TABLE user ADD age INT not null DEFAULT 0 COMMENT '年龄';

  温馨提示,有些公司约定只运行在在数据库表末尾添加列,不允许指定位置。

性能影响与优化建议

  ALTER TABLE是一个非常有用的工具,但调整字段或者字段顺序可能会对数据库性能产生负面影响,特别是在大型表或高负载的数据库环境中。如果必须调整字段位置,可以选择在低峰时段执行操作,并结合以下策略:

  • 操作影响:字段顺序调整涉及表结构的重新组织,可能导致表锁定和磁盘I/O增加,影响线上服务。为了减少对正常业务的影响,建议在业务低峰期执行。
  • 数据备份:修改前务必备份数据,防止意外丢失。
  • 测试验证:在测试环境验证语句正确性,确保无语法错误或逻辑问题;同时测试调整后的表结构对查询性能的影响。
  • 性能考虑:大表操作可能耗时较长,需评估对系统性能的影响。
  • 神兵利器:从 MySQL 5.6 版本开始,可以使用MySQL 原在线 (Native Online ) DDL 技术解决上述性能问题。

  MySQL 原在线DDL 技术是一种在执行表结构变更(比如添加列、创建索引等DDL操作)的同时,不阻塞或尽可能短时间地阻塞读写等DML操作的技术,如果想了解更多内容,请移步博文《MySQL 原在线DDL》。

  执行 ALTER TABLE 操作需要获得alter权限,操作之前请确保具有 ALTER 权限;否则,操作将失败。

  对于Wiener以上的话题,大家又有什么自己的独特见解呢?欢迎在下方评论区留言!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/980079.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JUnit实战3_17】第九章:容器内测试(下)——Arquillian 框架的用法简介 - 实践

【JUnit实战3_17】第九章:容器内测试(下)——Arquillian 框架的用法简介 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fon…

详细介绍:Web安全深度实战:从漏洞挖掘到安全防护

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

敬请人(自己)采/警示后人(自己)合辑

一定取模 数组越界不一定导致re,也可能导致错误赋值 dp 转移方向 能用 bitset 尽量不要用 map

利用多项式模型对二维平面上的数据点进行拟合时,需要预先指定多项式的次数吗?

需要预先指定多项式的次数,且这个次数属于「超参数」,需通过验证集优化选择,核心逻辑和实操步骤如下: 一、关键结论 多项式回归中,“一次(线性)、二次、三次”本质是模型的结构超参数(决定模型复杂度),不能由…

使用RecyclerView.ItemDecoration自定义RecyclerView圆角滚动条

使用RecyclerView.ItemDecoration自定义RecyclerView圆角滚动条 其实RecyclerView自带滚动条,设置android:scrollbars="vertical"即可。想让其长期显示,设置android:fadeScrollbars="false"即可…

SkeyeVSS视频融合系统——安全帽AI检测算法 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

技术分析:越南部分银行 App 不当使用 iOS 私有 API

技术分析:越南部分银行 App 不当使用 iOS 私有 API 原文标题: Technical Analysis - Improper Use of Private iOS APIs in some Vietnamese Banking Apps 来源: Verichains Blog https://blog.verichains.io/p/techn…

U636457 刺客

设 \(f_i\) 表示第一次到达 \(i\) 的所用时间,初始 \(f_1 = 0\)。 首先考虑运动的形态会是什么样子,应该是第一次走到 \(i\),然后不断的跳 \(p_i\),直到再一次走到 \(i\),再向 \(i + 1\) 走。 其实转移是很好转移…

Windows Docker 安装 RabbitMQ(包含客户端图形界面) - Higurashi

一、安装前准备 确保你的 Windows 上已经:安装 Docker Desktop 已开启 WSL2(Docker 默认要求)验证 Docker 是否正常: docker --version二、拉取带管理界面插件的 RabbitMQ 镜像 RabbitMQ 官方镜像里带管理界面的版…

《R语言医学数据分析实战》学习记录|第三章 数据框的操作

第三章 数据框的操作 内容记录 TLDR记录数据框结构数据的基本属性(清单列表:head(),tail(),摘要数据:str(),epiDisplay::des()) 操作数据框数据:选取子集subset(),增删元素 dplyr包对数据框数据的操作:筛选,排序…

软件工程学习日志2025.11.28

📋 实验内容概述 本次实验分为两大部分:Linux基础命令操作和Hadoop环境实践,旨在为后续大数据实验打下坚实的基础。 🎯 具体完成内容 一、Linux操作部分(2.5小时)目录操作命令成功掌握的cd命令操作 cd /usr/lo…

2025年11月晶振厂家推荐:权威榜与选择指南

在电子元器件领域,晶振作为时钟频率的核心部件,其性能直接影响整个系统的稳定性和可靠性。随着5G通信、物联网、汽车电子等行业的快速发展,市场对高精度、高稳定性晶振的需求持续增长。许多工程师、采购人员或企业决…

2025年11月晶振厂家推荐榜单:主流厂商综合对比与选择指南

在电子设备日益精密的今天,晶振作为时钟频率的核心元件,其稳定性与可靠性直接关系到整个系统的性能。无论是通信基站、工业控制、汽车电子还是消费类产品,工程师在选择晶振厂家时往往面临诸多考量,例如厂家的技术实…

漏洞赏金猎人的深度侦察方法论 | 第一部分

本文详细介绍了漏洞赏金猎人的侦察方法论,包括范围审查、子域名枚举等关键步骤,帮助安全研究人员系统性地发现潜在漏洞和安全风险。漏洞赏金猎人的深度侦察方法论 | 第一部分 仅供会员阅读的故事 作者:Abhijeet Kum…

2025年11月晶振厂家推荐:权威榜单与选择指南

在电子元器件领域,晶振作为时钟频率的核心部件,其性能直接影响整机设备的稳定性和可靠性。随着5G通信、物联网、汽车电子等产业的快速发展,市场对高精度、高稳定性晶振的需求持续增长。根据行业报告显示,全球晶振市…

高效且常用的国产AI工具

一是“工具线”:本书详解了16个高效且常用的国产AI工具,包括文心一言、Kimi、WPSAI、百度文库、橙篇、豆包、通义、智谱清言、秘塔、文心一格、天工AI、讯飞星火、360智绘、剪映、即梦AI及可灵AI,并且随书再附赠10款…

2025年11月晶振厂家推荐榜单:主流厂商综合对比选择指南

在电子元器件采购与供应链管理过程中,晶振作为时钟频率核心元件,其稳定性与可靠性直接影响整机性能。随着5G通信、物联网、汽车电子等新兴领域快速发展,市场对高精度、低功耗、小型化晶振需求持续增长。根据工信部2…

2025年11月晶振厂家推荐榜单:知名品牌综合对比与选购指南

在电子元器件领域,晶振作为时钟频率的核心元件,其性能稳定性直接影响到整个电路系统的可靠性。随着5G通信、物联网、汽车电子等行业的快速发展,市场对高精度、低功耗、小尺寸晶振的需求持续增长。根据行业权威报告显…

YXC扬兴科技联系方式:产品服务与技术支持相关指南

深圳扬兴科技有限公司(下面简称:YXC),自2010年成立以来,一直专注于时钟频率器件的研发、生产和销售,是业界领先的半导体高新技术企业。 公司主营产品包括晶振、可编程振荡器、VCXO/TCXO/OCXO、三级钟、锁相环芯片…

13.2.3.Tomcat - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …