下面是一个比较完整的 MySQL 常用命令行大全,我会分成几个部分:登录与退出、数据库操作、数据表操作、数据操作、用户与权限、备份与恢复、其他常用命令,让你像查字典一样可以快速找到想要的命令。
1. 登录与退出
# 登录 MySQL(默认端口 3306)
mysql -u 用户名 -p
# 指定端口
mysql -h 主机地址 -P 端口号 -u 用户名 -p
# 登录后直接执行 SQL 语句
mysql -u 用户名 -p -e "SHOW DATABASES;"
# 退出
exit
quit
2. 数据库操作
-- 查看所有数据库
SHOW DATABASES;
-- 创建数据库
CREATE DATABASE 数据库名;
-- 创建数据库并指定字符集
CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 使用数据库
USE 数据库名;
-- 查看当前使用的数据库
SELECT DATABASE();
-- 删除数据库
DROP DATABASE 数据库名;
3. 数据表操作
-- 查看当前数据库所有表
SHOW TABLES;
-- 查看表结构
DESCRIBE 表名;
DESC 表名;
-- 创建表
CREATE TABLE 表名 (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT
);
-- 查看建表语句
SHOW CREATE TABLE 表名\G
-- 修改表结构
ALTER TABLE 表名 ADD 列名 数据类型;
ALTER TABLE 表名 MODIFY 列名 新数据类型;
ALTER TABLE 表名 DROP 列名;
-- 删除表
DROP TABLE 表名;
-- 清空表数据(保留结构)
TRUNCATE TABLE 表名;
4. 数据操作(CRUD)
-- 插入数据
INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);
-- 批量插入
INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2), (值3, 值4);
-- 查询数据
SELECT * FROM 表名;
SELECT 列1, 列2 FROM 表名 WHERE 条件 ORDER BY 列1 DESC LIMIT 10;
-- 更新数据
UPDATE 表名 SET 列1=新值 WHERE 条件;
-- 删除数据
DELETE FROM 表名 WHERE 条件;
5. 用户与权限管理
-- 创建用户
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
-- 修改密码
ALTER USER '用户名'@'主机' IDENTIFIED BY '新密码';
-- 授权
GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'主机';
GRANT SELECT, INSERT, UPDATE ON 数据库名.表名 TO '用户名'@'主机';
-- 收回权限
REVOKE 权限列表 ON 数据库名.* FROM '用户名'@'主机';
-- 查看权限
SHOW GRANTS FOR '用户名'@'主机';
-- 删除用户
DROP USER '用户名'@'主机';
6. 备份与恢复(命令行)
# 备份整个数据库
mysqldump -u 用户名 -p 数据库名 > backup.sql
# 备份多个数据库
mysqldump -u 用户名 -p --databases db1 db2 > backup.sql
# 备份所有数据库
mysqldump -u 用户名 -p --all-databases > backup.sql
# 恢复数据库
mysql -u 用户名 -p 数据库名 < backup.sql
7. 其他常用命令
-- 查看 MySQL 版本
SELECT VERSION();
-- 查看当前用户
SELECT USER();
-- 刷新权限
FLUSH PRIVILEGES;
-- 查看服务器状态
SHOW STATUS;
-- 查看连接信息
SHOW PROCESSLIST;
发表回复