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

佘山做网站公司企业关键词优化推荐

佘山做网站公司,企业关键词优化推荐,家装公司名称取名参考,出国做博后关注哪些网站目录 1. CRUD操作概述 2. Create操作详解 2.1 表的创建 2.2 单行数据插入 2.3 多行数据插入 2.4 插入冲突处理 3. Retrieve操作详解 3.1 基础查询 全列查询(慎用) 指定列查询 表达式查询 结果去重 3.2 条件查询(WHERE子句&#…

目录

1. CRUD操作概述

2. Create操作详解

2.1 表的创建

2.2 单行数据插入

2.3 多行数据插入

2.4 插入冲突处理

3. Retrieve操作详解

3.1 基础查询

全列查询(慎用)

指定列查询

表达式查询

结果去重

3.2 条件查询(WHERE子句)

比较运算符

逻辑运算符

NULL处理

3.3 结果排序(ORDER BY)

3.4 分页查询(LIMIT与OFFSET)

4. Update操作详解

4.1 单字段更新

4.2 多字段更新

4.3 基于表达式更新

5. Delete操作详解

5.1 删除指定数据

5.2 清空表数据

6. 高级查询技巧

6.1 聚合函数

6.2 GROUP BY与HAVING

7. 实战案例解析

案例1:去重插入

案例2:分页查询

8. 总结与最佳实践


1. CRUD操作概述

CRUD是数据库操作的四大核心功能:

  • Create(创建):插入数据

  • Retrieve(读取):查询数据

  • Update(更新):修改数据

  • Delete(删除):删除数据

本文将通过丰富的代码示例,详细解析MySQL中CRUD的实现方式及注意事项。


2. Create操作详解

2.1 表的创建

通过CREATE TABLE语句定义表结构。

CREATE TABLE students (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,sn INT NOT NULL UNIQUE COMMENT '学号',name VARCHAR(20) NOT NULL,qq VARCHAR(20)
);
  • 字段说明

    • id:主键,自增,无符号整数。

    • sn:唯一学号,不可为空。

    • name:姓名,长度限制为20字符。

    • qq:QQ号,可为空。

2.2 单行数据插入

全列插入时,需按表定义的列顺序提供所有值:

INSERT INTO students VALUES (100, 10000, '唐三藏', NULL);
  • 注意事项

    • 若省略自增主键(如id),MySQL会自动填充。

    • 必须保证值的顺序与表结构完全一致。

2.3 多行数据插入

指定列插入,适用于部分字段赋值:

INSERT INTO students (id, sn, name) VALUES(102, 20001, '曹孟德'),(103, 20002, '孙仲谋');
  • 优势:批量插入提升效率,减少数据库连接开销。

2.4 插入冲突处理

当主键或唯一键冲突时,使用ON DUPLICATE KEY UPDATE进行更新:

INSERT INTO students (id, sn, name) VALUES (100, 10010, '唐大师')ON DUPLICATE KEY UPDATE sn = 10010, name = '唐大师';
  • 返回值说明

    • 0 rows affected:冲突数据与更新值相同。

    • 1 row affected:插入新数据。

    • 2 rows affected:更新冲突数据。

或使用REPLACE直接替换冲突记录:

REPLACE INTO students (sn, name) VALUES (20001, '曹阿晴');
  • 注意REPLACE会删除原记录后插入新数据,可能导致自增ID不连续。


3. Retrieve操作详解

3.1 基础查询

全列查询(慎用)
SELECT * FROM exam_result;
  • 缺点:传输数据量大,可能影响索引性能。

指定列查询
SELECT id, name, english FROM exam_result;
表达式查询

计算总分并指定别名:

SELECT name, chinese + math + english AS 总分 FROM exam_result;
结果去重
SELECT DISTINCT math FROM exam_result;

3.2 条件查询(WHERE子句)

比较运算符
-- 英语不及格的同学
SELECT name, english FROM exam_result WHERE english < 60;-- 语文成绩在80到90分之间
SELECT name, chinese FROM exam_result 
WHERE chinese BETWEEN 80 AND 90;
逻辑运算符
-- 姓孙且不叫孙某的同学
SELECT name FROM exam_result 
WHERE name LIKE '孙%' AND name NOT LIKE '孙_';
NULL处理
-- 查询QQ号已知的同学
SELECT name, qq FROM students WHERE qq IS NOT NULL;

3.3 结果排序(ORDER BY)

-- 按数学成绩降序,英语成绩升序
SELECT name, math, english FROM exam_result 
ORDER BY math DESC, english ASC;

3.4 分页查询(LIMIT与OFFSET)

-- 每页3条数据,查询第2页
SELECT * FROM exam_result 
ORDER BY id LIMIT 3 OFFSET 3;
  • 注意OFFSET起始位置从0开始。


4. Update操作详解

4.1 单字段更新

UPDATE exam_result SET math = 80 WHERE name = '孙悟空';

4.2 多字段更新

UPDATE exam_result SET math = 60, chinese = 70 
WHERE name = '曹孟德';

4.3 基于表达式更新

-- 总成绩倒数前三的数学成绩加30分
UPDATE exam_result SET math = math + 30 
ORDER BY chinese + math + english LIMIT 3;

5. Delete操作详解

5.1 删除指定数据

DELETE FROM exam_result WHERE name = '孙悟空';

5.2 清空表数据

  • DELETE:逐行删除,可回滚,保留自增计数。

    DELETE FROM for_delete;

  • TRUNCATE:直接清空表,不可回滚,重置自增ID。

    TRUNCATE TABLE for_truncate;

6. 高级查询技巧

6.1 聚合函数

-- 统计数学成绩总分
SELECT SUM(math) FROM exam_result;-- 计算平均总分
SELECT AVG(chinese + math + english) AS 平均总分 FROM exam_result;

6.2 GROUP BY与HAVING

-- 按部门统计平均工资
SELECT deptno, AVG(sal) FROM EMP GROUP BY deptno;-- 筛选平均工资低于2000的部门
SELECT deptno, AVG(sal) AS avg_sal FROM EMP 
GROUP BY deptno HAVING avg_sal < 2000;

7. 实战案例解析

案例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:分页查询

-- 按ID分页,每页3条
SELECT * FROM exam_result ORDER BY id LIMIT 3 OFFSET 6;

8. 总结与最佳实践

  1. 避免全列查询:减少数据传输量,提升性能。

  2. 谨慎使用UPDATE/DELETE:操作前备份数据,或添加LIMIT限制。

  3. 合理使用索引:WHERE和ORDER BY字段建立索引可加速查询。

  4. 事务管理:批量操作时开启事务,确保数据一致性。

通过本文的系统学习,读者可掌握MySQL核心操作,应对日常开发中的各类数据管理需求。

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

相关文章:

  • 金融网站设计方案站长之家统计
  • 资阳优化团队资讯seo刷词
  • 安卓 网站整站下载百度网盘账号登录入口
  • 自建外贸网站多少钱汕头seo
  • 深圳响应式网站网站建设公司业务
  • ps网站子页怎么做的百度竞价推广开户联系方式
  • 客户都不愿意做网站昆明网络营销
  • 政府网站监测和集约化建设平台外贸推广平台排名
  • 做网站要服务器和什么百度联盟
  • 日照网站建设seo阻断艾滋病的药有哪些
  • 网站建设制作品牌公司软文写作是什么
  • 专业的营销网站建设公司排名平台推广文案
  • 温州网站开发服务商网站seo优化培训
  • 宜宾市住房和城乡建设局网站网站测试
  • wordpress代码实现bbs官网seo关键词排名系统
  • 长宁网站建设公司泰州seo推广
  • 网站建设服务器选择网页制作在线生成
  • 玉溪网站建设制作网站运营培训
  • 台州网站排名优化公司国外直播平台tiktok
  • 如何查找网站所有页面百度seo规则
  • 网站建设域名怎么用深圳网络推广哪家好
  • java网站开发架构河北网站建设推广
  • 昆明做网站找启搜网络营销型网站建设的重要原则
  • 视频结交网站怎么做近期的新闻消息
  • 企业门户网站建设公司湖北疫情最新消息
  • ukidc做电影网站seo费用
  • 做网站分类模块的设计思路嘉兴seo外包平台
  • 南阳网站设计网络运营课程培训班
  • 上海制作网页哪家好win优化大师怎么样
  • 佛山市城市建设档案馆网站营销手段有哪些方式