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 ... 永久删除表
相关推荐
IvorySQL8 小时前
PostgreSQL 日报|修复截断 zstd 备份检测(10 月 9 日)
数据库·postgresql
刘胡子大叔8 小时前
SQL 脚本的导入顺序
数据库·sql
代码什么用8 小时前
Spring对IoC的实现
数据库·spring
hz5678910 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC10 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday11 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码11 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
Yyyyyy~11 小时前
[ Mysql ] 库的操作
mysql
小米里的大麦11 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新11 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库