前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【MySQL】表的操作

【MySQL】表的操作

作者头像
Yui_
发布2025-04-19 22:32:40
发布2025-04-19 22:32:40
16900
代码可运行
举报
文章被收录于专栏:Yui编程知识Yui编程知识
运行总次数:0
代码可运行

在数据库中,一起皆是表,可以说表是数据库最重要的组成部分.后续的 sql语句也大多数就是对表进行操作.

1.创建表

语法:

代码语言:javascript
代码运行次数:0
运行
复制
CREATE TABLE 表名(
	属性名1 属性类型
	属性名2 属性类型
	属性名3 属性类型
)character set 字符集 collate 校验规则 engine;
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准 .
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准.
  • engine 存储引擎,如果没有指定存储引擎,则以所在数据库的存储引擎为准. 字符集和校验规则已经没什么好讲的了,不了解的可以去看上一篇文章:【MySQL】库的操作-CSDN博客 存储引擎,这个在配置文件时添加的,现在打开配置文件/etc/my.cnf
image.png
image.png

我们可以怎么查看表的存储引擎呢? 找到/var/lib/mysql/数据库名进入这个目录,找到刚刚创建的表:

image.png
image.png

当我们使用innodb这个存储引擎时,会产生这两个文件.

1.1 知识补充: )存储引擎

在 MySQL 中,存储引擎(Storage Engine) 决定了表的底层实现方式,比如数据的存储、索引的使用、事务支持等特性。 下表由GPT生成:

特性

InnoDB 🏆(默认)

MyISAM 🗂️

MEMORY ⚡

ARCHIVE 📦

事务支持

✅ 是

❌ 否

❌ 否

❌ 否

外键支持

✅ 是

❌ 否

❌ 否

❌ 否

锁粒度

行级锁

表级锁

表级锁

表级锁

崩溃恢复

✅ 支持

❌ 较差

❌ 易丢失

存储位置

磁盘

磁盘

内存

磁盘

适合场景

高并发读写、事务场景

查询多写少

缓存临时表

日志压缩存储

存储引擎是表的“内核”,不同引擎适用于不同场景

2. 查看表

2.1 查看当前数据库下的所有表

代码语言:javascript
代码运行次数:0
运行
复制
show tables;
image.png
image.png

2.2 查看指定表结构

代码语言:javascript
代码运行次数:0
运行
复制
desc 表名;
image.png
image.png

2.3 查看表的创建信息

有两种方法来查看建表信息:

代码语言:javascript
代码运行次数:0
运行
复制
show create table 表名; 
show create table 表名/G
image.png
image.png

个人认为,/G更好点~ 我们可以从建表信息中得到什么呢? 我们写得属性名和属性类型都可以看到,除此之外还可以看到存储引擎\字符集,以及(DEFAULT 默认值,可以看出C++中的缺省). 当然可以看到到还不值这些,比如:注释信息(我没写) 主键\外建\非空等等约束,这些应该会在表的约束和大家见面. 悄悄告诉你,其实desc 表名的内容就是从这个建表信息中提取的.

3. 修改表

修改表有很多操作,就比如:添加属性,修改属性(修改属性名,修改属性类型),删除属性. 语法:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE 表名 ADD (属性1 属性类型[DEFAULT expr][,属性2 属性类型]...);
ALTER TABLE 表名 MODIFY (属性1 属性类型[DEFAULT expr][,属性2 属性类型]...);
ALTER TABLE 表名 DROP (column);
image.png
image.png

3.1 新增属性

现在我就新增两个属性,分别为班级和社团

image.png
image.png

新增的属性默认是最后的,不过新增属性时也支持指定位置,但是只有在新增单个属性时才可以指定位置.

3.2 修改属性

修改属性又可以分为对属性名的修改,对属性类型的修改。

  1. 修改属性类型
代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE tablename MODIFY column datatype [DEFAULT expr], [MODIFY ...];
  • 需要确保修改的字段存在,并且要保证修改后的字段类型与表中已经存在的数据类型相匹配。
  • 支持修改多个属性,用,分离。
  • 修改属性后,原字段的所有消息都会被覆盖,包括注释。
image.png
image.png

2. 修改属性名

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE tablename CHANGE oldcolumn newcolumn datatype [DEFAULT expr];
image.png
image.png

除了可以修改属性名外,其实也是可以修改属性类型的。

image.png
image.png

3.3 删除属性

语法:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE 表名 DROP 属性名;
image.png
image.png

如果要删除一样东西的话,一定要确定他是对你没有的东西,以后也不会有用了。

3.4 修改表名

语法:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER TABLE 旧表名 rename [to] 新表名 

创建一个临时的表,来演示修改表名和删除表~

image.png
image.png

这是新创建的表,下面开始修改它。

image.png
image.png

4. 删除表

语法:

代码语言:javascript
代码运行次数:0
运行
复制
DROP [TEMPORARY] TABLE [IF NOT EXISTS] 表名 [,表名2]...

下面看演示:

image.png
image.png

同样的,在删除表前一定要清楚删除后会用什么后果哦~

image.png
image.png

5. 总结

本文主要讲述了对表的增(创建)删查改,不过这些都是表的基操作,后续的文章就对表的操作进行进阶

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.创建表
    • 1.1 知识补充: )存储引擎
  • 2. 查看表
    • 2.1 查看当前数据库下的所有表
    • 2.2 查看指定表结构
    • 2.3 查看表的创建信息
  • 3. 修改表
    • 3.1 新增属性
    • 3.2 修改属性
    • 3.3 删除属性
    • 3.4 修改表名
  • 4. 删除表
  • 5. 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档