MySQL 表的操作

目录

[1. 创建表](#1. 创建表)

[1.1 语法](#1.1 语法)

[1.2 示例](#1.2 示例)

[2. 查看表](#2. 查看表)

[2.1 查看当前数据库的表](#2.1 查看当前数据库的表)

[2.2 查看表结构](#2.2 查看表结构)

[3. 修改表](#3. 修改表)

[3.1 重命名表名](#3.1 重命名表名)

[3.2 修改列名称及属性](#3.2 修改列名称及属性)

[3.3 增加字段](#3.3 增加字段)

[3.4 修改字段的属性](#3.4 修改字段的属性)

[3.5 删除字段](#3.5 删除字段)

[4. 删除表](#4. 删除表)


1. 创建表

1.1 语法

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

说明:

field:表示列名。

datatype:表示列的数据类型。

charset:字符集,如果没有指定字符集,则以所在数据库的字符集为准。

collate:校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。

1.2 示例

如上图所示,创建了一个 users 表,其中有字段 id,name,password,birthday,comment 后面表示对该字段的说明。

2. 查看表

2.1 查看当前数据库的表

bash 复制代码
show tables;

上图表明在 user_db 数据库中有 users 表。

2.2 查看表结构

bash 复制代码
desc 表名;

上图表明 users 表的字段属性。

bash 复制代码
show create table 表名;

显示创建表的语句,后续修改表对表进行操作之后也会改变该语句的结果。

将上述语句的 ';' 换成 \G,就可以进行格式化输出了。

3. 修改表

修改表是修改表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。

3.1 重命名表名

bash 复制代码
alter table 原表名 rename to 新表名;

to 可以省略。

3.2 修改列名称及属性

bash 复制代码
alter table 表名 change 原列名 新列名 新列的属性;

如上图所示,列的名称和属性会改变,但是列的内容不变。如果修改后的属性不能包含原有列里面某一列的内容,则修改会失败。

如上图,将 address 重新修改为 birthday 时,但是类型为 varchar(1),则此时这个类型装不下第一行这一列的内容,修改失败。

3.3 增加字段

bash 复制代码
ALTER TABLE tablename ADD column datatype [DEFAULT expr][,column datatype]...;

3.4 修改字段的属性

bash 复制代码
ALTER TABLE tablename MODIfy column datatype [DEFAULT expr][,column datatype]...;

修改是覆盖性修改,会将修改的字段属性覆盖之前字段的属性如果修改后的属性不能包含原有列里面某一列的内容,则修改会失败。

如上图所示,修改后 name 字段的说明没了,所以修改是覆盖式的修改。

3.5 删除字段

bash 复制代码
ALTER TABLE tablename DROP column;

注:删除字段后其对应的列的数据都会被删除。

4. 删除表

bash 复制代码
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
相关推荐
一 乐4 小时前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
1.14(java)6 小时前
SQL数据库操作:从CRUD到高级查询
数据库
Full Stack Developme6 小时前
数据库索引的原理及类型和应用场景
数据库
IDC02_FEIYA8 小时前
SQL Server 2025数据库安装图文教程(附SQL Server2025数据库下载安装包)
数据库·windows
辞砚技术录8 小时前
MySQL面试题——联合索引
数据库·面试
萧曵 丶8 小时前
MySQL 主键不推荐使用 UUID 的深层原因
数据库·mysql·索引
小北方城市网9 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
毕设十刻9 小时前
基于Vue的人事管理系统67zzz(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
TDengine (老段)10 小时前
TDengine Python 连接器入门指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
萧曵 丶11 小时前
事务ACID特性详解
数据库·事务·acid