50条常用的MySQL命令汇总

50条常用的MySQL命令汇总


一、数据库操作

  1. 创建数据库

    sql 复制代码
    CREATE DATABASE database_name;
  2. 创建数据库并指定字符集

    sql 复制代码
    CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  3. 查看所有数据库

    sql 复制代码
    SHOW DATABASES;
  4. 选择/使用数据库

    sql 复制代码
    USE database_name;
  5. 查看当前使用的数据库

    sql 复制代码
    SELECT DATABASE();
  6. 删除数据库

    sql 复制代码
    DROP DATABASE database_name;
  7. 删除数据库(如果存在)

    sql 复制代码
    DROP DATABASE IF EXISTS database_name;
  8. 修改数据库字符集

    sql 复制代码
    ALTER DATABASE database_name CHARACTER SET utf8mb4;
  9. 查看数据库创建语句

    sql 复制代码
    SHOW CREATE DATABASE database_name;

二、表操作

  1. 创建表

    sql 复制代码
    CREATE TABLE table_name (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(50) NOT NULL,
        age INT,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
  2. 查看所有表

    sql 复制代码
    SHOW TABLES;
  3. 查看表结构

    sql 复制代码
    DESCRIBE table_name;
    -- 或
    DESC table_name;
    -- 或
    SHOW COLUMNS FROM table_name;
  4. 查看表的创建语句

    sql 复制代码
    SHOW CREATE TABLE table_name;
  5. 重命名表

    sql 复制代码
    RENAME TABLE old_table_name TO new_table_name;
  6. 添加列

    sql 复制代码
    ALTER TABLE table_name ADD COLUMN column_name VARCHAR(100);
  7. 删除列

    sql 复制代码
    ALTER TABLE table_name DROP COLUMN column_name;
  8. 修改列定义

    sql 复制代码
    ALTER TABLE table_name MODIFY COLUMN column_name INT NOT NULL;
  9. 修改列名

    sql 复制代码
    ALTER TABLE table_name CHANGE old_column_name new_column_name VARCHAR(100);
  10. 添加主键

    sql 复制代码
    ALTER TABLE table_name ADD PRIMARY KEY (id);
  11. 删除主键

    sql 复制代码
    ALTER TABLE table_name DROP PRIMARY KEY;
  12. 添加唯一索引

    sql 复制代码
    ALTER TABLE table_name ADD UNIQUE (column_name);
  13. 添加普通索引

    sql 复制代码
    ALTER TABLE table_name ADD INDEX idx_name (column_name);
  14. 添加复合索引

    sql 复制代码
    ALTER TABLE table_name ADD INDEX idx_composite (col1, col2);
  15. 删除索引

    sql 复制代码
    DROP INDEX index_name ON table_name;
  16. 删除表

    sql 复制代码
    DROP TABLE table_name;
  17. 清空表(删除所有数据)

    sql 复制代码
    TRUNCATE TABLE table_name;
  18. 查看表索引

    sql 复制代码
    SHOW INDEX FROM table_name;

三、数据操作

  1. 插入单条数据

    sql 复制代码
    INSERT INTO table_name (col1, col2) VALUES ('value1', 'value2');
  2. 插入多条数据

    sql 复制代码
    INSERT INTO table_name (col1, col2) VALUES 
    ('v1', 'v2'), 
    ('v3', 'v4');
  3. 插入数据(忽略重复)

    sql 复制代码
    INSERT IGNORE INTO table_name (col1, col2) VALUES ('value1', 'value2');
  4. 插入或更新(存在则更新)

    sql 复制代码
    INSERT INTO table_name (id, name) VALUES (1, 'Alice') ON DUPLICATE KEY UPDATE name='Alice';
  5. 更新数据

    sql 复制代码
    UPDATE table_name SET column_name = 'new_value' WHERE id = 1;
  6. 更新多列

    sql 复制代码
    UPDATE table_name SET col1 = 'v1', col2 = 'v2' WHERE condition;
  7. 删除数据

    sql 复制代码
    DELETE FROM table_name WHERE id = 1;
  8. 删除所有数据(不重置自增)

    sql 复制代码
    DELETE FROM table_name;
  9. 查询所有数据

    sql 复制代码
    SELECT * FROM table_name;
  10. 查询指定列

    sql 复制代码
    SELECT col1, col2 FROM table_name;
  11. 带条件查询

    sql 复制代码
    SELECT * FROM table_name WHERE age > 18;
  12. 模糊查询

    sql 复制代码
    SELECT * FROM table_name WHERE name LIKE '%张%';
  13. 范围查询

    sql 复制代码
    SELECT * FROM table_name WHERE age BETWEEN 18 AND 30;
  14. IN 查询

    sql 复制代码
    SELECT * FROM table_name WHERE id IN (1, 2, 3);
  15. 排序查询

    sql 复制代码
    SELECT * FROM table_name ORDER BY age DESC;
  16. 分页查询

    sql 复制代码
    SELECT * FROM table_name LIMIT 10 OFFSET 0;
    -- 或
    SELECT * FROM table_name LIMIT 0, 10;
  17. 去重查询

    sql 复制代码
    SELECT DISTINCT column_name FROM table_name;
  18. 聚合函数查询

    sql 复制代码
    SELECT COUNT(*), AVG(age), MAX(age), MIN(age), SUM(age) FROM table_name;
  19. 分组查询

    sql 复制代码
    SELECT department, COUNT(*) FROM employees GROUP BY department;
  20. 分组后筛选(HAVING)

    sql 复制代码
    SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 5;
  21. 多表连接查询(INNER JOIN)

    sql 复制代码
    SELECT u.name, o.order_id FROM users u INNER JOIN orders o ON u.id = o.user_id;
  22. 左连接查询(LEFT JOIN)

    sql 复制代码
    SELECT u.name, o.order_id FROM users u LEFT JOIN orders o ON u.id = o.user_id;
  23. 子查询

    sql 复制代码
    SELECT * FROM users WHERE id IN (SELECT user_id FROM orders WHERE amount > 100);

补充说明

  • 安全操作 :执行 DROP, DELETE, UPDATE 等操作前,建议先备份数据或在测试环境验证。
  • 性能优化 :合理使用索引、避免 SELECT *、优化 WHERE 条件可提升查询效率。
  • 字符集 :推荐使用 utf8mb4 字符集以支持完整的 Unicode(如 emoji)。
  • 事务 :对于需要保证数据一致性的操作,使用 BEGIN, COMMIT, ROLLBACK 控制事务。

这些命令是MySQL日常使用的核心,熟练掌握将极大提升数据库操作效率。

相关推荐
AllData公司负责人15 分钟前
AllData数据中台-数据同步平台【Seatunnel-Web】整库同步MySQL同步Doris能力演示
大数据·数据库·mysql·开源
加油,小猿猿22 分钟前
Java开发日志-双数据库事务问题
java·开发语言·数据库
山岚的运维笔记1 小时前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
Gain_chance1 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
醇氧1 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
未来之窗软件服务1 小时前
计算机等级考试—高频英语词汇—东方仙盟练气期
数据库·计算机软考·东方仙盟
lekami_兰1 小时前
MySQL 长事务:藏在业务里的性能 “隐形杀手”
数据库·mysql·go·长事务
蚕豆哥2 小时前
【2026马年重启】我的 Primavera P6/Unifier 技术笔记,继续更新!
ai·oracle·项目管理·unifier·p6·进度管理·甲骨文
JQLvopkk2 小时前
C# 轻量级工业温湿度监控系统(含数据库与源码)
开发语言·数据库·c#
devmoon3 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