新闻详情

新闻详情

首页 / 资讯中心 / 详情

MySQL 表的操作全解:创建、查看、修改、删除,一篇讲透

发布时间:2026/9/27 21:44:25来源:尧图网络
MySQL 表的操作全解:创建、查看、修改、删除,一篇讲透
上一篇讲了库的操作这一篇来系统掌握 MySQL **表table**的完整操作创建表、查看表结构、修改表结构、删除表。特别是ALTER TABLE的各种用法是日常开发改动表结构的高频操作一定得记牢。一、创建表MySQL 使用CREATE TABLE语句创建表语法如下CREATETABLEtable_name(field1 datatype,field2 datatype,field3 datatype)characterset字符集collate校验规则engine存储引擎;语法说明field表示列名datatype表示列的类型如int、varchar、datecharacter set 字符集如果不指定则以所在数据库的字符集为准collate 校验规则如果不指定则以所在数据库的校验规则为准engine 存储引擎决定表在磁盘上的存储方式如MyISAM、InnoDB。二、创建表案例createtableusers(idint,namevarchar(20)comment用户名,passwordchar(32)comment密码是32位的md5值,birthdaydatecomment生日)charactersetutf8engineMyISAM;comment用来给字段添加注释方便后来者理解字段含义。不同的存储引擎建表生成的文件不一样上面users表用的是MyISAM引擎在数据目录下会生成三个文件文件含义users.frm表结构users.MYD表数据users.MYI表索引打开数据目录例如C:\ProgramData\MySQL\MySQL Server 5.7\Data\test1可以看到名称类型大小db.optOption 文件1 KBperson.frmFRM 文件9 KBperson.ibdIBD 文件96 KBusers.frmFRM 文件9 KBusers.MYDMYD 文件0 KBusers.MYIMYI 文件1 KB 备注如果改成InnoDB引擎创建表就不会有.MYD/.MYI而是.frm表结构.ibd表数据和索引一起存两个文件。这也是 InnoDB 和 MyISAM 的直观区别。三、查看表结构desc表名;以users表为例mysql desc users; -------------------------------------------------- | Field | Type | Null | Key | Default | Extra | -------------------------------------------------- | id | int(11) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | password | char(32) | YES | | NULL | | | birthday | date | YES | | NULL | | --------------------------------------------------各列含义列名含义Field字段名字Type字段类型Null是否允许为空Default默认值Extra扩充信息如自增四、修改表实际开发中经常要调整表结构改字段名、改字段大小、改类型、改字符集、改存储引擎甚至增删字段。这时就需要ALTER TABLE。4.1 ALTER TABLE 通用语法-- 添加字段ALTERTABLEtablenameADD(columndatatype[DEFAULTexpr][,columndatatype]...);-- 修改字段修改类型/大小ALTERTABLEtablenameMODIFY(columndatatype[DEFAULTexpr][,columndatatype]...);-- 删除字段ALTERTABLEtablenameDROP(column);4.2 实战案例先给users表插入两条数据mysqlinsertintousersvalues(1,a,b,1982-01-04),(2,b,c,1984-01-04);① 添加一个字段保存图片路径altertableusersaddassetsvarchar(100)comment图片路径afterbirthday;after birthday表示把新字段插在birthday之后。查看结果——新增字段对原表已有数据没有影响mysql desc users; --------------------------------------------------- | Field | Type | Null | Key | Default | Extra | --------------------------------------------------- | id | int(11) | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | password | char(32) | YES | | NULL | | | birthday | date | YES | | NULL | | | assets | varchar(100) | YES | | NULL | | --------------------------------------------------- mysql select * from users; --------------------------------------- | id | name | password | birthday | assets | --------------------------------------- | 1 | a | b | 1982-01-04 | NULL | -- 原数据仍然存在 | 2 | b | c | 1984-01-04 | NULL | ---------------------------------------② 修改 name 字段长度altertableusersmodifynamevarchar(60);结果name从varchar(20)变成varchar(60)。③ 删除 password 字段altertableusersdroppassword;⚠️删除字段一定要小心字段和它对应的列数据都会一起消失无法恢复。删除后结构--------------------------------------------------- | Field | Type | Null | Key | Default | Extra | --------------------------------------------------- | id | int(11) | YES | | NULL | | | name | varchar(60) | YES | | NULL | | | birthday | date | YES | | NULL | | | assets | varchar(100) | YES | | NULL | | ---------------------------------------------------④ 修改表名altertableusersrenametoemployee;to可以省略等价于alter table users rename employee;。改名后数据不丢失mysql select * from employee; ----------------------------- | id | name | birthday | assets | ----------------------------- | 1 | a | 1982-01-04 | NULL | | 2 | b | 1984-01-04 | NULL | -----------------------------⑤ 修改字段名altertableemployee change name xingmingvarchar(60);⚠️ 用change修改字段名时新字段需要给出完整定义类型必须带上不能只写名字。结果--------------------------------------------------- | Field | Type | Null | Key | Default | Extra | --------------------------------------------------- | id | int(11) | YES | | NULL | | | xingming | varchar(60) | YES | | NULL | | | birthday | date | YES | | NULL | | | assets | varchar(100) | YES | | NULL | | ---------------------------------------------------五、删除表语法DROP[TEMPORARY]TABLE[IFEXISTS]tbl_name[,tbl_name]...;示例droptablet1;⚠️ 删除表是不可逆操作表结构和数据都会一并删除。IF EXISTS加上可避免表不存在时报错一次性可删除多张表用逗号分隔。六、总结操作命令创建表create table 表名(字段 类型 ...) engine存储引擎;查看表结构desc 表名;添加字段alter table 表名 add 字段 类型 [after 某字段];修改字段类型/大小alter table 表名 modify 字段 新类型;修改字段名alter table 表名 change 旧名 新名 完整类型;删除字段alter table 表名 drop 字段;修改表名alter table 旧表名 rename to 新表名;删除表drop table [if exists] 表名;核心一句话建表选好存储引擎MyISAM 三文件 vs InnoDB 两文件改表用ADD增、MODIFY改类型、CHANGE改名字、DROP删字段删除类操作务必谨慎。如果这篇对你有帮助欢迎点赞收藏。本系列持续更新 MySQL 操作。有疑问欢迎评论区交流。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

