MySQL 数据库的常用操作命令大全

以下是 MySQL 数据库的常用操作命令大全,涵盖了数据库的创建、查询、更新、删除、表结构操作、事务管理、用户和权限管理等方面的操作。

1. 数据库操作

命令 说明
CREATE DATABASE dbname; 创建数据库
SHOW DATABASES; 显示所有数据库
USE dbname; 选择数据库
DROP DATABASE dbname; 删除数据库
SHOW TABLES; 显示当前数据库中的所有表
SELECT DATABASE(); 显示当前使用的数据库

2. 表操作

命令 说明
CREATE TABLE table_name (column_name1 datatype, column_name2 datatype, ...); 创建表
SHOW CREATE TABLE table_name; 查看表的创建语句
DESC table_name; 查看表结构
ALTER TABLE table_name ADD column_name datatype; 添加新列
ALTER TABLE table_name DROP column_name; 删除列
ALTER TABLE table_name MODIFY column_name datatype; 修改列的类型
ALTER TABLE table_name RENAME TO new_table_name; 重命名表
DROP TABLE table_name; 删除表

3. 数据操作(增删改查)

插入数据
命令 说明
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); 插入一行数据
INSERT INTO table_name VALUES (value1, value2, ...); 插入一行数据(按列顺序)
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...), (value1, value2, ...); 插入多行数据
查询数据
命令 说明
SELECT * FROM table_name; 查询表中所有列的所有行
SELECT column1, column2 FROM table_name; 查询指定列的数据
SELECT DISTINCT column1 FROM table_name; 查询某列的唯一值
SELECT * FROM table_name WHERE condition; 带条件查询
`SELECT * FROM table_name ORDER BY column1 [ASC DESC];`
SELECT * FROM table_name LIMIT offset, row_count; 分页查询
SELECT COUNT(*) FROM table_name; 查询表中数据的条数
SELECT column1, AVG(column2) FROM table_name GROUP BY column1; 按某列分组后聚合查询
更新数据
命令 说明
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; 更新指定行的数据
UPDATE table_name SET column1 = value1; 更新表中所有行的数据
删除数据
命令 说明
DELETE FROM table_name WHERE condition; 删除指定行
DELETE FROM table_name; 删除所有数据(不删除表结构)
TRUNCATE TABLE table_name; 清空表(并重置自增主键)

4. 表连接(JOIN)

命令 说明
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column; 内连接
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column; 左连接
SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column; 右连接
SELECT * FROM table1 CROSS JOIN table2; 笛卡尔积(交叉连接)

5. 索引操作

命令 说明
CREATE INDEX index_name ON table_name (column_name); 创建普通索引
CREATE UNIQUE INDEX index_name ON table_name (column_name); 创建唯一索引
SHOW INDEX FROM table_name; 查看表的索引
DROP INDEX index_name ON table_name; 删除索引

6. 视图操作

命令 说明
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition; 创建视图
DROP VIEW view_name; 删除视图
SHOW FULL TABLES WHERE TABLE_TYPE = 'VIEW'; 查看当前数据库的所有视图

7. 事务管理

命令 说明
START TRANSACTION; 开始一个事务
COMMIT; 提交事务
ROLLBACK; 回滚事务
SAVEPOINT savepoint_name; 创建一个事务保存点
ROLLBACK TO SAVEPOINT savepoint_name; 回滚到某个保存点
RELEASE SAVEPOINT savepoint_name; 删除一个保存点

8. 用户和权限管理

用户操作
命令 说明
CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 创建用户
DROP USER 'username'@'host'; 删除用户
RENAME USER 'old_user'@'host' TO 'new_user'@'host'; 重命名用户
SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password'); 修改用户密码
权限管理
命令 说明
GRANT ALL PRIVILEGES ON database.* TO 'username'@'host'; 授予用户所有权限
GRANT SELECT, INSERT ON database.* TO 'username'@'host'; 授予用户查询和插入权限
REVOKE ALL PRIVILEGES ON database.* FROM 'username'@'host'; 撤销用户的所有权限
SHOW GRANTS FOR 'username'@'host'; 显示用户的权限
FLUSH PRIVILEGES; 刷新权限,使权限更改生效

9. 备份与恢复

备份
命令 说明
mysqldump -u username -p database_name > backup_file.sql 备份整个数据库到 SQL 文件
mysqldump -u username -p --all-databases > all_databases_backup.sql 备份所有数据库
恢复
命令 说明
mysql -u username -p database_name < backup_file.sql 从 SQL 文件恢复数据库
mysql -u username -p < all_databases_backup.sql 恢复所有数据库

10. 其他常用命令

命令 说明
SHOW STATUS; 显示数据库运行状态
SHOW VARIABLES; 显示数据库系统变量
SHOW PROCESSLIST; 显示当前正在执行的线程
KILL thread_id; 杀死指定的线程
EXPLAIN SELECT * FROM table_name; 分析查询语句的执行计划
SHOW ERRORS; 显示错误信息
SHOW WARNINGS; 显示警告信息

这些命令涵盖了 MySQL 数据库的基本操作,可以帮助你管理数据库、表、数据和用户权限等

相关推荐
瑶总迷弟几秒前
使用 Docker 和 docker-compose 快速部署 openGauss
linux·数据库·云原生·eureka
C.R.xing17 分钟前
Pyspark分布式访问NebulaGraph图数据库
数据库·分布式·python·pyspark·nebulagraph
九皇叔叔20 分钟前
深度解析 PostgreSQL 中的 ctid、xmin、xmax:从原理到实战
数据库·postgresql
殷丿grd_志鹏32 分钟前
开源项目RuoYi-Cloud-Plus详解——公网内网穿透到虚拟机环境(持续更新)
数据库·开源·内网穿透·虚拟机
木易 士心1 小时前
AI 在数据库操作中的各类应用场景、方案与实践指南
数据库·人工智能·oracle
SunsPlanter1 小时前
苍穹外卖--04--Redis 缓存菜品信息、购物车
数据库·redis·缓存
解决问题no解决代码问题2 小时前
oracle删除表与表空间清理机制
数据库·oracle
程序员三明治2 小时前
【Mybatis从入门到入土】ResultMap映射、多表查询与缓存机制全解析
java·sql·缓存·mybatis·resultmap·缓存机制·多表查询
洲覆2 小时前
Redis 事务机制:Pipeline、ACID、Lua脚本
数据库·redis·缓存·lua
CHHC18802 小时前
SQLite批量操作优化方案
数据库·sqlite