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

相关推荐
Devil枫1 小时前
腾讯云云开发深度解读:云数据库、云模板与AI生成引用的魅力
数据库·人工智能·腾讯云
Kanna_STELLA1 小时前
Oracle视频基础1.1.4练习
数据库·oracle
城南云小白1 小时前
NoSQL的Redis配置
数据库·redis·nosql
懒惰树人2 小时前
渗透测试-百日筑基—SQL注入篇&时间注入&绕过&HTTP数据编码&绕过—下
网络·sql·安全·web安全·http·oracle
岁岁岁平安2 小时前
mysql上课总结(2)(DCL的所有操作总结、命令行快速启动/关闭mysql服务)
数据库·mysql·命令行·权限·dcl·localhost
Boboboobo2 小时前
记MySQL下一次DEPENDENT SUBQUERY的优化
数据库·sql·mysql·性能优化
hummhumm2 小时前
Oracle 第13章:事务处理
开发语言·数据库·后端·python·sql·oracle·database
小黑032 小时前
Spark SQL
大数据·sql·spark
隐居的遮天恶鬼3 小时前
Mac OS 搭建MySQL开发环境
数据库·mysql·mac
abandondyy5 小时前
MySQL---主从复制和读写分离
数据库·mysql