MySQL——表的操作

1.查看所有表

sql 复制代码
SHOW TABLES;
 

注意事项

  • 执行这些命令需要相应的权限,确保当前用户有权限查看表信息。
  • 不同数据库系统的语法差异较大,使用时需注意当前使用的数据库类型。
  • 某些数据库系统可能需要先切换到目标数据库才能查看其表信息。例如在MySQL中:
sql 复制代码
USE database_name;
SHOW TABLES;

2.创建表

sql 复制代码
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
field datatype [
约束] [comment '注解内容']
[, field datatype [约束] [comment '注解内容']] ...
) [engine 存储引擎] [character set 字符集] [collate 排序规则];

关键组成部分

表名table_name需遵循数据库命名规则,通常使用小写字母和下划线。

列定义:每列需指定列名、数据类型和可选约束。例如:

sql 复制代码
id INT PRIMARY KEY,
username VARCHAR(50) NOT NULL
 

• TEMPORARY:表⽰创建的是⼀个临时表

• field:列名 • datatype:数据类型

• comment:对列的描述或说明

• engine:存储引擎,不指定则使用默认存储引擎

• characterset:字符集,不指定则使⽤默认字符集

• collate:排序规则,不指定则使⽤默认排序规则

创建表示例

sql 复制代码
CREATE TABLE users (
    user_id SERIAL ,
    username VARCHAR(50) ,
    email VARCHAR(100) ,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    is_active BOOLEAN DEFAULT TRUE
) CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
 

3.表在磁盘上对应的文件

数据文件
  • MySQL(InnoDB) :默认存储在 .ibd 文件中(每个表一个文件,若启用 innodb_file_per_table)。
元数据文件
  • MySQL :表结构存储在 .frm 文件(5.7及之前)或系统表空间(8.0+)。
索引文件
  • InnoDB :索引与数据共存于 .ibd 文件(聚簇索引)。
  • PostgreSQL :索引单独存储为 base/<database_id>/<index_file_id>
临时文件
  • MySQL :临时文件默认在 /tmp 目录(由 tmpdir 参数控制)。
日志文件

事务日志(如 InnoDB 的 ib_logfile*)不直接存储表数据,但影响持久性和恢复。

4.查看表结构

sql 复制代码
desc table_name;

5.修改表

语法

sql 复制代码
ALTER TABLE tbl_name [alter_option [, alter_option] ...];
alter_option: {
table_options
| ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]
| MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| RENAME COLUMN old_col_name TO new_col_name
| RENAME [TO | AS] new_tbl_name

tbl_name:要修改的表名

• ADD:向表中添加列

• MODIFY:修改表中现有的列

• DROP:删除表中现有的列

• RENAMECOLUMN:重命名表中现有的列

• RENAME[TO|AS]new_tbl_name:重命名当前的表

示例

添加

sql 复制代码
alter table users ADD assets varchar(100)

修改

sql 复制代码
alter table users MODIFY assets varchar(255);

重命名某列

sql 复制代码
alter table users RENAME COLUMN assets TO avatar;

删除某个字段

sql 复制代码
alter table users DROP avatar;

重命名表名

sql 复制代码
alter table users RENAME TO test;

删除表

sql 复制代码
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

TEMPORARY:表⽰临时表

tbl_name:将要删除的表名

相关推荐
想摆烂的不会研究的研究生1 小时前
每日八股——Redis(1)
数据库·经验分享·redis·后端·缓存
码熔burning2 小时前
MySQL 8.0 新特性爆笑盘点:从青铜到王者的骚操作都在这儿了!(万字详解,建议收藏)
数据库·mysql
猫头虎2 小时前
2025最新OpenEuler系统安装MySQL的详细教程
linux·服务器·数据库·sql·mysql·macos·openeuler
哈库纳玛塔塔2 小时前
放弃 MyBatis,拥抱新一代 Java 数据访问库
java·开发语言·数据库·mybatis·orm·dbvisitor
@LetsTGBot搜索引擎机器人4 小时前
2025 Telegram 最新免费社工库机器人(LetsTG可[特殊字符])搭建指南(含 Python 脚本)
数据库·搜索引擎·机器人·开源·全文检索·facebook·twitter
计算机毕设VX:Fegn08954 小时前
计算机毕业设计|基于springboot + vue动物园管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
冉冰学姐4 小时前
SSM校园排球联赛管理系统y513u(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架应用·开题报告、
Tony Bai5 小时前
【分布式系统】03 复制(上):“权威中心”的秩序 —— 主从架构、一致性与权衡
大数据·数据库·分布式·架构
wb043072016 小时前
SQL工坊不只是一个ORM框架
数据库·sql
至善迎风6 小时前
Redis完全指南:从诞生到实战
数据库·redis·缓存