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;
六、高频注意事项
- 删除字段 / 表前必备份,数据丢失无法恢复
- 字段命名避关键字,如
order、user等 - 字符集统一,推荐
utf8mb4支持 emoji - 生产优先 innodb,支持事务、外键、崩溃恢复
- alter 谨慎执行,大表会锁表,建议低峰操作
总结
mysql 表操作核心就 4 类:
- create table:建表定结构
- desc:查结构看细节
- alter table:改字段 / 表名
- drop table:删表清数据
掌握这些,日常开发 90% 的表结构需求都能搞定。
到此这篇关于mysql 数据库表的操作的文章就介绍到这了,更多相关mysql数据库表内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论