SHOW DATABASES; -- 看库 USE demo; -- 切库 SHOW TABLES; -- 看表 DESC users; -- 看结构 SELECT*FROM users LIMIT 10; -- 查数据 SHOWCREATE TABLE users\G -- 看建表语句 EXPLAIN SELECT*FROM users WHERE id =1; -- 看执行计划 SHOWFULL PROCESSLIST; -- 看连接
连接
mysql -u root -p # 本地连接,输入密码 mysql -h 127.0.0.1 -P 3306 -u root -p # 指定主机和端口连接 mysql -u root -p mydb # 连接后直接进入指定数据库 mysql -u root -p -e "SHOW DATABASES;"# 执行一条 SQL 后退出
数据库
SHOW DATABASES; -- 查看所有数据库 CREATE DATABASE demo; -- 创建数据库 CREATE DATABASE demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 创建数据库并指定字符集 DROP DATABASE demo; -- 删除数据库 USE demo; -- 切换数据库 SELECT DATABASE(); -- 查看当前数据库
表
SHOW TABLES; -- 查看当前库所有表 DESC users; -- 查看表结构 SHOW COLUMNS FROM users; -- 查看表字段 SHOWCREATE TABLE users\G -- 查看建表语句,纵向显示 SHOWTABLE STATUS LIKE'users'; -- 查看表状态 RENAME TABLE old_name TO new_name; -- 重命名表 TRUNCATETABLE users; -- 清空表并重置自增 DROPTABLE users; -- 删除表
数据增删改查
SELECT*FROM users; -- 查询全部数据 SELECT id, name FROM users WHERE status =1 LIMIT 10; -- 条件查询 INSERT INTO users(name, email) VALUES ('Alice', 'a@x.com'); -- 插入数据 UPDATE users SET email ='b@x.com'WHERE id =1; -- 更新数据 DELETEFROM users WHERE id =1; -- 删除数据 SELECTCOUNT(*) FROM users; -- 统计行数 SELECTDISTINCT status FROM users; -- 去重查询
SHOW INDEX FROM users; -- 查看索引 CREATE INDEX idx_users_email ON users(email); -- 创建索引 DROP INDEX idx_users_email ON users; -- 删除索引 EXPLAIN SELECT*FROM users WHERE email ='alice@example.com'; -- 查看执行计划
状态与排查
SELECT VERSION(); -- 查看 MySQL 版本 SHOW STATUS; -- 查看服务器状态 SHOW STATUS LIKE'Threads_connected'; -- 查看当前连接数相关状态 SHOW VARIABLES; -- 查看系统变量 SHOW VARIABLES LIKE'character_set_%'; -- 查看字符集配置 SHOW VARIABLES LIKE'max_connections'; -- 查看最大连接数 SHOW PROCESSLIST; -- 查看当前连接 SHOWFULL PROCESSLIST; -- 查看完整连接信息 KILL 12345; -- 杀掉指定连接
SOURCE G:/backup/demo.sql; -- 在 mysql 客户端中导入 SQL 文件
mysql 客户端命令
help -- 查看帮助 \h -- 查看帮助(简写) status -- 查看当前连接状态 \s -- 查看当前连接状态(简写) system cls -- Windows 下清屏 system clear -- Linux/macOS 下清屏 system dir -- Windows 下执行系统命令 exit -- 退出客户端 quit -- 退出客户端 \q -- 退出客户端(简写)