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

姜堰网站建设外链发布软件

姜堰网站建设,外链发布软件,石家庄房产网 二手房出售,建设网上银行个人网上银行目录 一、引言 二、CRUD基础操作 1. 数据插入(Create) 全列插入与指定列插入 冲突处理:插入否则更新 替换操作 2. 数据查询(Retrieve) 基础查询 条件筛选(WHERE) 排序与分页 3. 数据…

目录

一、引言

二、CRUD基础操作

1. 数据插入(Create)

全列插入与指定列插入

冲突处理:插入否则更新

替换操作

2. 数据查询(Retrieve)

基础查询

条件筛选(WHERE)

排序与分页

3. 数据更新(Update)

4. 数据删除(Delete)

三、聚合函数与分组查询

1. 常用聚合函数

示例

2. 分组查询(GROUP BY)

四、实战应用场景

1. 去重与数据迁移

2. 分页查询优化

3. 处理复杂条件

五、面试重点:SQL执行顺序

六、总结与最佳实践


一、引言

MySQL作为最流行的关系型数据库之一,其核心操作CRUD(Create, Retrieve, Update, Delete)是每个开发者必须掌握的基础技能。本文将系统性地讲解MySQL的增删改查操作,涵盖基础语法、高级技巧和实战案例,帮助读者构建完整的知识体系。

二、CRUD基础操作

1. 数据插入(Create)

全列插入与指定列插入
-- 全列插入(需按表结构顺序填写所有字段)
INSERT INTO students VALUES (100, 10000, '唐三藏', NULL);-- 指定列插入(可省略自增主键或允许为NULL的字段)
INSERT INTO students (sn, name) VALUES (20001, '曹孟德');
冲突处理:插入否则更新

当主键或唯一键冲突时,使用 ON DUPLICATE KEY UPDATE 同步更新数据:

INSERT INTO students (id, sn, name) VALUES (100, 10010, '唐大师')
ON DUPLICATE KEY UPDATE sn = 10010, name = '唐大师';
替换操作

REPLACE 在冲突时先删除再插入:

REPLACE INTO students (sn, name) VALUES (20001, '曹阿晴');

2. 数据查询(Retrieve)

基础查询
-- 全列查询(谨慎使用,可能影响性能)
SELECT * FROM exam_result;-- 指定列查询
SELECT name, math FROM exam_result;-- 别名与表达式
SELECT name, chinese + math + english AS 总分 FROM exam_result;
条件筛选(WHERE)
-- 比较运算符
SELECT name, english FROM exam_result WHERE english < 60;-- 范围查询
SELECT name, chinese FROM exam_result WHERE chinese BETWEEN 80 AND 90;-- 模糊匹配
SELECT name FROM exam_result WHERE name LIKE '孙%';  -- 姓孙的同学
SELECT name FROM exam_result WHERE name LIKE '孙_';  -- 姓孙且名字为两字的同学
排序与分页
-- 按总分降序排列
SELECT name, chinese + math + english 总分 
FROM exam_result 
ORDER BY 总分 DESC;-- 分页查询(每页3条,查看第2页)
SELECT id, name 
FROM exam_result 
ORDER BY id 
LIMIT 3 OFFSET 3;

3. 数据更新(Update)

-- 单字段更新
UPDATE exam_result SET math = 80 WHERE name = '孙悟空';-- 多字段更新
UPDATE exam_result SET math = 60, chinese = 70 WHERE name = '曹孟德';-- 表达式更新(为总分倒数前三的同学数学加30分)
UPDATE exam_result SET math = math + 30 
ORDER BY chinese + math + english 
LIMIT 3;

4. 数据删除(Delete)

-- 删除特定记录
DELETE FROM exam_result WHERE name = '孙悟空';-- 清空表(自增ID保留)
DELETE FROM for_delete;-- 截断表(自增ID重置)
TRUNCATE TABLE for_truncate;

三、聚合函数与分组查询

1. 常用聚合函数

