MySQL查看命令速查表

MySQL查看命令速查表

头像

🎬 个人主页艾莉丝努力练剑
专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录
Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平


🎬 艾莉丝的简介:

在这里插入图片描述

文章目录


在这里插入图片描述

1 ~> MySQL 查看类命令大全

下面艾莉丝整理了超好用、考试/刷题都能直接上手使用的 MySQL 查看命令速查表,记这些就够了。

在这里插入图片描述

1.1 查看数据库

  • 查看所有数据库
show databases;
  • 进入某个数据库(必须先做这步)
use 数据库名;
  • 查看当前正在用哪个库
select database();

1.2 查看表

  • 查看当前库有哪些表
show tables;
  • 查看表的结构(字段、类型、键、是否为空)
desc 表名;
  • 这两个其实一模一样,只是写法不同
describe 表名; 和 desc 
  • 查看建表语句(包含引擎、字符集)
show create table 表名;
  • 竖着显示,更好看
show create table 表名\G 

1.3 查看数

  • 查看表中所有数据
select * from 表名;
  • 只看某一列
select 字段名 from 表名;

1.4 查看用户 / 权限

  • 查看当前登录用户
select user();

1.5 最常用组合(截图里就是这套)

  • show databases;
  • use test_db;
  • show tables;
  • desc t1;
  • show create table t1;

2 ~> MySQL常用核心命令速查表

2.1 MySQL 常用核心命令速查表

下面艾莉丝整理了 MySQL 最常用的核心命令,按数据库操作、表操作、数据操作、查询操作、权限管理五大类划分。

命令分类功能描述具体命令示例关键说明
数据库操作创建数据库CREATE DATABASE <font color="red">IF NOT EXISTS</font> db_name;IF NOT EXISTS 避免重复创建报错
数据库操作删除数据库DROP DATABASE <font color="red">IF EXISTS</font> db_name;IF EXISTS 避免删除不存在的数据库报错
数据库操作切换数据库USE db_name;操作表前必须先切换到目标数据库
数据库操作查看所有数据库SHOW DATABASES;列出当前MySQL实例中所有数据库
表操作创建表CREATE TABLE tb_name ( id INT <font color="red">PRIMARY KEY</font> AUTO_INCREMENT, name VARCHAR(50) <font color="red">NOT NULL</font>, age INT <font color="red">DEFAULT 0</font> );PRIMARY KEY主键、AUTO_INCREMENT自增、NOT NULL非空、DEFAULT默认值
表操作删除表DROP TABLE <font color="red">IF EXISTS</font> tb_name;同上,避免删除不存在的表报错
表操作查看表结构DESC tb_name;DESCRIBE tb_name;展示表的字段、类型、约束等信息
表操作修改表名ALTER TABLE old_tb_name <font color="red">RENAME TO</font> new_tb_name;RENAME TO 是修改表名的核心关键字
表操作添加字段ALTER TABLE tb_name <font color="red">ADD COLUMN</font> email VARCHAR(100);ADD COLUMN 新增字段,可加约束(如NOT NULL)
数据操作插入数据INSERT INTO tb_name (name, age) <font color="red">VALUES</font> ('张三', 20);VALUES 后接插入的具体值,字段和值需一一对应
数据操作批量插入数据INSERT INTO tb_name (name, age) VALUES ('李四', 22), ('王五', 25);批量插入比单条插入效率更高
数据操作更新数据UPDATE tb_name <font color="red">SET</font> age=21 <font color="red">WHERE</font> name='张三';WHERE 必须加,否则更新全表数据
数据操作删除数据DELETE FROM tb_name <font color="red">WHERE</font> id=1;WHERE 必须加,否则删除全表数据
查询操作基础查询SELECT <font color="red">name, age</font> FROM tb_name;name, age 可替换为 * 查询所有字段(不推荐)
查询操作条件查询SELECT * FROM tb_name WHERE age <font color="red">BETWEEN</font> 20 AND 30;BETWEEN…AND 范围查询,也可用 > < = !=
查询操作排序查询SELECT * FROM tb_name <font color="red">ORDER BY</font> age <font color="red">DESC</font>;ORDER BY 排序,DESC降序(默认ASC升序)
查询操作分页查询SELECT * FROM tb_name <font color="red">LIMIT</font> 0, 10;LIMIT 起始行, 行数,起始行从0开始
权限管理创建用户CREATE USER 'user1'@'<font color="red">localhost</font>' IDENTIFIED BY '123456';localhost 限制仅本地访问,% 表示任意主机
权限管理授权用户GRANT <font color="red">ALL</font> ON db_name.* TO 'user1'@'localhost';ALL 可替换为 SELECT/INSERT 等具体权限
权限管理刷新权限FLUSH <font color="red">PRIVILEGES</font>;授权/改权限后必须执行,使权限生效

