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

相关推荐
定偶16 分钟前
MySQL安装
数据库·mysql
Zzzzmo_19 分钟前
【MySQL】数据库约束 及 表的设计
数据库·mysql
码云数智-大飞38 分钟前
Oracle RAS:AI时代守护企业数据安全的智能盾牌
数据库·人工智能·oracle
bubuly42 分钟前
软件开发全流程注意事项:从需求到运维的全方位指南
大数据·运维·数据库
我真的是大笨蛋1 小时前
Redo Log详解
java·数据库·sql·mysql·性能优化
fengxin_rou2 小时前
Redis 从零到精通:第一篇 初识redis
数据库·redis·缓存
爱学习的阿磊2 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
m0_736919102 小时前
Python面向对象编程(OOP)终极指南
jvm·数据库·python
OceanBase数据库官方博客2 小时前
滔搏基于OceanBase实现 15TB到0.9TB“无痛切换”与“系统瘦身”
数据库·oceanbase·分布式数据库
Jess072 小时前
MySQL内置函数
数据库·mysql