作者信息:https://home.cnblogs.com/u/huangjiabobk

在运维工作中,MySQL常用sql语句有哪些?

在运维工作中,MySQL 的 SQL 语句是数据库管理和维护的重要工具。以下是一些常用的 SQL 语句及其应用场景,按功能分类介绍:

1. 数据库管理
  1. 查看所有数据库

    SHOW DATABASES;

    用于列出服务器上所有数据库。

  2. 创建数据库

    CREATE DATABASE db_name
    CHARACTER SET utf8mb4
    COLLATE utf8mb4_unicode_ci;

    创建一个新数据库,并指定字符集和校对规则。

  3. 删除数据库

    DROP DATABASE db_name;

    删除一个数据库,需谨慎使用。

  4. 切换数据库

    USE db_name;

    切换到指定的数据库。

2. 表管理**
  1. 查看表结构

    DESCRIBE table_name;

    SHOW COLUMNS FROM table_name;

    查看表的字段信息。

  2. 创建表

    CREATE TABLE table_name (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    创建一个新表,并定义字段和约束。

  3. 删除表

    DROP TABLE table_name;

    删除表,需谨慎使用。

  4. 修改表结构

    • 添加字段:

      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. 数据查询**
  1. 基本查询

    SELECT * FROM table_name;

    查询表中的所有数据。

  2. 条件查询

    SELECT * FROM table_name WHERE column_name = 'value';

    根据条件筛选数据。

  3. 排序查询

    SELECT * FROM table_name ORDER BY column_name ASC|DESC;

    按字段升序(ASC)或降序(DESC)排序。

  4. 分组查询

    SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;

    按字段分组并统计每组的数量。

  5. 分页查询

    SELECT * FROM table_name LIMIT offset, rows;

    分页查询,offset 是起始位置,rows 是返回的行数。

4. 数据操作
  1. 插入数据

    INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

    插入一行数据。

  2. 更新数据

    UPDATE table_name SET column_name = 'new_value' WHERE condition;

    更新符合条件的行。

  3. 删除数据

    DELETE FROM table_name WHERE condition;

    删除符合条件的行,需谨慎使用。

5. 索引管理
  1. 查看索引

    SHOW INDEX FROM table_name;

    查看表的索引信息。

  2. 创建索引

    CREATE INDEX index_name ON table_name (column_name);

    为表创建索引。

  3. 删除索引

    DROP INDEX index_name ON table_name;

    删除索引。

6. 用户管理
  1. 查看用户

    SELECT user, host FROM mysql.user;

    查看所有用户。

  2. 创建用户

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';

    创建新用户。

  3. 授权

    GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'host';

    给用户授权。

  4. 删除用户

    DROP USER 'username'@'host';

    删除用户。

7. 性能优化
  1. 查看慢查询

    SHOW VARIABLES LIKE 'slow_query_log';

    查看慢查询日志是否开启。

  2. 查看当前会话

    SHOW PROCESSLIST;

    查看当前数据库连接和会话。

  3. 查看表大小

    SELECT table_name, table_rows, data_length + index_length AS total_size
    FROM information_schema.tables
    WHERE table_schema = 'db_name';

    查看表的大小和行数。

  4. 分析表

    ANALYZE TABLE table_name;

    分析表的统计信息,优化查询性能。

8. 备份与恢复
  1. 备份数据库

    mysqldump -u username -p db_name > backup.sql

    使用 mysqldump 工具备份数据库。

  2. 恢复数据库

    mysql -u username -p db_name < backup.sql

    将备份文件恢复到数据库。

综上所述,这些 SQL 语句是 MySQL 运维工作中的常用工具,掌握它们可以帮助你高效地管理数据库。

posted @   黄嘉波  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 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的数据存储在哪里?
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波
点击右上角即可分享
微信分享提示