2.2 补充说明(高频实用命令)

1、查看当前数据库

SELECT DATABASE();

2、查看表的创建语句

SHOW CREATE TABLE tb_name; ---- 可查看表的完整创建逻辑(含索引、字符集等) 

3、清空表数据(保留表结构)

TRUNCATE TABLE tb_name; -- 比DELETE快,且重置自增主键 

4、简单备份数据库(终端命令)

mysqldump -u root -p db_name > db_backup.sql ---- 备份整个数据库 

2.3 总结

1、核心约束 / 关键字:WHERE、IF NOT EXISTS、PRIMARY KEY、LIMIT是避免误操作、保证数据安全的关键,必须重点掌握;

2、数据修改类命令:UPDATE/DELETE 必须加WHERE条件,否则会修改 / 删除全表数据,操作前建议先用 SELECT 验证条件;

3、查询优化:尽量避免用 SELECT *,只查询需要的字段;分页用LIMIT,排序用ORDER BY,能大幅提升查询效率。


3 ~> 其它MYSQL常见命令

艾莉丝同样补充MySQL日常开发 / 运维中高频且实用的其他核心命令,重点内容会标红,涵盖索引操作、数据校验、事务控制、性能优化、系统信息等场景,都是实际学习、工作中经常用到的:

3.1 MySQL 补充常用命令速查表

命令分类功能描述具体命令示例关键说明
索引操作创建普通索引CREATE <font color="red">INDEX</font> idx_name ON tb_name(name);INDEX 普通索引,提升查询速度(不唯一、非空)
索引操作创建唯一索引CREATE <font color="red">UNIQUE INDEX</font> idx_age ON tb_name(age);UNIQUE INDEX 索引值唯一,可避免重复数据
索引操作删除索引DROP <font color="red">INDEX</font> idx_name ON tb_name;删除无用索引,减少写入性能损耗
索引操作查看表索引SHOW <font color="red">INDEX</font> FROM tb_name;列出表中所有索引的名称、类型、关联字段等
事务控制开启事务START <font color="red">TRANSACTION</font>;BEGIN;手动开启事务,用于保证多操作原子性
事务控制提交事务<font color="red">COMMIT</font>;确认事务内所有操作,永久生效
事务控制回滚事务<font color="red">ROLLBACK</font>;撤销事务内未提交的所有操作,恢复到事务开始前状态
事务控制设置保存点SAVEPOINT sp1; + ROLLBACK <font color="red">TO</font> sp1;回滚到事务内指定保存点,而非整个事务
数据校验/修改去重查询SELECT <font color="red">DISTINCT</font> name FROM tb_name;DISTINCT 过滤重复行,仅返回唯一值
数据校验/修改批量替换字段值UPDATE tb_name SET name = <font color="red">REPLACE</font>(name, '张三', 'ZhangSan');REPLACE 替换字段中指定字符串
数据校验/修改空值处理SELECT * FROM tb_name WHERE age <font color="red">IS NULL</font>;IS NULL 判断空值(不能用 = NULL)
聚合查询统计计数SELECT <font color="red">COUNT(*)</font> FROM tb_name WHERE age>20;COUNT(*) 统计行数,也可用 COUNT(字段) 排除NULL
聚合查询求和/平均值SELECT <font color="red">SUM(age)</font>, <font color="red">AVG(age)</font> FROM tb_name;SUM 求和、AVG 求平均
聚合查询分组查询SELECT age, <font color="red">COUNT(*)</font> FROM tb_name <font color="red">GROUP BY</font> age;GROUP BY 按字段分组,常配合聚合函数
性能优化查看SQL执行计划EXPLAIN <font color="red">SELECT * FROM tb_name WHERE name='张三';</font>EXPLAIN 分析SQL是否走索引、扫描行数等
性能优化查看慢查询日志状态SHOW VARIABLES LIKE '<font color="red">slow_query_log</font>';检查慢查询日志是否开启,定位低效SQL
性能优化查看当前连接数SHOW <font color="red">PROCESSLIST</font>;查看所有数据库连接,排查慢连接、锁等待问题
系统信息查看MySQL版本SELECT <font color="red">VERSION()</font>;确认MySQL版本,适配不同版本的语法差异
系统信息查看当前用户SELECT <font color="red">USER()</font>;查看当前登录的MySQL用户及主机
系统信息查看字符集配置SHOW VARIABLES LIKE '<font color="red">character_set%</font>';检查数据库/表/连接的字符集,避免乱码问题
表结构修改修改字段类型ALTER TABLE tb_name <font color="red">MODIFY COLUMN</font> name VARCHAR(100);MODIFY COLUMN 修改字段类型/长度
表结构修改删除字段ALTER TABLE tb_name <font color="red">DROP COLUMN</font> email;DROP COLUMN 删除表中无用字段
锁操作查看表锁状态SHOW <font color="red">OPEN TABLES</font> WHERE In_use>0;查看被锁定的表,排查锁阻塞问题
锁操作手动锁表/解锁LOCK TABLES tb_name <font color="red">READ</font>; + UNLOCK TABLES;READ 读锁(仅读),也可用 WRITE 写锁(独占)

