news 2026/7/31 3:00:31

MySql常用命令速查表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySql常用命令速查表

一、数据库(库)管理

操作命令
创建库CREATE DATABASE [IF NOT EXISTS] 库名;
查看所有库SHOW DATABASES;
切换库USE 库名;
查看当前库SELECT DATABASE();
查看建库语句SHOW CREATE DATABASE 库名;
删除库(高危)DROP DATABASE [IF EXISTS] 库名;

二、数据表(表)管理

2.1 创建表

CREATETABLE库名.表名(字段1数据类型[约束],字段2数据类型[约束],...);

2.2 查看表信息

SHOWTABLES;-- 查看当前库所有表DESC库名.表名;-- 查看表结构SHOWCREATETABLE库名.表名;-- 查看建表语句

2.3 修改表结构

-- 添加字段ALTERTABLE库名.表名ADD字段名 类型[FIRST|AFTER字段];-- 修改字段类型ALTERTABLE库名.表名MODIFY字段名 新类型;-- 修改字段名(可同时改类型)ALTERTABLE库名.表名 CHANGE 旧字段名 新字段名 新类型;-- 修改表名ALTERTABLE库名.旧表名RENAMETO库名.新表名;-- 删除字段ALTERTABLE库名.表名DROP字段名;

2.4 删除表(保留结构用TRUNCATE)

DROPTABLE库名.表名;-- 删除表(结构+数据)TRUNCATETABLE库名.表名;-- 清空数据,重置自增,保留结构

三、表记录(数据)操作(DML)

操作命令
插入数据INSERT INTO 库名.表名 [(字段列表)] VALUES (值列表);
更新数据UPDATE 库名.表名 SET 字段=值 WHERE 条件;务必加WHERE
删除数据DELETE FROM 库名.表名 WHERE 条件;务必加WHERE

四、查询(SELECT)

4.1 基础查询

SELECT字段列表FROM库名.表名[WHERE条件];
  • *表示所有字段
  • 可用AS起别名
  • DISTINCT去重
  • CONCAT(字段1, '分隔', 字段2)拼接字符串

4.2 常用筛选条件

类型示例
比较WHERE uid > 5WHERE name = 'root'
空值判断WHERE shell IS [NOT] NULL
范围WHERE uid IN (1,3,5)WHERE uid BETWEEN 10 AND 30
模糊匹配WHERE name LIKE 'a%'%任意多个,_单个)
正则WHERE name REGEXP '^a|t$'
逻辑组合ANDORNOT,括号改变优先级

4.3 结果处理(排序/分组/分页)

SELECT字段列表FROM库名.表名[WHERE条件][GROUPBY分组字段]-- 分组,常配合聚合函数[HAVING分组后过滤条件]-- 过滤分组结果,可用聚合函数[ORDERBY排序字段[ASC|DESC]]-- 排序,多字段用逗号分隔[LIMIT[偏移量,]行数];-- 分页,偏移量从0开始
  • 执行顺序FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT

4.4 聚合函数(统计)

函数作用
COUNT(字段)统计行数(忽略NULL)
SUM(字段)求和
AVG(字段)平均值
MAX(字段)/MIN(字段)最大/最小值

4.5 常用内置函数

SELECTVERSION();-- MySQL版本SELECTUSER();-- 当前登录用户SELECTDATABASE();-- 当前库

五、多表连接查询

5.1 内连接(只保留匹配数据)

SELECT字段列表FROM1[AS别名1]INNERJOIN2[AS别名2]ON连接条件[INNERJOIN3ON连接条件...][WHERE/GROUPBY/HAVING/ORDERBY/LIMIT];

5.2 左外连接(保留左表全部,右表无匹配补NULL)

SELECT...FROM左表LEFTJOIN右表ON连接条件...;

5.3 右外连接(保留右表全部)

SELECT...FROM左表RIGHTJOIN右表ON连接条件...;

MySQL 不支持全外连接,可用UNION组合左右连接结果。

5.4 子查询

嵌套在SELECTFROMWHEREHAVING后的SELECT语句。


六、备份与恢复

6.1 冷备份(物理备份,需停服)

systemctl stop mysqldcp-r/var/lib/mysql /备份目录/# 或打包tar-zcf/备份目录/mysql.tar.gz-C/var/lib/mysql.# 恢复:解压到 /var/lib/mysql,并 chown -R mysql:mysql /var/lib/mysql

6.2 逻辑备份(mysqldump,服务运行中)

# 备份mysqldump -u用户 -p'密码'[选项]>/路径/备份.sql# 常用选项:-A(全库)、-B 库名(单个或多个库)、库名 表名(单表)# 恢复mysql -u用户 -p'密码'</路径/备份.sql# 恢复单表需指定库名:mysql -u用户 -p'密码' 库名 < 表备份.sql

6.3 增量备份与恢复(Percona XtraBackup)

  • 全量备份xtrabackup --backup --target-dir=/全量目录 --datadir=/var/lib/mysql
  • 增量备份xtrabackup --backup --target-dir=/增量目录 --incremental-basedir=/基准目录
  • 恢复步骤:先--prepare --apply-log-only合并所有增量到全量,再用--copy-back拷贝回数据目录。

七、二进制日志(binlog)

