指令集-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
相关推荐
郑州光合科技余经理2 小时前
海外外卖平台源码改造实战——多语言核心代码实现
java·开发语言·前端·后端·mysql·架构·php
阿昭L2 小时前
数据库期末复习(三)
数据库
Dlrb12112 小时前
信息查询Web服务器-->电子商城信息查询项目
linux·服务器·数据库·html·嵌入式·epoll·数据查询
不会写DN2 小时前
MySQL 并发插入竞态问题:原子写入实践指南
数据库·mysql
霖霖总总2 小时前
[MongoDB小技巧24]MongoDB $lookup 聚合阶段深度解析:从入门到实战
数据库·mongodb
挨踢诗人2 小时前
京东企业购 × 企业微信 采购闭环集成解决方案
前端·数据库·企业微信
梦想的旅途22 小时前
企业微信外部群智能自动回复:基于RPA接口的关键词匹配方案
java·开发语言·数据库·机器人·自动化·企业微信
得物技术3 小时前
得物 OceanBase 落地实践
数据库·分布式·架构
程序员cxuan3 小时前
OceanBase 为什么要做 AI 数据库?
数据库·人工智能·大模型·llm·oceanbase