指令集-SQL 常用指令速查手册

本文整理了 SQL 数据库操作中最常用的指令,涵盖库表管理、数据增删改查、多表查询、索引视图、用户权限以及关键的运维维护命令,旨在为开发者提供一份高效、实用的速查指南。持续更新中BUFF


1. 库与表管理 (DDL)

数据库操作

sql 复制代码
-- 创建数据库
CREATE DATABASE 数据库名;
-- 删除数据库
DROP DATABASE 数据库名;
-- 切换数据库
USE 数据库名;

表结构操作

sql 复制代码
-- 创建表
CREATE TABLE 表名 (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    create_time DATETIME
);
-- 查看表结构
DESC 表名;
-- 删除表
DROP TABLE 表名;
-- 清空表(保留结构,重置自增ID)
TRUNCATE TABLE 表名;
-- 新增列
ALTER TABLE 表名 ADD COLUMN 列名 VARCHAR(20);
-- 删除列
ALTER TABLE 表名 DROP COLUMN 列名;
-- 修改列类型
ALTER TABLE 表名 MODIFY COLUMN 列名 INT;

2. 数据操作 (DML)

插入数据

sql 复制代码
-- 插入单条
INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);
-- 插入多条
INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2), (值3, 值4);

更新数据

sql 复制代码
-- 修改数据(务必加 WHERE)
UPDATE 表名 SET 列1 = 新值 WHERE 条件;

删除数据

sql 复制代码
-- 删除数据(务必加 WHERE)
DELETE FROM 表名 WHERE 条件;

3. 数据查询 (DQL)

基础查询

sql 复制代码
-- 查询所有
SELECT * FROM 表名;
-- 查询指定列
SELECT 列1, 列2 FROM 表名;
-- 别名
SELECT 列1 AS 别名 FROM 表名;
-- 去重
SELECT DISTINCT 列名 FROM 表名;

条件筛选

sql 复制代码
-- 基础条件
SELECT * FROM 表名 WHERE 条件;
-- 逻辑组合
SELECT * FROM 表名 WHERE 条件1 AND 条件2;
SELECT * FROM 表名 WHERE 条件1 OR 条件2;
-- 范围查询
SELECT * FROM 表名 WHERE id BETWEEN 10 AND 20;
-- 包含查询
SELECT * FROM 表名 WHERE id IN (1, 2, 3);
-- 模糊查询
SELECT * FROM 表名 WHERE name LIKE '%关键字%';

排序与分组

sql 复制代码
-- 排序(ASC 升序,DESC 降序)
SELECT * FROM 表名 ORDER BY 列名 DESC;
-- 分组统计
SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名;
-- 分组后筛选
SELECT 列名, COUNT() FROM 表名 GROUP BY 列名 HAVING COUNT() > 1;

分页查询

sql 复制代码
-- MySQL 分页 (从第 0 条开始,取 10 条)
SELECT * FROM 表名 LIMIT 0, 10;

4. 多表查询

连接查询

sql 复制代码
-- 内连接(交集)
SELECT * FROM 表A INNER JOIN 表B ON 表A.id = 表B.aid;
-- 左连接(以左表为主)
SELECT * FROM 表A LEFT JOIN 表B ON 表A.id = 表B.aid;
-- 右连接(以右表为主)
SELECT * FROM 表A RIGHT JOIN 表B ON 表A.id = 表B.aid;

联合查询

sql 复制代码
-- 合并结果(去重)
SELECT 列名 FROM 表A UNION SELECT 列名 FROM 表B;
-- 合并结果(不去重)
SELECT 列名 FROM 表A UNION ALL SELECT 列名 FROM 表B;

5. 索引与视图

索引管理

sql 复制代码
-- 创建索引
CREATE INDEX 索引名 ON 表名 (列名);
-- 查看索引
SHOW INDEX FROM 表名;
-- 删除索引
DROP INDEX 索引名 ON 表名;

视图管理

sql 复制代码
-- 创建视图
CREATE VIEW 视图名 AS SELECT 语句;
-- 删除视图
DROP VIEW 视图名;

6. 用户与权限

用户管理

sql 复制代码
-- 创建用户
CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
-- 授权(所有权限)
GRANT ALL PRIVILEGES ON 数据库.* TO '用户名'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
-- 查看用户权限
SHOW GRANTS FOR '用户名'@'%';

7. 实用维护与运维指令

开放远程访问 (关键运维)

sql 复制代码
-- 1. 创建允许远程连接的用户 (% 表示任意主机)
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
-- 2. 授予远程用户所有权限
GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION;
-- 3. 刷新权限使其生效
FLUSH PRIVILEGES;
-- 注意:如果连不上,请检查防火墙端口是否开放

备份与还原 (Shell执行)

bash 复制代码
# 备份整个数据库
mysqldump -u root -p 数据库名 > backup.sql
备份所有数据库
mysqldump -u root -p --all-databases > all_backup.sql
还原数据库
mysql -u root -p 数据库名 < backup.sql

进程管理

sql 复制代码
-- 查看当前正在执行的线程(找慢查询)
SHOW PROCESSLIST;
-- 查看完整进程信息(不截断)
SHOW FULL PROCESSLIST;
-- 终止某个进程 (ID 来自 PROCESSLIST)
KILL 进程ID;

状态检查

sql 复制代码
-- 查看服务器状态
SHOW STATUS;
-- 查看配置变量
SHOW VARIABLES;
-- 查看最大连接数配置
SHOW VARIABLES LIKE 'max_connections';
-- 查看当前连接数
SHOW STATUS LIKE 'Threads_connected';
-- 查看表状态(包括引擎、行数、大小)
SHOW TABLE STATUS FROM 数据库名;

执行计划分析

sql 复制代码
-- 分析 SQL 语句执行效率(排查慢查询神器)
EXPLAIN SELECT * FROM 表名 WHERE 条件;

8. 数据库集群维护

添加节点

sql 复制代码
-- 添加 Backend 节点
ALTER SYSTEM ADD BACKEND "192.168.122.1:9050";
-- 查看节点状态
SHOW PROC '/backends';
-- 查看 Broker 状态
SHOW PROC "/brokers";

启动服务

bash 复制代码
# 启动 FE
bin/start_fe.sh --daemon
启动 Broker
bin/start_broker.sh --daemon
相关推荐
龙腾AI白云6 小时前
AI检索增强生成(RAG):解决大模型幻觉的核心落地技术
数据库·人工智能·机器学习·知识图谱
一 乐6 小时前
动漫书销售商城|基于springboot + vue动漫书销售商城(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
zzj_2626107 小时前
MySQL常用操作
数据库·mysql
其实防守也摸鱼7 小时前
Fastjson 反序列化漏洞(JNDI注入)
android·数据库·安全·oracle·自动化·fastjson·反序列化
haerapi7 小时前
把 PostgreSQL 复制巡检做成可审计闭环:确定性采集、阈值判定与受控模型归纳
数据库·postgresql
yolo_guo7 小时前
调试mysql延迟与libevent回调实际发送回复时机问题
c++·mysql·libevent
旺仔学长 哈哈8 小时前
springboot钓鱼爱好者交流平台APP设计与实现
java·spring boot·mysql·充电桩管理系统
微学AI8 小时前
不让每一步都调用最贵模型:用蓝耘智能路由改造自主式研究 Agent
数据库·人工智能·蓝耘
yjb.gz8 小时前
Oracle19 RAC查看集群状态及磁盘空间情况(巡检)
数据库
钝挫力PROGRAMER9 小时前
开发踩坑记:MyBatis selectKey、空 SQL
数据库·sql·mybatis