MySQL 常用操作命令
1. 连接数据库
mysql -u 用户名 -p
2. 查看数据库列表
SHOW DATABASES;
3. 创建数据库
CREATE DATABASE 数据库名;
4. 删除数据库
DROP DATABASE 数据库名;
5. 使用数据库
USE 数据库名;
6. 查看当前使用的数据库
SELECT DATABASE();
7. 查看数据库中的表
SHOW TABLES;
8. 创建表
CREATE TABLE 表名 (
列名1 数据类型 [约束],
列名2 数据类型 [约束],
...
);
9. 删除表
DROP TABLE 表名;
10. 查看表结构
DESCRIBE 表名;
11. 查看表的详细信息
SHOW CREATE TABLE 表名;
12. 插入数据
INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);
13. 更新数据
UPDATE 表名 SET 列1 = 值1, 列2 = 值2 WHERE 条件;
14. 删除数据
DELETE FROM 表名 WHERE 条件;
15. 查询数据
SELECT 列1, 列2, ... FROM 表名 WHERE 条件;
16. 条件查询(常见操作符)
SELECT * FROM 表名 WHERE 列1 = 值1 AND 列2 > 值2;
常见操作符:
– =
: 等于
– >
: 大于
– <
: 小于
– >=
: 大于等于
– <=
: 小于等于
– !=
或 <>
: 不等于
– LIKE
: 模糊匹配
– BETWEEN
: 范围查询
– IN
: 在指定值范围内
17. 排序
SELECT * FROM 表名 ORDER BY 列名 ASC; -- 升序
SELECT * FROM 表名 ORDER BY 列名 DESC; -- 降序
18. 分页查询
SELECT * FROM 表名 LIMIT 偏移量, 条数;
-- 示例:获取第2页,每页10条数据
SELECT * FROM 表名 LIMIT 10, 10;
19. 聚合函数
SELECT COUNT(*) FROM 表名; -- 计算记录数
SELECT AVG(列名) FROM 表名; -- 计算平均值
SELECT SUM(列名) FROM 表名; -- 计算总和
SELECT MAX(列名) FROM 表名; -- 计算最大值
SELECT MIN(列名) FROM 表名; -- 计算最小值
20. 分组查询
SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名;
21. 条件分组查询
SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名 HAVING COUNT(*) > 1;
22. 联接查询(JOIN)
-- 内连接 (INNER JOIN)
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名;
-- 左连接 (LEFT JOIN)
SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.列名 = 表2.列名;
-- 右连接 (RIGHT JOIN)
SELECT * FROM 表1 RIGHT JOIN 表2 ON 表1.列名 = 表2.列名;
23. 索引操作
-- 创建索引
CREATE INDEX 索引名 ON 表名 (列名);
-- 删除索引
DROP INDEX 索引名 ON 表名;
24. 修改表结构
-- 添加列
ALTER TABLE 表名 ADD 列名 数据类型;
-- 删除列
ALTER TABLE 表名 DROP COLUMN 列名;
-- 修改列
ALTER TABLE 表名 MODIFY 列名 新数据类型;
25. 查看当前用户权限
SHOW GRANTS FOR 当前用户;
26. 修改用户权限
GRANT 权限 ON 数据库.* TO '用户名'@'主机';
27. 删除用户
DROP USER '用户名'@'主机';
28. 退出 MySQL
EXIT;
在 MySQL 中,常用的数据库备份和导入命令包括使用 mysqldump
进行备份以及使用 mysql
进行导入。下面是相关命令的详细说明:
29. 数据库备份命令(使用 mysqldump
)
备份整个数据库
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
-u 用户名
: 指定 MySQL 用户名-p
: 提示输入密码数据库名
: 要备份的数据库名称备份文件.sql
: 保存备份的文件名及路径
示例:
mysqldump -u root -p my_database > /path/to/backup/my_database_backup.sql
备份多个数据库
mysqldump -u 用户名 -p --databases 数据库1 数据库2 ... > 备份文件.sql
--databases
后跟多个数据库名称,用空格隔开。
示例:
mysqldump -u root -p --databases db1 db2 > /path/to/backup/multiple_databases_backup.sql
备份所有数据库
mysqldump -u 用户名 -p --all-databases > 备份文件.sql
--all-databases
表示备份所有数据库。
示例:
mysqldump -u root -p --all-databases > /path/to/backup/all_databases_backup.sql
备份数据库的某个表
mysqldump -u 用户名 -p 数据库名 表名 > 备份文件.sql
数据库名
: 数据库名称表名
: 需要备份的表名称
示例:
mysqldump -u root -p my_database my_table > /path/to/backup/my_table_backup.sql
备份时不包括数据(仅备份结构)
mysqldump -u 用户名 -p -d 数据库名 > 备份文件.sql
-d
或--no-data
表示只备份表结构,不备份数据。
示例:
mysqldump -u root -p -d my_database > /path/to/backup/my_database_structure_backup.sql
备份时压缩文件(使用 gzip
)
mysqldump -u 用户名 -p 数据库名 | gzip > 备份文件.sql.gz
- 使用管道 (
|
) 将备份数据传递给gzip
,然后进行压缩。
示例:
mysqldump -u root -p my_database | gzip > /path/to/backup/my_database_backup.sql.gz
2. 数据库导入命令(使用 mysql
)
导入数据库
mysql -u 用户名 -p 数据库名 < 备份文件.sql
数据库名
: 要导入的目标数据库名称<
: 将 SQL 文件中的内容导入到指定数据库
示例:
mysql -u root -p my_database < /path/to/backup/my_database_backup.sql
导入压缩的备份文件
如果备份文件是 .gz
格式,可以通过管道命令进行解压并导入:
gunzip < 备份文件.sql.gz | mysql -u 用户名 -p 数据库名
gunzip < 备份文件.sql.gz
:解压.gz
文件| mysql -u 用户名 -p 数据库名
:将解压后的 SQL 内容导入数据库
示例:
gunzip < /path/to/backup/my_database_backup.sql.gz | mysql -u root -p my_database
导入多个数据库(如果备份时使用了 --databases
)
mysql -u 用户名 -p < 备份文件.sql
备份文件.sql
包含多个数据库的备份文件,可以直接导入。
示例:
mysql -u root -p < /path/to/backup/multiple_databases_backup.sql
创建数据库并导入
如果你想导入的数据库还未创建,可以先手动创建数据库,然后导入备份数据:
- 创建数据库:
CREATE DATABASE 数据库名;
- 导入备份:
mysql -u 用户名 -p 数据库名 < 备份文件.sql
示例:
mysql -u root -p -e "CREATE DATABASE new_database;"
mysql -u root -p new_database < /path/to/backup/new_database_backup.sql
这些是常见的 MySQL 数据库备份与恢复命令。mysqldump
提供了强大的备份功能,而 mysql
命令用于从 SQL 文件导入数据。如果你需要定期备份,建议结合脚本自动化这些操作。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
没有相关内容!
暂无评论...