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 数据库的基本操作,可以帮助你管理数据库、表、数据和用户权限等

相关推荐
路在脚下@7 分钟前
spring boot的配置文件属性注入到类的静态属性
java·spring boot·sql
了一li2 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
码农君莫笑2 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
别致的影分身2 小时前
使用C语言连接MySQL
数据库·mysql
京东零售技术4 小时前
“慢”增长时代的企业数据体系建设:超越数据中台
数据库
sdaxue.com4 小时前
帝国CMS:如何去掉帝国CMS登录界面的认证码登录
数据库·github·网站·帝国cms·认证码
o(╥﹏╥)5 小时前
linux(ubuntu )卡死怎么强制重启
linux·数据库·ubuntu·系统安全
阿里嘎多学长5 小时前
docker怎么部署高斯数据库
运维·数据库·docker·容器
Yuan_o_5 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
Sunyanhui15 小时前
牛客网 SQL36查找后排序
数据库·sql·mysql