news 2026/4/23 6:44:05

还在傻傻用 UPDATE 改表结构?MySQL 中真正修改表,要靠这几个 DDL 命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
还在傻傻用 UPDATE 改表结构?MySQL 中真正修改表,要靠这几个 DDL 命令


很多刚学数据库的人,最容易把两件事混在一起:

  • 修改表里的数据
  • 修改表本身的结构

看起来都叫“修改”,但本质完全不是一回事。

比如:

  • 把某个学生的年龄从 18 改成 20,这是改数据
  • 给学生表新增一个成绩列,这是改表结构
  • 把某个字段类型从DOUBLE改成FLOAT,这也是改表结构
  • 直接把整张表删掉,那就更不是删数据,而是删表对象本身

如果你连这两类操作都没分清,后面写 SQL 很容易把自己绕进去。

今天这篇文章,我们就从实战角度,把 MySQL 中修改表结构、删除列、修改列定义、删除整张表这一套 DDL 操作讲清楚。
不空讲概念,直接配代码、运行结果和典型坑点。


一、先搞清楚:你改的是“数据”,还是“表”

数据库里常见的 SQL 操作,可以粗分为两类:

1)DML:操作数据

这类语句主要针对表里的记录,比如:

  • INSERT
  • UPDATE
  • DELETE

例子:

UPDATEt_studentSETs_age=20WHEREs_no=1;

这叫改数据,不叫改表。


2)DDL:操作数据库对象

这类语句针对的是数据库对象本身,比如:

  • 数据库
  • 索引
  • 视图
  • 约束

常见命令有:

  • CREATE
  • ALTER
  • DROP

例子:

ALTERTABLEt_studentADDscoreDOUBLE(5,2);

这叫修改表结构,属于 DDL。


二、修改表结构,核心就是 ALTER TABLE

在 MySQL 里,改表结构最常用的命令就是:

ALTERTABLE表名...

后面根据你的需求,可以继续接:

  • ADD:增加列
  • DROP COLUMN:删除列
  • MODIFY:修改列类型
  • CHANGE:修改列名和列定义

所以你可以把ALTER TABLE理解成一句总开关:

我要开始动这张表本身了。


三、给表新增一列:ADD 才是正确打开方式

假设现在有一张学生表t_student,结构如下:

CREATETABLEt_student(s_noINT(6),s_nameVARCHAR(20),s_sexCHAR(1),s_ageINT,enter_dateDATE,class_nameVARCHAR(30),emailVARCHAR(50));

先查一下表中的数据:

SELECT*FROMt_student;

运行结果示例:

+------+--------+-------+-------+------------+------------+------------------+ | s_no | s_name | s_sex | s_age | enter_date | class_name | email | +------+--------+-------+-------+------------+------------+------------------+ | 1 | 张三 | 男 | 18 | 2022-05-08 | 软件一班 | 123@126.com | | 2 | 李四 | 女 | 19 | 2022-05-08 | 软件二班 | li4@126.com | +------+--------+-------+-------+------------+------------+------------------+

现在我们想增加一列“成绩”。


1)新增一列的基本写法

ALTERTABLEt_studentADDscoreDOUBLE(5,2);

运行结果:

Query OK, 0 rows affected

再次查询表结构或直接查看数据:

SELECT*FROMt_student;

运行结果示例:

+------+--------+-------+-------+------------+------------+------------------+-------+ | s_no | s_name | s_sex | s_age | enter_date | class_name | email | score | +------+--------+-------+-------+------------+------------+------------------+-------+ | 1 | 张三 | 男 | 18 | 2022-05
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 6:42:06

为什么推荐0.6温度?DeepSeek-R1-Distill-Qwen-1.5B输出稳定性测试

为什么推荐0.6温度?DeepSeek-R1-Distill-Qwen-1.5B输出稳定性测试 最近在部署DeepSeek-R1-Distill-Qwen-1.5B模型时,官方文档里有个建议引起了我的注意:"将温度设置在0.5-0.7之间(推荐0.6)"。这个建议挺有意…

作者头像 李华
网站建设 2026/4/23 6:35:32

mysql如何配置大页内存_mysql large-pages开启方法

MySQL启用large-pages失败主因是内核未配vm.nr_hugepages、limits.conf未设memlock、systemd覆盖ulimit或mysqld非root/CAP_IPC_LOCK权限启动;需依次配置sysctl、limits、service文件,并在[mysqld]段写large-pages(无等号)&#x…

作者头像 李华
网站建设 2026/4/23 6:33:28

DeepAnalyze与Vue.js集成:构建数据分析仪表盘

DeepAnalyze与Vue.js集成:构建数据分析仪表盘 1. 引言 想象一下这样的场景:你的团队刚刚使用DeepAnalyze完成了一项复杂的数据分析任务,生成了包含关键洞察的专业报告。但现在面临一个新的挑战——如何让这些分析结果以直观、交互的方式呈现…

作者头像 李华
网站建设 2026/4/23 6:32:48

收藏|2026全面解析AI Agent开发技术路线图,从入门到实战全覆盖

本文全面解析AI Agent开发技术路线图,从基础概念到高级工程落地,涵盖编程与提示工程、Agent基础架构、LLM调用与工具集成、RAG技术、多Agent系统、用户界面部署及安全治理等核心层次。文章为零基础小白、后端转AI、资深开发者提供分层系统化学习路径&…

作者头像 李华
网站建设 2026/4/23 6:29:33

AI Agent核心架构解析:从原理到主流框架对比

AI Agent 核心架构解析:从原理到主流框架对比 在大型语言模型(LLM)飞速发展的今天,AI Agent(人工智能代理)正成为继RAG之后最炙手可热的技术方向。与简单的大模型问答不同,Agent赋予了AI"自…

作者头像 李华
网站建设 2026/4/23 6:23:55

预测模型构建:特征工程与模型优化的系统方法

1. 预测模型构建的核心挑战在数据科学领域,构建预测模型就像组装一台精密仪器——每个零件(特征)的选择和打磨直接影响最终成品的性能表现。过去五年间,我参与过23个不同行业的预测建模项目,发现80%的失败案例都源于特…

作者头像 李华