SQL DDL 库表管理

type
status
date
slug
summary
tags
category
icon
password

一、SQL 语句分类

类型
全称
作用
常用命令
DDL
数据定义语言
管理库/表结构
CREATE, DROP, ALTER
DML
数据操作语言
操作表内数据
INSERT, DELETE, UPDATE, SELECT
DCL
数据控制语言
管理用户权限
GRANT, REVOKE

二、数据库操作指南

1. 查看数据库
系统库说明
数据库名
作用
information_schema
存储数据库元数据(版本、字符集等)
mysql
存储用户、密码、权限信息
performance_schema
存储服务器性能数据(连接数、线程等)
sys
简化版性能监控库
💡
sys:对performance_schema和information_schema数据库的简化,方便数据库管理员查看
2. 创建数据库(修正字符集错误)
永久修改字符集(/etc/my.cnf):
3. 删除数据库
4. 切换数据库

三、数据表操作详解

1. 创建表语法
示例
2. 数据类型速查表
类型
说明
示例
整数
根据范围选择
TINYINT, INT, BIGINT
浮点数
需指定总位数和小数位
FLOAT(5,2) → 123.45
字符串
CHAR定长 / VARCHAR变长
CHAR(10), VARCHAR(255)
文本
存储大段文字
TEXT(最大 64KB)
枚举
固定选项值
ENUM('是','否')
日期时间
记录时间信息
DATE, DATETIME
3. 常用约束
约束
作用
PRIMARY KEY
主键(唯一且非空)
AUTO_INCREMENT
自增(仅用于整数)
NOT NULL
禁止为空
UNIQUE
值必须唯一
DEFAULT
默认值
4. 查看表信息
5. 删除表

四、MySQL 存储引擎storage engine 支持多种不同的存储引擎,存储引擎不同,MySQL数据库支持的功能、特性是不一样的
1. 查看引擎
2. 两大核心引擎对比
特性
MyISAM
InnoDB(默认)
事务支持
❌ 不支持
✅ 支持 ACID 事务
锁机制
表级锁(并发性低)
行级锁(高并发)
外键支持
崩溃恢复
强(写日志优先)
存储文件
.MYD(数据)+ .MYI(索引)
.ibd(单文件整合)
适用场景
读多写少的静态表
读写频繁、需事务的业务表
.sdi 表结构文件
💡
锁是计算机协调多个进程或线程并发访问某一资源的机制。
表锁顾名思义就是对表级别的锁定,每次操作锁住整张表
行锁顾名思义就是对行的锁定,每次操作锁住操作行
一个表对应一个ibd文件,一个文件存储表相关的数据、索引、表结构
MySQL支持所有引擎

核心存储引擎对比

引擎
是否支持
事务支持
关键特性
适用场景
InnoDB
YES
YES
支持事务、行级锁、外键、崩溃恢复(默认引擎)
高并发事务处理 (OLTP)
MyISAM
YES
NO
表级锁、全文索引、高读取性能
只读/低频写数据仓库
MEMORY (HEAP)
YES
NO
数据存内存、极高读写速度
临时表/缓存
CSV
YES
NO
数据存CSV文件
数据导入导出
ARCHIVE
YES
NO
高压缩率(Zlib)、仅支持INSERT/SELECT
日志类历史数据存储
BLACKHOLE
YES
NO
写入数据自动丢弃
主从复制中继/性能测试
MRG_MYISAM
YES
NO
合并多个MyISAM表为逻辑视图
分表数据聚合查询
PERFORMANCE_SCHEMA
YES
NO
性能监控指标存储
服务器性能分析
~~FEDERATED~~
NO
-
跨服务器数据访问
(当前未启用)
~~ndbcluster~~
NO
-
集群存储引擎
(当前未启用)
⚠️ 禁用引擎说明:
ndbcluster (MySQL Cluster) 和 FEDERATED (跨服务器表) 在您的服务器上未启用,需重新编译或配置加载。
3. 指定引擎建表
4. 修改默认引擎/etc/my.cnf

最佳实践:
  • 生产环境统一使用 InnoDB 引擎
  • 建表时显式指定字符集:CHARSET=utf8mb4
  • 重要操作前备份:mysqldump -u root -p mydb > mydb_backup.sql
 
Loading...