3.2 补充实用运维命令(终端 / 客户端)

场景命令示例说明
导入SQL文件mysql -u root -p db_name < <font color="red">backup.sql</font>将备份的SQL文件导入指定数据库(终端执行)
修复损坏的表REPAIR TABLE tb_name;MyISAM表损坏时修复(InnoDB表优先用事务回滚)
设置自动提交事务SET <font color="red">autocommit</font> = 0;关闭自动提交,需手动COMMIT/ROLLBACK(默认1=开启)
查看表占用空间SELECT table_name, data_length/1024/1024 AS size_mb FROM information_schema.tables WHERE table_schema='db_name';统计数据库中各表的大小(单位MB)

3.3 总结

  • 1、高频补充命令:索引操作(CREATE INDEX / DROP INDEX)、事务控制(COMMIT / ROLLBACK)、执行计划(EXPLAIN)是优化查询的核心,必须掌握;
  • 2、运维必备SHOW PROCESSLIST(查连接)、EXPLAIN(分析SQL)、字符集检查(character_set%)能快速定位性能 / 乱码问题;
  • 3。数据安全:事务控制可避免多操作出错,DISTINCT去重、IS NULL判空能保证数据校验的准确性。

4 ~> MySQL 进阶高频命令速查表

4.1 MySQL 进阶高频命令速查表

