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;
相关推荐
NineData12 小时前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
IvorySQL13 小时前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
ma_king16 小时前
入门 java 和 数据库
java·数据库·后端
jiayou6419 小时前
KingbaseES 实战:审计追踪配置与运维实践
数据库
NineData1 天前
NineData 迁移评估功能正式上线
数据库·dba
NineData2 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
阿里云大数据AI技术2 天前
用 SQL 调大模型?Hologres + 百炼,让数据开发直接“对话”AI
sql·llm
赵渝强老师2 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石2 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_3 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库