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 ... 永久删除表
相关推荐
2301_8039346121 分钟前
Go语言如何做网络爬虫_Go语言爬虫开发教程【指南】
jvm·数据库·python
秋91 小时前
windows中安装redis
数据库·redis·缓存
Cosolar1 小时前
万字详解:RAG 向量索引算法与向量数据库架构及实战
数据库·人工智能·算法·数据库架构·milvus
想唱rap2 小时前
IO多路转接之poll
服务器·开发语言·数据库·c++
小江的记录本2 小时前
【Java基础】泛型:泛型擦除、通配符、上下界限定(附《思维导图》+《面试高频考点清单》)
java·数据结构·后端·mysql·spring·面试·职场和发展
SeaTunnel2 小时前
AI 让 SeaTunnel 读源码和调试过时了吗?
大数据·数据库·人工智能·apache·seatunnel·数据同步
凯瑟琳.奥古斯特2 小时前
数据冗余与规范化的本质[数据库原理]
开发语言·数据库·职场和发展
_ku_ku_3 小时前
数据库系统原理 · SQL 数据定义、更新及数据库编程 · 自学总结
数据库·oracle
Mortalbreeze3 小时前
深度理解文件系统 ---- 从磁盘存储到内核存储
大数据·linux·数据库
2301_803934613 小时前
MySQL 字段类型选择规范指南
jvm·数据库·python