命令分类功能描述具体命令示例关键说明
高级查询多表关联查询(内连接)SELECT a.name, b.order_no FROM user a <font color="red">INNER JOIN</font> order b ON a.id = b.user_id;INNER JOIN 只返回两表匹配的数据,也可用 JOIN 简写
高级查询多表关联查询(左连接)SELECT a.name, b.order_no FROM user a <font color="red">LEFT JOIN</font> order b ON a.id = b.user_id;LEFT JOIN 保留左表所有数据,右表无匹配则为NULL
高级查询子查询(IN)SELECT * FROM user WHERE id <font color="red">IN</font> (SELECT user_id FROM order WHERE amount>100);IN 子查询,适合小数据集;大数据集用JOIN更高效
高级查询条件过滤(HAVING)SELECT age, COUNT(*) FROM user GROUP BY age <font color="red">HAVING</font> COUNT(*)>5;HAVING 过滤分组后的数据(WHERE过滤分组前)
用户权限细化回收用户权限REVOKE <font color="red">DELETE</font> ON db_name.* FROM 'user1'@'localhost';REVOKE 撤销指定权限,需FLUSH PRIVILEGES生效
用户权限细化修改用户密码ALTER USER 'user1'@'localhost' <font color="red">IDENTIFIED BY</font> 'new_password';MySQL8.0+推荐用ALTER USER,5.7可用SET PASSWORD
用户权限细化删除用户DROP USER <font color="red">IF EXISTS</font> 'user1'@'localhost';IF EXISTS 避免删除不存在的用户报错
表维护优化表(整理碎片)OPTIMIZE <font color="red">TABLE</font> tb_name;针对InnoDB/MyISAM表整理碎片,释放磁盘空间(需锁表,低峰执行)
表维护重命名字段ALTER TABLE tb_name <font color="red">RENAME COLUMN</font> old_col TO new_col;MySQL8.0+支持,低版本需先MODIFY再DROP旧字段
表维护复制表结构(不含数据)CREATE TABLE new_tb <font color="red">LIKE</font> old_tb;LIKE 复制原表所有结构(索引、约束等)
表维护复制表结构+数据CREATE TABLE new_tb SELECT * FROM old_tb <font color="red">WHERE 1=2</font>;WHERE 1=2 只复制结构;去掉则复制结构+数据
日志管理开启慢查询日志SET GLOBAL <font color="red">slow_query_log</font> = 1;临时开启(重启失效),永久生效需改my.cnf配置
日志管理设置慢查询阈值SET GLOBAL <font color="red">long_query_time</font> = 1;执行时间超过1秒的SQL会被记录到慢查询日志(默认10秒)
日志管理查看二进制日志(binlog)SHOW <font color="red">BINARY LOGS</font>;查看binlog文件列表,用于数据恢复/主从同步
变量配置查看全局变量SHOW <font color="red">GLOBAL VARIABLES</font> LIKE 'max_connections';查看MySQL全局配置(如最大连接数)
变量配置修改会话变量SET <font color="red">SESSION</font> sort_buffer_size = 1024*1024;仅对当前连接生效,不影响其他会话
变量配置查看当前会话状态SHOW <font color="red">SESSION STATUS</font> LIKE 'Threads%';查看当前会话的资源使用、连接数等状态
数据导入导出导出指定表数据(CSV)SELECT * FROM tb_name INTO <font color="red">OUTFILE</font> '/tmp/tb_data.csv' FIELDS TERMINATED BY ',';导出为CSV文件,需确保MySQL有文件写入权限
数据导入导出导入CSV数据到表LOAD <font color="red">DATA INFILE</font> '/tmp/tb_data.csv' INTO TABLE tb_name FIELDS TERMINATED BY ',';批量导入CSV数据,比INSERT高效
锁与事务设置事务隔离级别SET <font color="red">TRANSACTION ISOLATION LEVEL</font> READ COMMITTED;常用级别:READ COMMITTED(默认)、REPEATABLE READ、SERIALIZABLE
锁与事务查看事务等待锁SELECT * FROM <font color="red">INFORMATION_SCHEMA.INNODB_LOCK_WAITS</font>;定位事务锁等待问题,排查死锁

4.2 补充:MySQL 常用内置函数命令(高频)

函数类型功能描述命令示例说明
日期函数格式化日期SELECT <font color="red">DATE_FORMAT</font>(create_time, '%Y-%m-%d') FROM tb_name;按指定格式输出日期(%Y年、%m月、%d日)
日期函数计算日期差SELECT <font color="red">DATEDIFF</font>(NOW(), create_time) FROM tb_name;计算当前时间与create_time的天数差
字符串函数截取字符串SELECT <font color="red">SUBSTRING</font>(name, 1, 2) FROM tb_name;截取name字段前2个字符(起始位置从1开始)
字符串函数拼接字符串SELECT <font color="red">CONCAT</font>(name, '-', age) FROM tb_name;拼接多个字段/字符串(NULL参与则结果为NULL)
数值函数四舍五入SELECT <font color="red">ROUND</font>(price, 2) FROM tb_name;将price保留2位小数
数值函数取绝对值SELECT <font color="red">ABS</font>(amount) FROM tb_name;计算数值的绝对值

4.3 总结

  • 1、高级查询核心INNER JOIN / LEFT JOIN是多表关联的基础,HAVING补充分组后过滤,子查询适合简单场景、JOIN适合大数据集;
  • 2、运维关键OPTIMIZE TABLE优化表碎片、慢查询日志(slow_query_log)定位低效 SQL、INNODB_LOCK_WAITS排查死锁,是日常维护必备;
  • 3、效率提升LOAD DATA INFILE / INTO OUTFILE批量导入导出数据,比单条INSERT / SELECT高效数倍;内置函数(DATE_FORMAT / CONCAT)能减少应用层数据处理工作量。

