MySQL 数据库表的操作实战案例

 更新时间:2026年05月06日 10:21:47   作者:重生之小比特  
MySQL表是数据存储的核心容器,掌握表的创建、查看、修改、删除是数据库开发必备技能,本文结合实战案例,带你系统学习MySQL表的所有基础操作,小白也能快速上手,感兴趣的朋友一起看看吧

MySQL 表是数据存储的核心容器,掌握表的创建、查看、修改、删除是数据库开发必备技能。本文结合实战案例,带你系统学习 MySQL 表的所有基础操作,小白也能快速上手。

一、创建表(CREATE TABLE)

创建表是定义数据结构的第一步,需指定字段名、数据类型,还可配置字符集、校验规则、存储引擎。

1. 基础语法

CREATE TABLE table_name (
  field1 datatype,
  field2 datatype,
  field3 datatype
) CHARACTER SET 字符集 COLLATE 校验规则 ENGINE 存储引擎;
  • field:列名(字段名)
  • datatype:列的数据类型(int、varchar、date 等)
  • CHARACTER SET:字符集,不指定则继承数据库字符集
  • COLLATE:校验规则,不指定则继承数据库规则
  • ENGINE:存储引擎,决定表的存储方式与特性

2. 实战案例

创建用户表 users,包含 id、姓名、密码、生日:

CREATE TABLE users (
  id INT,
  name VARCHAR(20) COMMENT '用户名',
  password CHAR(32) COMMENT '密码是32位的md5值',
  birthday DATE COMMENT '生日'
) CHARACTER SET utf8 ENGINE MyISAM;

3. 存储引擎与文件说明

不同存储引擎生成的磁盘文件不同:

  • MyISAM:3 个文件
    • users.frm:表结构文件
    • users.MYD:表数据文件
    • users.MYI:表索引文件
  • InnoDB(默认):2 个文件
    • 表名.frm:表结构
    • 表名.ibd:数据 + 索引合并存储

文件路径示例(Windows):C:\ProgramData\MySQL\MySQL Server 5.7\Data\数据库名\

二、查看表结构(DESC)

创建表后,用 DESC 命令快速查看字段、类型、是否为空等信息。

语法

DESC 表名;
-- 或 DESCRIBE 表名;

示例

DESC users;

返回结果包含:

  • Field:字段名
  • Type:数据类型
  • Null:是否允许为空
  • Key:索引类型
  • Default:默认值
  • Extra:额外信息(自增等)

三、修改表(ALTER TABLE)

业务迭代中常需调整表结构,ALTER TABLE 可完成添加字段、修改字段、删除字段、重命名表 / 字段等操作。

1. 添加字段

ALTER TABLE 表名 ADD 字段名 数据类型 [COMMENT '注释'] [位置];
  • 位置:FIRST(最前)、AFTER 字段名(指定字段后)

示例:给 users 加图片路径字段,放在 birthday 后:

ALTER TABLE users ADD assets VARCHAR(100) COMMENT '图片路径' AFTER birthday;

✅ 新增字段不影响原有数据,旧数据该字段默认为 NULL。

2. 修改字段类型 / 长度

ALTER TABLE 表名 MODIFY 字段名 新数据类型;

示例:把 name 长度从 20 改为 60:

ALTER TABLE users MODIFY name VARCHAR(60);

3. 删除字段

⚠️ 危险操作:删除字段会永久丢失该列所有数据!

ALTER TABLE 表名 DROP 字段名;

示例:删除 password 字段:

ALTER TABLE users DROP password;

4. 重命名表

ALTER TABLE 旧表名 RENAME [TO] 新表名;
-- TO 可省略

示例users 改名为 employee

ALTER TABLE users RENAME TO employee;

5. 重命名字段

CHANGE完整定义新字段(名称 + 类型):

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;

示例name 改为 xingming

ALTER TABLE employee CHANGE name xingming VARCHAR(60);

四、删除表(DROP TABLE)

彻底删除表结构 + 所有数据,不可逆,务必谨慎!

语法

DROP [TEMPORARY] TABLE [IF EXISTS] 表名1 [, 表名2...];
  • IF EXISTS:表不存在也不报错,脚本必备
  • TEMPORARY:仅删除临时表

示例

-- 安全删除单表
DROP TABLE IF EXISTS users;
-- 同时删除多表
DROP TABLE IF EXISTS t1, t2, employee;

五、完整操作流程(实战回顾)

-- 1. 创建表
CREATE TABLE users (
  id INT,
  name VARCHAR(20),
  password CHAR(32),
  birthday DATE
) CHARSET utf8 ENGINE MyISAM;
-- 2. 插入测试数据
INSERT INTO users VALUES
(1,'a','b','1982-01-04'),
(2,'b','c','1984-01-04');
-- 3. 添加字段
ALTER TABLE users ADD assets VARCHAR(100) AFTER birthday;
-- 4. 修改字段长度
ALTER TABLE users MODIFY name VARCHAR(60);
-- 5. 删除字段
ALTER TABLE users DROP password;
-- 6. 重命名表
ALTER TABLE users RENAME TO employee;
-- 7. 重命名字段
ALTER TABLE employee CHANGE name xingming VARCHAR(60);
-- 8. 删除表
DROP TABLE IF EXISTS employee;

六、高频注意事项

  1. 删除字段 / 表前必备份,数据丢失无法恢复
  2. 字段命名避关键字,如 orderuser
  3. 字符集统一,推荐 utf8mb4 支持 emoji
  4. 生产优先 InnoDB,支持事务、外键、崩溃恢复
  5. ALTER 谨慎执行,大表会锁表,建议低峰操作

总结

MySQL 表操作核心就 4 类:

  • CREATE TABLE:建表定结构
  • DESC:查结构看细节
  • ALTER TABLE:改字段 / 表名
  • DROP TABLE:删表清数据

掌握这些,日常开发 90% 的表结构需求都能搞定。

到此这篇关于MySQL 数据库表的操作的文章就介绍到这了,更多相关mysql数据库表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL实现查询数据库表记录数

    MySQL实现查询数据库表记录数

    这篇文章主要介绍了MySQL实现查询数据库表记录数,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • MySql中的Full Text Search全文索引优化

    MySql中的Full Text Search全文索引优化

    这篇文章主要为大家介绍了MySql中的Full Text Search全文索引优化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Mysql的数据库迁移到另一个机器上的方法详解

    Mysql的数据库迁移到另一个机器上的方法详解

    今天小编就为大家分享一篇关于Mysql的数据库迁移到另一个机器上的方法详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • MySQL 表的内外连接案例详解

    MySQL 表的内外连接案例详解

    本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-06-06
  • 从一个MySQL的例子来学习查询语句

    从一个MySQL的例子来学习查询语句

    从一个MySQL的例子来学习查询语句...
    2006-12-12
  • Mysql存储二进制对象数据问题

    Mysql存储二进制对象数据问题

    这篇文章主要介绍了Mysql存储二进制对象数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • MySQL 定时新增分区的实现示例

    MySQL 定时新增分区的实现示例

    本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下
    2025-07-07
  • 简述MySql四种事务隔离级别

    简述MySql四种事务隔离级别

    这篇文章主要介绍了MySql四种隔离级别,帮助大家更好的理解和学习MySQL,感兴趣的朋友可以了解下
    2020-08-08
  • centos7通过yum安装mysql的方法

    centos7通过yum安装mysql的方法

    这篇文章主要介绍了centos7通过yum安装mysql的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • MySQL中如何重建表

    MySQL中如何重建表

    这篇文章主要介绍了MySQL中如何重建表问题。具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论