MySQL常用命令全攻略

MySQL 常用命令的分类总结,涵盖数据库操作、表管理、数据查询、用户权限等核心场景:

一、数据库操作

  1. 查看所有数据库

    复制代码
    SHOW DATABASES;
  2. 创建数据库

    复制代码
    CREATE DATABASE [数据库名] [CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci];  -- 指定字符集(推荐utf8mb4)
  3. 删除数据库

    复制代码
    DROP DATABASE [数据库名];
  4. 使用数据库

    复制代码
    USE [数据库名];  -- 切换到目标数据库
  5. 查看当前使用的数据库

    复制代码
    SELECT DATABASE();

二、数据表操作

  1. 查看当前数据库所有表

    复制代码
    SHOW TABLES;
  2. 创建表

    复制代码
    CREATE TABLE [表名] (
      字段1 类型 [约束],
      字段2 类型 [约束],
      ...
      PRIMARY KEY (主键字段)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;  -- 引擎推荐InnoDB

    约束示例NOT NULL(非空)、UNIQUE(唯一)、AUTO_INCREMENT(自增)、DEFAULT(默认值)。

  3. 查看表结构

    复制代码
    DESC [表名];  -- 或 DESCRIBE [表名];
  4. 修改表名

    复制代码
    ALTER TABLE [旧表名] RENAME TO [新表名];
  5. 添加字段

    复制代码
    ALTER TABLE [表名] ADD [字段名] [类型] [约束];
  6. 修改字段

    复制代码
    ALTER TABLE [表名] MODIFY [字段名] [新类型] [新约束];  -- 修改类型/约束
    ALTER TABLE [表名] CHANGE [旧字段名] [新字段名] [类型] [约束];  -- 重命名并修改
  7. 删除字段

    复制代码
    ALTER TABLE [表名] DROP [字段名];
  8. 删除表

    复制代码
    DROP TABLE [表名];

三、数据查询(SELECT)

  1. 基础查询

    复制代码
    SELECT [字段1, 字段2, ... | *] FROM [表名];  -- *表示所有字段
  2. 条件查询

    复制代码
    SELECT * FROM [表名] WHERE [条件];  -- 条件用=、>、<、AND、OR、NOT等连接
  3. 排序

    复制代码
    SELECT * FROM [表名] ORDER BY [字段] [ASC|DESC];  -- ASC升序(默认),DESC降序
  4. 限制结果行数

    复制代码
    SELECT * FROM [表名] LIMIT [起始行, 行数];  -- 起始行从0开始,常用于分页
  5. 去重

    复制代码
    SELECT DISTINCT [字段] FROM [表名];  -- 去除重复值
  6. 聚合查询

    复制代码
    SELECT COUNT(*), AVG(字段), SUM(字段), MAX(字段), MIN(字段) FROM [表名] [WHERE 条件];
  7. 分组查询

    复制代码
    SELECT [分组字段], COUNT(*) FROM [表名] GROUP BY [分组字段] [HAVING 分组条件];  -- HAVING过滤分组结果
  8. 多表连接查询

    复制代码
    -- 内连接(仅匹配关联数据)
    SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段 = 表2.字段;
    -- 左连接(保留表1所有数据,表2无匹配则为NULL)
    SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.字段 = 表2.字段;

四、数据增删改(CRUD)

  1. 插入数据(Create)

    复制代码
    INSERT INTO [表名] (字段1, 字段2, ...) VALUES (值1, 值2, ...);  -- 指定字段
    INSERT INTO [表名] VALUES (值1, 值2, ...);  -- 按表所有字段顺序插入
  2. 更新数据(Update)

    复制代码
    UPDATE [表名] SET 字段1=值1, 字段2=值2 WHERE [条件];  -- 务必加WHERE,否则全表更新
  3. 删除数据(Delete)

    复制代码
    DELETE FROM [表名] WHERE [条件];  -- 务必加WHERE,否则全表数据删除

五、用户与权限管理

  1. 创建用户

    复制代码
    CREATE USER '[用户名]'@'[主机]' IDENTIFIED BY '[密码]';  -- 主机为%表示允许所有IP登录
  2. 授权用户

    复制代码
    GRANT [权限] ON [数据库.表] TO '[用户名]'@'[主机]';  -- 权限如ALL、SELECT、INSERT等
    -- 示例:授予用户所有数据库权限
    GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
  3. 刷新权限

    复制代码
    FLUSH PRIVILEGES;  -- 权限修改后生效
  4. 查看用户权限

    复制代码
    SHOW GRANTS FOR '[用户名]'@'[主机]';
  5. 撤销权限

    复制代码
    REVOKE [权限] ON [数据库.表] FROM '[用户名]'@'[主机]';
  6. 删除用户

    复制代码
    DROP USER '[用户名]'@'[主机]';

六、其他常用命令

  1. 查看 MySQL 版本

    复制代码
    SELECT VERSION();
  2. 查看当前用户

    复制代码
    SELECT USER();
  3. 执行 SQL 文件

    复制代码
    SOURCE /路径/文件名.sql;  -- 导入外部SQL脚本
  4. 退出 MySQL 客户端

    复制代码
    EXIT;  -- 或 QUIT;
相关推荐
清风6666662 小时前
基于单片机的水塔液位检测与智能调节报警系统设计
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
gplitems1232 小时前
Technox – IT Solutions & Services WordPress Theme: A Practical
linux·服务器·数据库
不剪发的Tony老师3 小时前
MySQL 9.5创新版发布,有哪些新功能?
数据库·mysql
布朗克1683 小时前
MySQL 及 SQL 注入详细说明
数据库·sql·mysql·1024程序员节
武子康4 小时前
Java-154 深入浅出 MongoDB 用Java访问 MongoDB 数据库 从环境搭建到CRUD完整示例
java·数据库·分布式·sql·mongodb·性能优化·nosql
Austindatabases5 小时前
DBA 从“修电脑的” 到 上演一套 “数据治理” 大戏 --- 维护DBA生存空间,体现个体价值
数据库·dba
LB21125 小时前
Redis黑马点评 day01
数据库·redis·缓存
白小筠5 小时前
创建Django项目
数据库·django·sqlite
-曾牛5 小时前
深入浅出 SQL 注入
网络·sql·安全·网络安全·渗透测试·sql注入·盲注
wudl55666 小时前
Flink 1.20 自定义SQL连接器实战
大数据·sql·flink