这些命令覆盖了从开发写复杂查询到运维排查问题的全链路,根据自己的使用场景(比如写报表 SQL、排查锁问题、批量导入数据)重点记忆对应的命令。


结尾

uu们,本文的内容到这里就全部结束了,艾莉丝在这里再次感谢您的阅读!

结语:希望对学习MYSQL相关内容的uu有所帮助,不要忘记给博主“一键四连”哦!

往期回顾:

【MYSQL】MYSQL学习的一大重点:MYSQL表的操作

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡૮₍ ˶ ˊ ᴥ ˋ˶₎ა

Read more

安装篇--Ubuntu24.04.2详细安装教程

安装篇--Ubuntu24.04.2详细安装教程

一、准备工作 建议前往ubuntu官网 (https://ubuntu.com/download/desktop) 选择LTS (Long-Term Support) 版本,稳定性更好,支持周期更长 二、创建新的虚拟机 1.点击 “创建新的虚拟机” 2.新建虚拟机向导 - 选择配置类型: * 在向导的第一步,选择 “自定义(高级)” (Custom (advanced))。 * 点击“下一步(N)”。 3.选择虚拟机硬件兼容性: 如果你没有特殊需求,保持默认选项,点击“下一步(N)” 4. 选择安装来源 选择“稍后安装操作系统”,点击“下一步(N)” 5. 选择客户机操作系统 选择“Linux”

By Ne0inhk
【Linux】线程同步

【Linux】线程同步

📝前言: 上篇文章我们讲解了【Linux】线程互斥,这篇文章我们来讲讲Linux——线程同步 🎬个人简介:努力学习ing 📋个人专栏:Linux 🎀ZEEKLOG主页 愚润求学 🌄其他专栏:C++学习笔记,C语言入门基础,python入门基础,C++刷题专栏 目录 * 一,同步定义 * 二,条件变量 * 1. 基本介绍 * 2. 接口 * 2.1 初始化和销毁 * 初始化 * 销毁 * 2.2 等待和通知 * 等待 * 通知(唤醒) * 三,使用经典规范 * 1. 等待代码 * 2. 唤醒代码 * 四,生产者消费者模型 * 1. 基本介绍 * 2.

By Ne0inhk
08-OpenClaw自动化与定时任务

08-OpenClaw自动化与定时任务

OpenClaw 自动化与定时任务 免费专栏全套教程:OpenClaw从入门到精通 OpenClaw 提供了一套完整的自动化系统,包括 Heartbeat 心跳机制、Cron 定时任务、Hooks 事件钩子和 Webhook 外部触发。本章将详细介绍这些机制的概念、配置和实战应用。 目录 1. 自动化工作流概念 2. Heartbeat 心跳机制 3. Cron 定时任务配置 4. Hooks 事件钩子 5. Webhook 外部触发 6. 实战案例 7. 故障排查 1. 自动化工作流概念 1.1 核心组件 OpenClaw 的自动化系统由四个核心组件构成: 组件用途触发方式适用场景Heartbeat周期性检查自动定时批量检查、上下文感知监控Cron精确定时任务时间驱动固定时间执行、独立任务Hooks事件驱动响应事件触发命令响应、生命周期管理Webhook外部系统集成HTTP 请求第三方系统对接、推送接收 1.

By Ne0inhk
Flutter 三方库 sort_json 的鸿蒙化适配指南 - 实现 JSON 键值的自动化递归排序、支持规范化输出与项目配置文件清理

Flutter 三方库 sort_json 的鸿蒙化适配指南 - 实现 JSON 键值的自动化递归排序、支持规范化输出与项目配置文件清理

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 sort_json 的鸿蒙化适配指南 - 实现 JSON 键值的自动化递归排序、支持规范化输出与项目配置文件清理 前言 在进行 Flutter for OpenHarmony 的工程化开发时,保持项目配置文件(如 package.json、.json5 或各种国际化语言文件)的条理性是至关重要的。特别是在多人协作或版本控制(Git)中,无序的 JSON 键值会导致严重的冲突。sort_json 是一个专注于将 JSON 字符串或文件重新排版并按字母顺序排序的库。本文将探讨如何利用该工具优化鸿蒙项目的配置管理。 一、原理解析 / 概念介绍 1.1 基础原理 sort_json 通过将输入的 JSON

By Ne0inhk