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;
相关推荐
金融小白数据分析之路1 小时前
绍兴市镇街echarts 制作
前端·数据库·echarts
桐薇全肯定1 小时前
MySQL学生成绩管理系统实战操作
java·数据库·sql
hellojike1 小时前
free-stockdb本地金融数据库核心设计
数据库·金融
井川廊咏2 小时前
初探性能优化——2个月到4小时的性能提升
jvm·数据库·性能优化
这个DBA有点耶2 小时前
热点行更新:秒杀场景下一条UPDATE语句的锁等待与性能优化
数据库·sql·mysql·性能优化·database·dba
在水一缸2 小时前
深入浅出:Node.js 下一代 ORM 架构设计与实战解析
数据库·微服务·云原生·node.js·orm·架构设计
爱喝水的鱼丶2 小时前
SAP-ABAP:SELECT查询性能优化基础——索引匹配、条件顺序与缓冲机制利用技巧
数据库·性能优化·select·sap·abap·开发交流·交流学习
zhoupenghui1682 小时前
ClickHouse merge引擎详解以及应用
数据库·clickhouse·merge·mergetree
@insist1233 小时前
信息系统管理工程师-任务、标准、EDM 过程与关键域
java·大数据·数据库
qq_366086223 小时前
关于接口路径中中文值解码问题
java·开发语言·数据库