MySQL关于表的操作

1. 创建表

1.1 语法

sql 复制代码
CREATE TABLE table_name (
    field1 datatype,
    field2 datatype,
    field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

1.2 说明

  • field:列名。

  • datatype:列的数据类型。

  • character set:字符集,默认使用数据库的字符集。

  • collate:校验规则,默认使用数据库的校验规则。

  • engine :存储引擎,如InnoDB、MyISAM

2. 创建表示例

2.1 示例代码

sql 复制代码
create table users (
    id int,
    name varchar(20) comment '用户名',
    password char(32) comment '密码是32位的md5值',
    birthday date comment '生日'
) character set utf8 engine MyISAM;

2.2 存储引擎说明

不同的存储引擎,创建表的文件不一样

  • MyISAM 引擎会生成三个文件:

    • users.frm:表结构。

    • users.MYD:表数据。

    • users.MYI:表索引。

  • InnoDB 引擎的表结构在**.frm** 文件中,数据和索引存储在**.ibd**文件或共享表空间中。

3. 查看表结构

3.1 命令

sql 复制代码
desc 表名;

3.2 示例

sql 复制代码
desc users;

3.3 输出字段说明

字段名 说明
Field 字段名称
Type 数据类型
Null 是否可为空
Key 索引类型
Default 默认值
Extra 额外信息(如自增)

4. 修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

sql 复制代码
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename DROP(column);

4.1 添加字段

在users表中添加几条记录:

在users表中添加一个字段,用于保存图片路径:

sql 复制代码
alter table users add assets varchar(100) comment '图片路径' after birthday;

4.2 修改字段类型

sql 复制代码
alter table users modify name varchar(60);

修改name,将其长度改成60:

4.3 删除字段

sql 复制代码
alter table users drop password;

删除password列:

4.4 修改表名

sql 复制代码
alter table users rename to employee;

修改表名为employee:

4.5 修改字段名

将name列修改为姓名

5. 删除表

5.1 语法

sql 复制代码
drop table [if exists] 表名;

5.2 示例

sql 复制代码
drop table t1;

5.3 说明

  • if exists:防止因表不存在而报错。

  • 可同时删除多张表:drop table t1, t2

  • 删除表会永久移除表结构和所有数据


6. 操作总结表

操作 命令示例 说明
创建表 create table ... 定义表结构
查看表结构 desc 表名; 快速查看字段信息
添加字段 alter table ... add ... 可指定位置
修改字段 alter table ... modify ... 修改类型/长度
修改字段名 alter table ... change ... 修改字段名和类型
删除字段 alter table ... drop ... 永久删除列
修改表名 alter table ... rename ... 更改表名
删除表 drop table ... 永久删除表
相关推荐
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
唐青枫2 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
小满8782 天前
5.Mysql事务隔离级别与锁机制
mysql
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
元Y亨H3 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
SelectDB4 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc