在运维工作中,MySQL常用sql语句有哪些?
在运维工作中,MySQL 的 SQL 语句是数据库管理和维护的重要工具。以下是一些常用的 SQL 语句及其应用场景,按功能分类介绍:
1. 数据库管理
-
查看所有数据库
SHOW DATABASES; 用于列出服务器上所有数据库。
-
创建数据库
CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 创建一个新数据库,并指定字符集和校对规则。
-
删除数据库
DROP DATABASE db_name; 删除一个数据库,需谨慎使用。
-
切换数据库
USE db_name; 切换到指定的数据库。
2. 表管理**
-
查看表结构
DESCRIBE table_name; 或
SHOW COLUMNS FROM table_name; 查看表的字段信息。
-
创建表
CREATE TABLE table_name ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 创建一个新表,并定义字段和约束。
-
删除表
DROP TABLE table_name; 删除表,需谨慎使用。
-
修改表结构
-
添加字段:
ALTER TABLE table_name ADD COLUMN column_name column_type; -
删除字段:
ALTER TABLE table_name DROP COLUMN column_name; -
修改字段类型:
ALTER TABLE table_name MODIFY COLUMN column_name column_type;
-
3. 数据查询**
-
基本查询
SELECT * FROM table_name; 查询表中的所有数据。
-
条件查询
SELECT * FROM table_name WHERE column_name = 'value'; 根据条件筛选数据。
-
排序查询
SELECT * FROM table_name ORDER BY column_name ASC|DESC; 按字段升序(ASC)或降序(DESC)排序。
-
分组查询
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name; 按字段分组并统计每组的数量。
-
分页查询
SELECT * FROM table_name LIMIT offset, rows; 分页查询,
offset
是起始位置,rows
是返回的行数。
4. 数据操作
-
插入数据
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); 插入一行数据。
-
更新数据
UPDATE table_name SET column_name = 'new_value' WHERE condition; 更新符合条件的行。
-
删除数据
DELETE FROM table_name WHERE condition; 删除符合条件的行,需谨慎使用。
5. 索引管理
-
查看索引
SHOW INDEX FROM table_name; 查看表的索引信息。
-
创建索引
CREATE INDEX index_name ON table_name (column_name); 为表创建索引。
-
删除索引
DROP INDEX index_name ON table_name; 删除索引。
6. 用户管理
-
查看用户
SELECT user, host FROM mysql.user; 查看所有用户。
-
创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 创建新用户。
-
授权
GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'host'; 给用户授权。
-
删除用户
DROP USER 'username'@'host'; 删除用户。
7. 性能优化
-
查看慢查询
SHOW VARIABLES LIKE 'slow_query_log'; 查看慢查询日志是否开启。
-
查看当前会话
SHOW PROCESSLIST; 查看当前数据库连接和会话。
-
查看表大小
SELECT table_name, table_rows, data_length + index_length AS total_size FROM information_schema.tables WHERE table_schema = 'db_name'; 查看表的大小和行数。
-
分析表
ANALYZE TABLE table_name; 分析表的统计信息,优化查询性能。
8. 备份与恢复
-
备份数据库
mysqldump -u username -p db_name > backup.sql 使用
mysqldump
工具备份数据库。 -
恢复数据库
mysql -u username -p db_name < backup.sql 将备份文件恢复到数据库。
综上所述,这些 SQL 语句是 MySQL 运维工作中的常用工具,掌握它们可以帮助你高效地管理数据库。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
2024-02-27 在K8S中,当Pod业务量比较大时候,如何实现水平伸缩和扩容?
2024-02-27 在K8S中,svc关联pod失败原因有哪些?
2024-02-27 在K8S中,如何查看Pod中某个容器日志?
2024-02-27 在K8S中,worke节点启动阶段包括什么?
2024-02-27 在K8S中,如何知道Pod的数据存储在哪里?