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

假网站排全网第二,真官网翻五页都找不到!NanoClaw创始人破防:SEO之战,我快要输了

假网站排全网第二,真官网翻五页都找不到!NanoClaw创始人破防:SEO之战,我快要输了

整理 | 苏宓 出品 | ZEEKLOG(ID:ZEEKLOGnews) 自从 OpenClaw 爆火之后,各种“Claw”项目接连出现,其中以安全优化版 NanoClaw 最为知名。它的核心代码仅有 4000 行,却获得了 AI 大牛 Andrej Karpathy 的点赞。 可谁也没想到,这款口碑极佳的开源项目,近来竟被一个仿冒网站抢了风头。 投诉无门之下,NanoClaw 创始人 Gavriel Cohen 在 X 社交平台上无奈发文怒斥:谷歌搜索错误地将假网站排在真官网前面,不仅破坏了项目声誉,还埋下了严重的安全隐患,而他费尽心力,却只能哀叹一句——“我正在为自己的开源项目打 SEO 战,但我快要输了。” 那么,NanoClaw 究竟发生了什么?又是怎么走红的?事情还要从 OpenClaw

By Ne0inhk
曝Windows 12将于今年发布?以AI为核心、NPU成「硬件门槛」,网友吐槽:“不想要的全塞进来了”

曝Windows 12将于今年发布?以AI为核心、NPU成「硬件门槛」,网友吐槽:“不想要的全塞进来了”

整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 当年,微软一句“Windows 10 将是最后一个版本”的表态,让不少用户以为 Windows 进入了“只更新、不换代”的时代。但几年过去,现实却完全不同。 在 Windows 11 发布之后,如今关于 Windows 12 的传闻再次密集出现。从内部代号、代码片段,到硬件厂商的暗示与 OEM 预热标签,种种线索拼在一起,勾勒出一个明显的趋势——这不会只是一次常规升级,而更像是一次围绕 AI 的平台级重构。 更关键的是,这次争议,可能远比当年 TPM 2.0 更大。 精准卡位 Windows 10 退场的时间?

By Ne0inhk
Python热度下滑、AI能取代搜索引擎?TIOBE最新榜单揭晓!

Python热度下滑、AI能取代搜索引擎?TIOBE最新榜单揭晓!

整理 | 屠敏 出品 | ZEEKLOG(ID:ZEEKLOGnews) 日前,TIOBE 发布了最新的 3 月编程语言榜单。整体来看,本月排名变化不算大,但榜单中仍然出现了一些值得关注的小波动。  AI 工具能帮大家秒懂最新编程语言趋势? 由于 2 月天数较少,3 月的榜单整体变化有限。借着这次发布,TIOBE CEO Paul Jansen 也回应了一个最近被频繁讨论的问题:为什么 TIOBE 指数仍然依赖搜索引擎统计结果?在大语言模型流行的今天,直接询问 AI 哪些编程语言最流行,是不是更简单? 对此,Jansen 的回答是否定的。 他解释称,TIOBE 指数本质上统计的是互联网上关于某种编程语言的网页数量。而大语言模型的训练数据同样来自这些网页内容,因此从信息来源来看,两者并没有本质区别。换句话说,LLM 的判断,本质上也是建立在这些网页数据之上的。 Python 活跃度仍在下降

By Ne0inhk
“裸奔龙虾”数量已达27万只,业内人士警告;AI浪潮下,中传“砍掉”翻译等16个专业;薪资谈判破裂,三星电子8.9万人要罢工 | 极客头条

“裸奔龙虾”数量已达27万只,业内人士警告;AI浪潮下,中传“砍掉”翻译等16个专业;薪资谈判破裂,三星电子8.9万人要罢工 | 极客头条

「极客头条」—— 技术人员的新闻圈! ZEEKLOG 的读者朋友们好,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。(投稿或寻求报道:[email protected]) 整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 一分钟速览新闻点! * “裸奔龙虾”已高达27万只!业内人士警告:一旦黑客入侵,敏感信息一秒搬空 * 阿里云 CTO 周靖人代管千问模型一号位,刘大一恒管理更多团队 * 中国传媒大学砍掉翻译、摄影等 16 个本科专业,直言教育要面向人机分工时代 * 雷军放话:小米将很快推出 L3、L4 的驾驶 * 消息称原理想汽车智驾一号位郎咸朋具身智能赛道创业 * vivo 前产品经理宋紫薇创业,瞄准 AI 时尚Agent,获亿元融资 * MiniMax 发布龙虾新技能,股价暴涨超 23% * 薪资谈判破裂,三星电子

By Ne0inhk