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:将要删除的表名

相关推荐
jianghua0016 小时前
Django视图与URLs路由详解
数据库·django·sqlite
那我掉的头发算什么6 小时前
【Mybatis】Mybatis-plus使用介绍
服务器·数据库·后端·spring·mybatis
倔强的石头1066 小时前
关系数据库替换用金仓:数据迁移过程中的完整性与一致性风险
数据库·kingbase
_Johnny_6 小时前
ETCD 配额/空间告警模拟脚本
数据库·chrome·etcd
静听山水6 小时前
StarRocks查询加速
数据库
静听山水7 小时前
StarRocks高级特性
数据库
范纹杉想快点毕业7 小时前
从单片机基础到程序框架:全方位技术深度解析
数据库·mongodb
晚风_END7 小时前
Linux|操作系统|elasticdump的二进制方式部署
运维·服务器·开发语言·数据库·jenkins·数据库开发·数据库架构
devmoon7 小时前
Polkadot SDK 自定义 Pallet Benchmark 指南:生成并接入 Weight
开发语言·网络·数据库·web3·区块链·波卡
数据知道7 小时前
PostgreSQL 故障排查:紧急排查与 SQL 熔断处理(CPU 占用 100% 等情况)
数据库·sql·postgresql