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;
相关推荐
KaMeidebaby5 小时前
卡梅德生物技术快报|噬菌体肽库展示技术构建 Mhp168‑Hsp70 定向随机肽库:流程、质控与数据结果
前端·数据库·其他·百度·新浪微博
SelectDB6 小时前
Agent 时代,为什么传统的可观测方案不适用了?
大数据·数据库·数据分析
snowfoootball6 小时前
解决低版本navicat连接PostgreSQl的不兼容报错问题
数据库·postgresql
徐sir(徐慧阳)7 小时前
ORACLE RAC GI目录下crfclust.bdb文件过大问题处理
数据库·oracle
琢磨先生David7 小时前
人大金仓(KingbaseES)数据库简介
数据库
Project_Observer7 小时前
使用Zoho Projects AI自动项目管理
大数据·数据库·人工智能·深度学习·机器学习·深度优先
-To be number.wan7 小时前
关系数据库语言SQL基础
数据库
jonyleek7 小时前
性能就是生命线?规则引擎如何支撑实时决策
java·开发语言·数据库
ZFSS7 小时前
Midjourney Shorten API 的集成与使用
java·前端·数据库·人工智能·ai·midjourney·ai编程