基于YOLOv8的自动车牌识别机器学习实战项目python数据分析与可视化 2026/9/27 22:48:08

基于YOLOv8的自动车牌识别机器学习实战项目python数据分析与可视化

✅源码获取: 🍅--------------------【点击左上方头像,在置顶文章上方的wx】联系我们-------------🍅✌网站介绍:✌10年项目辅导经验、专注于计算机技术领域学生项目实战辅导。✌服务范围:大数据、机器学习…

阅读更多 →
〖共创稿事节〗HarmonyOS 7 新特性实战(06):TiledGSNode 分块请求、相机驱动与离页清理 2026/9/27 22:48:07

〖共创稿事节〗HarmonyOS 7 新特性实战(06):TiledGSNode 分块请求、相机驱动与离页清理

一个小展品可以整体加载,整座展厅却未必适合一次读入。用户站在入口时,只需要入口附近可见的内容;把远处房间也全部准备好,会延长首屏并抬高内存占用。分块场景要解决的是可见范围、数据就绪与资源预算之间的协调。 API 26 的 Ti…

阅读更多 →
Linux指令(二) 2026/9/27 22:48:07

Linux指令(二)

Linux下一切皆文件,如向显示器打印是向显示器文件进行写入;从键盘输入数据是从键盘文件读入数据echo 内容:默认将此内容写入到显示器文件上ccho 内容 > 文件名:会将此内容写入到指定文件(若文件不存在会新建&#x…

阅读更多 →
零基础搞定三合一网站开发教程,一文搞懂 2026/9/27 22:48:00

零基础搞定三合一网站开发教程,一文搞懂

零基础搞定三合一网站开发教程,一文搞懂 想做个网站却怕代码?别慌。 不会编程也能上线,三合一网站开发教程来了。 今天这文,带你一文搞懂建站全流程。 很多老板找我们做站,第一句话就是:“我会写代码吗?不会。能给我做个能赚钱的站吗?”…

阅读更多 →
289基于SpringBoot4+Vue3的比亚迪试驾预约平台、4S店试驾预约系统、汽车试驾预约平台、新能源汽车试驾预约系统、4S店官网预约系统;毕业设计、课程设计 2026/9/27 22:48:00

289基于SpringBoot4+Vue3的比亚迪试驾预约平台、4S店试驾预约系统、汽车试驾预约平台、新能源汽车试驾预约系统、4S店官网预约系统;毕业设计、课程设计

✅博主简介:Java全栈开发工程师(bishecoder),精通Java开发、系统设计、项目实战。 ✅技术栈:SpringBoot、Vue、React、Node.js、Nest.js、uni-app等 ✅技术擅长:定制项目、修改代码、编写文档、技术指导等。…

阅读更多 →
从“撮合”到“盘活”:浙江商业拍卖行业进入价值运营时代 2026/9/27 22:48:00

从“撮合”到“盘活”:浙江商业拍卖行业进入价值运营时代

在房地产存量时代,商业拍卖正从边缘渠道走向资产处置的主舞台。尤其在浙江及杭州地区,依托阿里资产等数字化平台的深度介入,一批商业拍卖公司正在经历角色蜕变——它们不再只是信息撮合的中介,而是深度介入资产处置全链条的“价值…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