指令集-SQL 常用指令速查手册
本文整理了 SQL 数据库操作中最常用的指令涵盖库表管理、数据增删改查、多表查询、索引视图、用户权限以及关键的运维维护命令旨在为开发者提供一份高效、实用的速查指南。持续更新中BUFF1. 库与表管理 (DDL)数据库操作-- 创建数据库 CREATE DATABASE 数据库名; -- 删除数据库 DROP DATABASE 数据库名; -- 切换数据库 USE 数据库名;表结构操作-- 创建表 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)插入数据-- 插入单条 INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2); -- 插入多条 INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2), (值3, 值4);更新数据-- 修改数据务必加 WHERE UPDATE 表名 SET 列1 新值 WHERE 条件;删除数据-- 删除数据务必加 WHERE DELETE FROM 表名 WHERE 条件;3. 数据查询 (DQL)基础查询-- 查询所有 SELECT * FROM 表名; -- 查询指定列 SELECT 列1, 列2 FROM 表名; -- 别名 SELECT 列1 AS 别名 FROM 表名; -- 去重 SELECT DISTINCT 列名 FROM 表名;条件筛选-- 基础条件 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 %关键字%;排序与分组-- 排序ASC 升序DESC 降序 SELECT * FROM 表名 ORDER BY 列名 DESC; -- 分组统计 SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名; -- 分组后筛选 SELECT 列名, COUNT() FROM 表名 GROUP BY 列名 HAVING COUNT() 1;分页查询-- MySQL 分页 (从第 0 条开始取 10 条) SELECT * FROM 表名 LIMIT 0, 10;4. 多表查询连接查询-- 内连接交集 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;联合查询-- 合并结果去重 SELECT 列名 FROM 表A UNION SELECT 列名 FROM 表B; -- 合并结果不去重 SELECT 列名 FROM 表A UNION ALL SELECT 列名 FROM 表B;5. 索引与视图索引管理-- 创建索引 CREATE INDEX 索引名 ON 表名 (列名); -- 查看索引 SHOW INDEX FROM 表名; -- 删除索引 DROP INDEX 索引名 ON 表名;视图管理-- 创建视图 CREATE VIEW 视图名 AS SELECT 语句; -- 删除视图 DROP VIEW 视图名;6. 用户与权限用户管理-- 创建用户 CREATE USER 用户名% IDENTIFIED BY 密码; -- 授权所有权限 GRANT ALL PRIVILEGES ON 数据库.* TO 用户名%; -- 刷新权限 FLUSH PRIVILEGES; -- 查看用户权限 SHOW GRANTS FOR 用户名%;7. 实用维护与运维指令开放远程访问 (关键运维)-- 1. 创建允许远程连接的用户 (% 表示任意主机) CREATE USER root% IDENTIFIED BY 你的密码; -- 2. 授予远程用户所有权限 GRANT ALL PRIVILEGES ON . TO root% WITH GRANT OPTION; -- 3. 刷新权限使其生效 FLUSH PRIVILEGES; -- 注意如果连不上请检查防火墙端口是否开放备份与还原 (Shell执行)# 备份整个数据库 mysqldump -u root -p 数据库名 backup.sql 备份所有数据库 mysqldump -u root -p --all-databases all_backup.sql 还原数据库 mysql -u root -p 数据库名 backup.sql进程管理-- 查看当前正在执行的线程找慢查询 SHOW PROCESSLIST; -- 查看完整进程信息不截断 SHOW FULL PROCESSLIST; -- 终止某个进程 (ID 来自 PROCESSLIST) KILL 进程ID;状态检查-- 查看服务器状态 SHOW STATUS; -- 查看配置变量 SHOW VARIABLES; -- 查看最大连接数配置 SHOW VARIABLES LIKE max_connections; -- 查看当前连接数 SHOW STATUS LIKE Threads_connected; -- 查看表状态包括引擎、行数、大小 SHOW TABLE STATUS FROM 数据库名;执行计划分析-- 分析 SQL 语句执行效率排查慢查询神器 EXPLAIN SELECT * FROM 表名 WHERE 条件;8. 数据库集群维护添加节点-- 添加 Backend 节点 ALTER SYSTEM ADD BACKEND 192.168.122.1:9050; -- 查看节点状态 SHOW PROC /backends; -- 查看 Broker 状态 SHOW PROC /brokers;启动服务# 启动 FE bin/start_fe.sh --daemon 启动 Broker bin/start_broker.sh --daemon