操作命令/说明
查看当前日志SHOW MASTER STATUS;
刷新日志(滚动)FLUSH LOGS;
重置日志RESET MASTER;
应用binlog恢复mysqlbinlog 日志文件 | mysql -u用户 -p'密码'
配置参数/etc/my.cnf.d/mysql-server.cnf中设置log-bin=/路径/前缀server_id=数字

八、主键、外键、索引

8.1 主键(PRIMARY KEY)

  • 唯一且非空,一张表只能有一个(可复合)。
  • 建表时:字段名 类型 PRIMARY KEYPRIMARY KEY(字段1,字段2)
  • 已有表添加/删除:
ALTERTABLE表名ADDPRIMARYKEY(字段);ALTERTABLE表名DROPPRIMARYKEY;
  • 自增:AUTO_INCREMENT必须配合主键使用。

8.2 外键(FOREIGN KEY)

  • 保证从表字段值在主表参照字段范围内。
  • 建表时:
FOREIGNKEY(从表字段)REFERENCES主表(主表字段)ONUPDATECASCADEONDELETECASCADE
  • 查看/删除/添加:
SHOWCREATETABLE表名;ALTERTABLE从表DROPFOREIGNKEY外键名;ALTERTABLE从表ADDFOREIGNKEY...REFERENCES...;

8.3 索引

  • 普通索引:可重复,可为NULL,标志MUL
  • 创建:CREATE INDEX 索引名 ON 表名(字段);
  • 删除:DROP INDEX 索引名 ON 表名;
  • 查看:SHOW INDEX FROM 表名;
  • 验证是否使用索引:EXPLAIN SELECT ...;

九、用户与权限管理

9.1 创建用户

CREATEUSER用户名@"客户端地址"IDENTIFIEDBY'密码';

客户端地址:%(任意)、192.168.8.%(网段)、192.168.8.51(单IP)、localhost(本机)

9.2 授权

GRANT权限列表ON库名.表名TO用户名@"客户端地址";

权限:ALLUSAGE(无权限)、SELECT,INSERT,...;库表范围:*.*库名.*库名.表名

9.3 查看权限

SHOWGRANTSFOR用户名@"客户端地址";

9.4 撤销权限

REVOKE权限列表ON库名.表名FROM用户名@"客户端地址";

9.5 修改密码

SETPASSWORDFOR用户名@"客户端地址"='新密码';

9.6 删除用户

DROPUSER用户名@"客户端地址";

9.7 查看所有用户

SELECTuser,hostFROMmysql.user;

十、常用管理操作

操作命令
启动/停止/重启MySQLsystemctl start/stop/restart mysqld
查看端口监听ss -nutlp | grep :3306
无密码进入(修复)修改配置文件添加skip-grant-tables,重启后mysql直接进入
更新root密码(有旧密码)mysqladmin -uroot -p'旧密码' password '新密码'
导入SQL文件mysql -u用户 -p'密码' < /路径/文件.sql

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 2:57:40

ArcGIS 10.8 安装与激活全攻略:从环境准备到实战验证

1. 从零到一&#xff1a;为什么选择ArcGIS 10.8作为你的GIS起点如果你刚接触地理信息系统&#xff0c;或者正在寻找一个稳定、功能全面且资源丰富的桌面GIS软件&#xff0c;那么ArcGIS 10.8很可能就是你绕不开的一个选择。我身边很多朋友和同事&#xff0c;无论是做城市规划、环…

作者头像 李华
网站建设 2026/7/31 2:57:24

函数基础大全

1 函数基础1.1 什么是函数函数可以理解为把一段重复要用的代码打包起来。以后想要执行这段功能&#xff0c;直接调用名字就行&#xff0c;不用反复复制粘贴代码&#xff0c;让代码更加整洁。1.2 函数的定义与调用使用def关键字定义函数&#xff0c;写完函数不会立刻运行&#x…

作者头像 李华
网站建设 2026/7/31 2:57:01

.NET B/S 业务驾驶舱完整架构设计方案

.NET B/S业务驾驶舱完整架构设计方案一、方案概述1.1 项目背景随着企业数字化转型深入&#xff0c;传统分散的业务报表、静态数据统计模式已无法满足管理层实时监控、快速决策、风险预警的需求。业务驾驶舱作为企业数字化可视化核心载体&#xff0c;可整合多业务系统数据&#…

作者头像 李华
网站建设 2026/7/31 2:55:26

AI模型上下文窗口原理与工程实践指南

1. 上下文窗口&#xff1a;AI模型的"记忆容量"本质解析当你在与ChatGPT对话时突然收到"api error: the model has reached its context window limit"的提示&#xff0c;或是发现Kimi Chat在长文档处理时突然"失忆"&#xff0c;这背后都是上下文…

作者头像 李华
网站建设 2026/7/31 2:54:07

Blender与Unreal Engine资产无缝迁移:BFU插件工作流全解析

1. 项目概述&#xff1a;为什么我们需要一个“无缝”的桥梁&#xff1f;如果你同时使用Blender和Unreal Engine&#xff0c;那你一定经历过这个痛苦循环&#xff1a;在Blender里精心雕琢了一个模型&#xff0c;调整了UV&#xff0c;绘制了精美的PBR材质&#xff0c;然后满怀期待…

作者头像 李华