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;
相关推荐
coding-fun1 分钟前
电子发票批量提取导出合并助手
大数据·数据库
leo_2323 分钟前
备份&恢复--SMP(软件制作平台)语言基础知识之三十九
数据库·数据安全·开发工具·smp(软件制作平台)·应用系统
何以不说话6 分钟前
mysql 的主从复制
运维·数据库·学习·mysql
二二牧人6 分钟前
qemu arm64 linux开发环境搭建
linux·运维·数据库
茁壮成长的露露10 分钟前
导出导入工具mongoexport、mongoimport
数据库·mongodb
Coder_Boy_32 分钟前
基于SpringAI的在线考试系统-考试系统DDD(领域驱动设计)实现步骤详解
java·数据库·人工智能·spring boot
workflower1 小时前
软件需求规约的质量属性
java·开发语言·数据库·测试用例·需求分析·结对编程
橘子131 小时前
MySQL库的操作(二)
数据库·mysql·oracle
todoitbo2 小时前
多模数据库技术解析:以KingbaseES MongoDB兼容版为例
数据库·mongodb·kingbasees·金仓数据库
正在走向自律2 小时前
ksycopg2实战:Python连接KingbaseES数据库的完整指南
数据库·python·国产数据库·kingbase·kingbasees·数据库平替用金仓·ksycopg2