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

MySQL核心操作:从插入到查询全解析

MySQL 插入与查询操作笔记

一、数据插入操作

1. 基本插入语法

  1. 指定列插入INSERT [INTO] table_name (column1, column2, ...) VALUES (value1, value2, ...); 仅为指定的列插入数据。
  2. 全列插入INSERT [INTO] table_name VALUES (value1, value2, ...); 省略列名,默认按表结构顺序插入所有列。
  3. 省略 INTOinsert into 中的 into 可以省略。
  4. 多行插入INSERT INTO table_name (column1, ...) VALUES (v1, v2), (v3, v4), ...; 在 VALUES 后用逗号分隔多组数据,实现批量插入。

2. 插入并更新(Upsert)

  1. 语法:INSERT ... ON DUPLICATE KEY UPDATE column = value [, column = value] ...;
  2. 执行结果说明:
    1. 0 row affected:表中有冲突数据,且 update 的值与原值相同
    2. 1 row affected:表中没有冲突数据,数据被插入
    3. 2 row affected:表中有冲突数据,且数据已被更新
  3. 显示被影响的行数:SELECT row_count();

3. 替换插入

  1. REPLACE INTO例如:REPLACE INTO students (sn, name) VALUES (20001, '公瑾');
    1. 1 row affected:无冲突,直接插入
    2. 2 rows affected:有冲突,先删除再插入

二、数据查询操作

1. 查询语法

  1. 全列查询SELECT * FROM exam_result;
  2. 指定列查询SELECT id, name, english FROM exam_result;
  3. 表达式查询SELECT id, name, 10 FROM exam_result;
  4. 查询结果指定别名SELECT column [AS] alias_name [...] FROM table_name;

2. 数据去重

  • distinct 去重SELECT DISTINCT math FROM exam_result;

3. 条件筛选与排序

  1. WHERE 子句
    1. 运算符 = 对 NULL 不安全
    2. 判断 NULL 用 IS NULL / IS NOT NULL
  2. 范围搜索、逻辑运算符、算术运算符
  3. LIKE 模糊匹配使用 % 进行模糊查询
  4. ORDER BY 排序
    1. ASC(升序,默认)
    2. DESC(降序)
    3. 语法:SELECT ... FROM table_name [WHERE ...] ORDER BY column [ASC|DESC], ...;
    4. 注意: NULL 值比任何值都小

4. 限制查询结果

  1. LIMIT控制返回的行数
  2. OFFSET跳过指定行数的数据

注意事项:只有数据准备好才能排序,LIMIT 本质上是显示指定范围的数据。

5. 别名与语句执行顺序

  1. 使用别名可以简化查询结果的字段名
  2. 理解 SQL 语句的执行顺序有助于优化查询

三、数据更新与删除

1. 更新数据

  1. UPDATE 语法UPDATE table_name SET column = expr [, column = expr ...] [WHERE ...] [ORDER BY ...] [LIMIT ...];
  2. 注意: 更新操作风险较高,务必加 WHERE 条件

2. 删除数据

  1. DELETE 语法DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...];
  2. 注意: 删除操作同样危险,建议加 WHERE 条件

四、去重插入

  • INSERT INTO table_name [(column [, column ...])] SELECT ...可以通过 select 查询结果插入并去重

五、日志与持久化机制

  1. bin log(归档日志)
    1. 记录历史 SQL 语句
    2. 记录数据本身
  2. redo log(重做日志)
  3. undo log(回滚日志)

六、聚合与分组

  1. 聚合函数
  2. GROUP BY 分组
    1. 按条件将表逻辑拆分为多个子表,分别处理
  3. HAVING 子句
    1. 对聚合后的结果进行条件筛选
    2. WHERE 针对原始数据,HAVING 针对分组后的数据

七、MySQL 查询逻辑总结

  1. 中间筛选和最终结果,全部都是逻辑上的表,MySQL 一切皆是表
  2. 只要掌握单表的 CURD 操作,几乎所有 SQL 场景都能用统一方式解决

http://www.dtcms.com/a/411253.html

相关文章:

  • gRPC从0到1系列【1】
  • 网站建设电影WordPress发表心情
  • php做网站的优势网站建设方案的所属行业是
  • java-stream流
  • spiffs分区文件系统在esp idf的创建
  • php网站开发技术描述南昌seo网站排名
  • html5微网站做网站原型图软件
  • 86-python电网可视化项目-6
  • 长乐住房和城乡建设局网站wordpress文章页面
  • 技术拐点将至:AI 大模型的挑战突围与产业重构
  • 青海省住房和城乡建设部网站关键词排名优化软件价格
  • 图片做多的网站是哪个邢台移动网站设计
  • TypeScript 中避免使用 @ts-ignore 的最佳方案
  • 数据传输一致性保障:如何避免‘少数据’或‘脏数据’?
  • Product Hunt 每日热榜 | 2025-09-26
  • 北京公司网站建设定制全国十大装修公司最有名的是
  • 鸿蒙开发入门经验分享:从零开始构建自己的HarmonyOS应用(ArkTS)
  • 解锁安全新维度:Cybersecurity AI (CAI) 助力提升网络安全效率!
  • FastAPI WebSocket 由浅入深的开发范例
  • 义乌免费做网站怎么创业呢白手起家
  • 网站维护运营好做吗建筑工程网络数据安全管理系统
  • 怎么制作外贸网站模板wordpress给会员发信
  • 西安跨境电商平台网站淘宝网网站设计分析
  • SSL 证书的重要性
  • 快速上手XXL-JOB
  • 分组交换总结
  • 亚马逊网站怎么做做网站一般注册商标哪个类
  • daily notes[54]
  • 机器学习——决策树详解
  • 万象EXCEL开发(六)excel单元格运算逻辑 ——东方仙盟金丹期