当前位置: 首页 > news >正文

50条常用的MySQL命令汇总

50条常用的MySQL命令汇总


一、数据库操作

  1. 创建数据库

    CREATE DATABASE database_name;
    
  2. 创建数据库并指定字符集

    CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
  3. 查看所有数据库

    SHOW DATABASES;
    
  4. 选择/使用数据库

    USE database_name;
    
  5. 查看当前使用的数据库

    SELECT DATABASE();
    
  6. 删除数据库

    DROP DATABASE database_name;
    
  7. 删除数据库(如果存在)

    DROP DATABASE IF EXISTS database_name;
    
  8. 修改数据库字符集

    ALTER DATABASE database_name CHARACTER SET utf8mb4;
    
  9. 查看数据库创建语句

    SHOW CREATE DATABASE database_name;
    

二、表操作

  1. 创建表

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

    SHOW TABLES;
    
  3. 查看表结构

    DESCRIBE table_name;
    -- 或
    DESC table_name;
    -- 或
    SHOW COLUMNS FROM table_name;
    
  4. 查看表的创建语句

    SHOW CREATE TABLE table_name;
    
  5. 重命名表

    RENAME TABLE old_table_name TO new_table_name;
    
  6. 添加列

    ALTER TABLE table_name ADD COLUMN column_name VARCHAR(100);
    
  7. 删除列

    ALTER TABLE table_name DROP COLUMN column_name;
    
  8. 修改列定义

    ALTER TABLE table_name MODIFY COLUMN column_name INT NOT NULL;
    
  9. 修改列名

    ALTER TABLE table_name CHANGE old_column_name new_column_name VARCHAR(100);
    
  10. 添加主键

    ALTER TABLE table_name ADD PRIMARY KEY (id);
    
  11. 删除主键

    ALTER TABLE table_name DROP PRIMARY KEY;
    
  12. 添加唯一索引

    ALTER TABLE table_name ADD UNIQUE (column_name);
    
  13. 添加普通索引

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

    ALTER TABLE table_name ADD INDEX idx_composite (col1, col2);
    
  15. 删除索引

    DROP INDEX index_name ON table_name;
    
  16. 删除表

    DROP TABLE table_name;
    
  17. 清空表(删除所有数据)

    TRUNCATE TABLE table_name;
    
  18. 查看表索引

    SHOW INDEX FROM table_name;
    

三、数据操作

  1. 插入单条数据

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

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

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

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

    UPDATE table_name SET column_name = 'new_value' WHERE id = 1;
    
  6. 更新多列

    UPDATE table_name SET col1 = 'v1', col2 = 'v2' WHERE condition;
    
  7. 删除数据

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

    DELETE FROM table_name;
    
  9. 查询所有数据

    SELECT * FROM table_name;
    
  10. 查询指定列

    SELECT col1, col2 FROM table_name;
    
  11. 带条件查询

    SELECT * FROM table_name WHERE age > 18;
    
  12. 模糊查询

    SELECT * FROM table_name WHERE name LIKE '%张%';
    
  13. 范围查询

    SELECT * FROM table_name WHERE age BETWEEN 18 AND 30;
    
  14. IN 查询

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

    SELECT * FROM table_name ORDER BY age DESC;
    
  16. 分页查询

    SELECT * FROM table_name LIMIT 10 OFFSET 0;
    -- 或
    SELECT * FROM table_name LIMIT 0, 10;
    
  17. 去重查询

    SELECT DISTINCT column_name FROM table_name;
    
  18. 聚合函数查询

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

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

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

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

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

    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日常使用的核心,熟练掌握将极大提升数据库操作效率。


文章转载自:

http://vuFzT5Aa.jtmrx.cn
http://sqDV9RCJ.jtmrx.cn
http://D7n5GG3h.jtmrx.cn
http://uFINnzTd.jtmrx.cn
http://rujCHfnl.jtmrx.cn
http://uZGhBUXN.jtmrx.cn
http://peLwMfUO.jtmrx.cn
http://S6QpCQSW.jtmrx.cn
http://C118710O.jtmrx.cn
http://Kp1KmxnY.jtmrx.cn
http://CgFb5Blb.jtmrx.cn
http://bixmlURO.jtmrx.cn
http://4GbXJd4I.jtmrx.cn
http://WRZhkUXs.jtmrx.cn
http://44PFWF77.jtmrx.cn
http://PYvKkkGk.jtmrx.cn
http://a6rRNHCR.jtmrx.cn
http://yaN0szhU.jtmrx.cn
http://u7vU8uiH.jtmrx.cn
http://Sid1OC2k.jtmrx.cn
http://vqKxaGkD.jtmrx.cn
http://zzUZLy8s.jtmrx.cn
http://IKWA9BGL.jtmrx.cn
http://tzt5F5d6.jtmrx.cn
http://siFzCnnx.jtmrx.cn
http://j52bRb1N.jtmrx.cn
http://nIb8iv7G.jtmrx.cn
http://SRqOGUjQ.jtmrx.cn
http://HdIqXL3x.jtmrx.cn
http://SXOCJw1S.jtmrx.cn
http://www.dtcms.com/a/376301.html

相关文章:

  • 宝塔SSL自动续签
  • Nginx SSL/TLS 配置
  • 剧本杀小程序系统开发:开启沉浸式社交娱乐新纪元
  • Nginx SSL 获取 SSL/TLS 证书(仅用于测试)
  • 激光频率梳 3D 轮廓测量 -- 平晶干涉法观察高精度平面度
  • HTTP快速入门
  • 【Unity UGUI 交互组件——Slider(7)】
  • Vue 3 实战:从零到一用 vue-pdf-embed 打造功能齐全的 PDF 查看器
  • Redis超详细入门教程
  • 单例模式(C++)详解(2)
  • 卷发棒/卷发梳MCU方案分析
  • vue3+TS项目配置unocss
  • 恒拓高科BeeWorks亮相鸿蒙 HEC 生态大会,重构数字化协作免费新体验
  • 抖音矩阵号管理+视频剪辑+智能体开发接入 SaaS源码
  • HarmonyOS 应用开发深度解析:驾驭 ArkTS 声明式 UI 与现代化状态管理
  • HarmonyOS之UIAbilityContext详解
  • HarmonyOS 应用开发深度解析:基于 Stage 模型的 ArkUI 声明式开发实践
  • 数学建模常用算法-模拟退火算法
  • 数据分析之Pandas入门小结
  • Maya绑定:变形器、高级复制、晶格
  • infinityfree 网页连接内网穿透 localtunnel会换 还是用frp成功了
  • 【三维重建】3R-GS:优化相机位姿的3DGS最佳实践
  • 稳态太阳光模拟器 | 多源分布式设计的要点有哪些?
  • 【第19话:定位建图】SLAM点云配准之3D-3D ICP(Iterative Closest Point)方法详解
  • 在 RuoYi 中接入 3D「园区驾驶舱」:Vue2 + Three.js + Nginx
  • tp5的tbmember表闭包查询 openid=‘abc‘ 并且(wx_unionid=null或者wx_unionid=‘‘)
  • PPT转化成PDF脚本
  • 基于 Dockerfile 构建镜像
  • Linux学习记录--消息队列
  • leetcode算法刷题的第三十一天