函数说明
COUNT()统计行数
SUM()求和
AVG()求平均值
MAX()最大值
MIN()最小值
示例
-- 统计班级人数
SELECT COUNT(*) FROM students;-- 统计数学成绩种类数
SELECT COUNT(DISTINCT math) FROM exam_result;-- 计算平均总分
SELECT AVG(chinese + math + english) AS 平均总分 FROM exam_result;

2. 分组查询(GROUP BY)

-- 统计各部门的平均工资与最高工资
SELECT deptno, AVG(sal), MAX(sal) 
FROM emp 
GROUP BY deptno;-- 过滤分组结果(HAVING)
SELECT deptno, AVG(sal) AS avg_sal 
FROM emp 
GROUP BY deptno 
HAVING avg_sal < 2000;

四、实战应用场景

1. 去重与数据迁移

-- 创建新表并插入去重数据
CREATE TABLE no_duplicate_table LIKE duplicate_table;
INSERT INTO no_duplicate_table SELECT DISTINCT * FROM duplicate_table;-- 重命名表实现原子操作
RENAME TABLE duplicate_table TO old_duplicate_table,
no_duplicate_table TO duplicate_table;

2. 分页查询优化

-- 使用LIMIT和OFFSET实现分页
SELECT * FROM large_table 
ORDER BY id 
LIMIT 10 OFFSET 20;  -- 第3页,每页10条

3. 处理复杂条件

-- 查询姓孙或总成绩>200且语文<数学的同学
SELECT name, chinese, math, english 
FROM exam_result 
WHERE name LIKE '孙%' OR (chinese + math + english > 200 AND chinese < math);

五、面试重点:SQL执行顺序

SQL关键字执行顺序决定了查询逻辑的优先级:
FROM → ON → JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT


六、总结与最佳实践

  1. 避免全列查询:使用 SELECT * 可能导致性能问题,明确指定所需字段。

  2. 谨慎更新/删除:操作前务必确认WHERE条件,可先通过SELECT验证。

  3. 索引优化:频繁查询的字段建议添加索引,但需权衡写入性能。

  4. 事务处理:批量操作时使用事务,确保数据一致性。

通过本文的学习,相信你已经掌握了MySQL的核心操作。建议结合实战题目(如LeetCode SQL题库)进一步巩固技能,提升解决复杂问题的能力。

http://www.dtcms.com/wzjs/171823.html

相关文章:

  • pc端网站开发技术爱站网关键词查询网站的工具
  • 公司建一个网站吗公司网站搭建
  • 做网站怎么买域名网站点击量统计
  • 网站怎么做切换图片中国教师教育培训网
  • 襄阳建设网站山西seo排名
  • 深圳专业做网站建网站价格游戏代理加盟平台
  • 合肥网站建设王正刚软文发布的平台与板块
  • 凡科做的网站好吗服务营销策划方案
  • 宝鸡网站制作英文seo是什么意思
  • 景县有专业做网站人员吗班级优化大师app
  • 网站建设与管理收获网站怎样被百度收录
  • 商丘手机网站制作北京网站建设东轩seo
  • 深圳专业网站建设公司好吗企业查询软件
  • 婚纱摄影的网站怎么做人力资源培训机构
  • 网站建设一般的费用绍兴seo排名外包
  • 武汉营销型网站建设公司哪家专业温州企业网站排名优化
  • 哪个网站可以做视频外链百度指数查询手机版
  • wordpress用户自定义密码百度seo优化系统
  • 做网站赚钱交税百度投诉电话24小时
  • 网站ip如何做跳转平台做推广的技巧
  • Html5做旅游网站的设计思路模板建站网页
  • 建设银行手机网站关键词挖掘机爱站网
  • wordpress issetseo是一种利用搜索引擎的
  • 成都直销系统网站开发网络服务合同纠纷
  • 手机个人简历模板下载网站模板驻马店百度seo
  • 毕设可以是仿照其他网站做吗百度客服人工
  • 电子商务网站开发流程seo教学
  • 沈阳网站建设syfzkj网站运营与维护
  • 为什么要建设双端网站推广联盟
  • 邯郸做wap网站找谁的网站建设