完成目标:

知识点:

1.DDL和DML的补充

知识点

核心内容

重点

快速创建表

使用CREATE TABLE...AS SELECT语句基于现有表快速创建新表

结构和数据复制 vs 仅复制结构(WHERE 1=2)

数据删除操作

DELETE FROM逐条删除 vs TRUNCATE TABLE重建表结构

DML操作 vs DDL操作、效率差异、自增ID重置

部分数据复制

通过指定列名和WHERE条件选择性复制数据

列筛选(SELECT s_no,s_name,age)与行筛选(WHERE s_no=2)的组合使用

操作类型区分

DDL(CREATE/DROP/TRUNCATE)与DML(INSERT/UPDATE/DELETE)

数据库对象操作 vs 数据操作的语法差异

2.DQL##表的准备

知识点

核心内容

重点

DQL查询操作

数据库中最重要且最常用的部分,涵盖单表查询、多表查询、子查询

多表关联逻辑(如自关联)、NULL与零值的区别(comm字段)

表结构设计

四张表(部门表dept、员工表emp、薪资等级表sale grade、奖金表bonus)

外键关联(emp.dept_no参考dept,emp.mgr自关联)、字段含义(如loc=location)

Oracle与MySQL对比

Oracle安装后自带四张表,MySQL需手动创建

表移植差异(字段兼容性)

数据插入与验证

批量运行SQL脚本初始化表数据

数据完整性检查(如部门与员工的关联性)

薪资等级逻辑

sale grade表定义工资区间等级(1-5级)

区间边界值理解(如1200属于1级还是2级)

3.最简单的SQL语句

知识点

核心内容

重点

单表查询基础

SELECT * FROM emp 查询整表数据,SELECT 列名 筛选部分列,WHERE 子句过滤行

星号(*)表示所有列,WHERE 条件需注意数据类型匹配

列别名与特殊字符处理

使用 AS 或直接空格定义别名(如 empno AS 员工编号),含空格/特殊符号时需加单/双引号

别名含空格时必须加引号,否则报错(如 "涨薪后工资")

算术运算符应用

在查询中直接计算(如 sal+1000),但 NULL 参与运算结果为 NULL

NULL 与 0 的区别,需后续学习 NVL 函数处理

去重操作

DISTINCT 对单列或多列组合去重(如 DISTINCT job, deptno)

多列去重时针对组合结果,非单列独立去重

排序规则

ORDER BY 默认升序(ASC),降序需显式声明(DESC),支持多列混合排序

多列排序时优先级按字段顺序,如 ORDER BY sal ASC, deptno DESC

经典案例

Oracle 示例表 emp 包含 14 条记录,如用户 SCOTT(密码 TIGER)为早期员工数据

表设计巧妙覆盖多数查询场景,适合教学

4.where子句

知识点

核心内容

重点

WHERE子句基础

通过WHERE子句添加过滤条件筛选数据,支持关系运算符(=、>、<、>=、<=、!=)

区分=与!=的写法(<>或!=均有效)

字符型数据查询

字符串比较默认不区分大小写,需用BINARY关键字强制区分(如WHERE BINARY job='CLERK')

单引号/双引号通用,但大小写敏感需特殊处理

日期与数值过滤

支持日期比较(如hiredate < '1981-12-25')和数值区间查询(sal BETWEEN 1500 AND 3000)

BETWEEN AND包含边界值,而> AND <不包含

逻辑运算符

AND(与)、OR(或)及符号替代(&&、`

IN运算符

替代多条件OR(如deptno IN (10,20)),支持字符型(job IN ('MANAGER','CLERK'))

IN列表内为精确匹配,非范围

模糊查询

LIKE配合通配符:%(任意多字符)、_(单个字符),如ename LIKE '_A%'(第二位为A)

通配符位置影响匹配结果

NULL值处理

需用IS NULL/IS NOT NULL判断空值,不可用=NULL

零值(0)与NULL本质不同

综合查询示例

多条件组合(如(job='SALESMAN' OR job='CLERK') AND sal>=1500)

括号对逻辑表达式的关键影响

5.函数的分类

知识点

核心内容

重点

SQL函数概念

封装特定功能的可调用模块(类似JAVA方法/Python函数),通过名称直接调用

函数不改变原数据值,仅对展示结果加工处理

单行函数

每条记录独立计算(如LOWER()/UPPER()),输入输出记录数一致

与多行函数的核心区别:逐条处理 vs 聚合计算

多行函数(分组函数)

一组数据聚合运算(如MAX()/SUM()),返回单一结果

仅5种:MAX/MIN/COUNT/SUM/AVG

函数分类记忆技巧

“除多行函数外均为单行函数”(因单行函数数量庞大)

易混淆点:分类依据是处理逻辑而非结果行数

函数作用

提升查询能力(如大小写转换、数值统计)

注意:LOWER(e_name)等单行函数会保留原表行数

6.单行函数(1)

知识点

核心内容

重点

单行函数分类

分为字符函数、数值函数、日期与时间函数等类型

注意与多行函数的区别

字符函数

LENGTH()获取字符串长度,SUBSTRING()进行字符串截取

SUBSTRING参数含义:第一个参数是起始下标(从1开始),第二个参数是截取长度

数值函数

ABS()取绝对值,CEIL()向上取整,FLOOR()向下取整,ROUND()四舍五入,MOD()取模

DUAL虚拟表的使用场景

日期时间函数

CURRENT_DATE获取年月日,CURRENT_TIME获取时分秒,NOW()和SYSDATE()获取完整时间

关键区别:NOW()返回SQL开始执行时间,SYSDATE()返回函数执行时刻时间

函数应用场景

演示了在SELECT查询、数据插入等场景下的函数使用

注意字段类型与函数返回值的匹配(如DATE类型不存储时分秒)

7.单行函数(2)

知识点

核心内容

重点

字符串/数值/日期函数

回顾内容,包含字符串、数值、日期与时间函数的SQL示例

空值处理(如NULL参与计算时需用IFNULL转换)

流程函数-IF

IF(条件, 真值, 假值)实现双分支逻辑,示例:薪资分级(高薪/低薪)

单分支逻辑:IFNULL(com,0)解决NULL计算问题

流程函数-NULLIF

NULLIF(值1,值2):相等返回NULL,不等返回值1

适用场景较少,需注意与IFNULL区别

流程函数-CASE(等值判断)

CASE job WHEN 'clerk' THEN '店员'...实现职位中英文映射

必须包含END结尾,ELSE处理默认情况

流程函数-CASE(区间判断)

CASE WHEN salary<=1000 THEN 'A级'...实现薪资分级(A/B/C/D)

区间条件需严格递进(如1000-2000需隐含>1000)

其他函数

DATABASE()/USER()/VERSION()查询当前库/用户/版本信息

版本号识别(如8.0.21对应MySQL 5.8+)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/83870.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/83870.shtml
英文地址,请注明出处:http://en.pswp.cn/web/83870.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从检测到智能质控:IACheck如何成为TIC机构的AI中台?

一、TIC行业为何亟需AI质控&#xff1f; 过去十年&#xff0c;中国的TIC&#xff08;Testing, Inspection, Certification&#xff09;行业年均增长超过10%。无论是消费品、环境监测&#xff0c;还是工业制造、出口贸易&#xff0c;对“第三方检测报告”的依赖程度持续加深。 …

cka-1.32考题

1、HPA自动扩缩容 考题 &#xff08;考试的考题内容&#xff0c;只有下面方框里的内容&#xff09; 你必须连接到正确的主机。不这样做可能导致零分。 [candidatebase] $ ssh cka000050 Task 在 autoscale namespace 中创建一个名为 apache-server 的新 HorizontalPodAut…

DeepSeek 技术原理详解

引言 DeepSeek是一种基于Transformer架构的大型语言模型&#xff0c;它在自然语言处理领域展现出了卓越的性能。本文将深入探讨DeepSeek的技术原理&#xff0c;包括其架构设计、训练方法和优化策略&#xff0c;并结合代码实现进行详细讲解。 Transformer基础架构 DeepSeek基…

组件化 websocket

实时数据响应&#xff0c;组件化websocket减少代码冗余 组件定义 websocket.vue <template><div></div> </template><script>export default {data() {return {webSocket: null, // webSocket实例lockReconnect: false, // 重连锁&#xff0c;…

IBMS集成系统3D可视化数字孪生管理平台介绍、搭建、运维

IBMS集成系统3D可视化数字孪生管理平台介绍、搭建、运维 IBMS集成系统3D可视化数字孪生管理平台是一种先进的智能建筑管理系统&#xff0c;通过数字孪生技术和3D可视化界面&#xff0c;实现对建筑设施的全方位、智能化管理。该平台整合了物联网(IoT)、大数据、人工智能和三维建…

湖北理元理律师事务所:债务重组中的技术赋能与法律边界

一、当法律遇上算法&#xff1a;还款模型的进化 传统债务协商依赖律师经验&#xff0c;如今通过技术工具可实现&#xff1a; 输入&#xff1a;用户收入/债务/必需支出 输出&#xff1a; 1. 法定可减免金额&#xff08;基于LPR与历史判例库&#xff09;&#xff1b; 2.…

对抗串扰的第一武器

痕量分离;长度平行度;stackup&#xff1a;有没有一个脱颖而出&#xff1f; 我已经有一段时间没有看到关于串扰的文章了&#xff0c;所以我决定借此机会为那些可能对为什么精通串扰的 PCB 设计人员和硬件工程师使用各种设计规则来控制串扰感兴趣的 PCB 设计社区中的人简要介绍一…

FastAPI:(11)SQL数据库

FastAPI&#xff1a;(11)SQL数据库 由于CSDN无法展示「渐构」的「#d&#xff0c;#e&#xff0c;#t&#xff0c;#c&#xff0c;#v&#xff0c;#a」标签&#xff0c;推荐访问我个人网站进行阅读&#xff1a;Hkini 「渐构展示」如下&#xff1a; #c 概述 文章内容概括 #mermaid…

“智眸·家联“项目开发(一)

嵌入式开发调试知识点总结&#xff08;含操作流程&#xff09; 我们今天解决问题的过程&#xff0c;就像是侦探破案&#xff0c;从最表面的线索&#xff08;网络不通&#xff09;开始&#xff0c;一步步深入&#xff0c;最终找到了案件的核心&#xff08;硬件不匹配&#xff0…

展开说说Android之Retrofit详解_使用篇

Retrofit是由Square公司开发的类型安全HTTP客户端框架&#xff0c;借助动态代理在运行时生成接口实现类&#xff0c;将注解转化为OkHttp请求配置&#xff1b;节省成本通过转换器(Gson/Moshi)自动序列化JSON/XML&#xff0c;内部处理网络请求在主线程返回报文。Retrofit 直译是封…

复古美学浅绿色文艺风格Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色介绍 复古美学浅绿色文艺风格 Lr 调色&#xff0c;是基于 Adobe Lightroom&#xff08;Lr&#xff09;软件&#xff0c;为摄影作品赋予特定艺术氛围的调色方式。通过合理设置软件中的各项参数与工具&#xff0c;把照片调整为以浅绿色为主调&#xff0c;融合复古元素与文艺气…

力扣网C语言编程题:缺失的第一个正数第三种解题方法

一. 简介 前面文章学习了对该题目的两种解题思路&#xff0c;文章如下&#xff1a; 力扣网C语言编程题&#xff1a;缺失的第一个正数-CSDN博客 但是前面的实现上在空间复杂度上没有满足要求。本文学习一种在空间复杂度上为 O(1)的思路。 二. 力扣网C语言编程题&#xff1a;缺…

PyTorch 实现 MNIST 手写数字识别

PyTorch 实现 MNIST 手写数字识别 MNIST 是一个经典的手写数字数据集&#xff0c;包含 60000 张训练图像和 10000 张测试图像。使用 PyTorch 实现 MNIST 分类通常包括数据加载、模型构建、训练和评估几个部分。 数据加载与预处理 使用 torchvision 加载 MNIST 数据集&#x…

Python内存互斥与共享深度探索:从GIL到分布式内存的实战之旅

引言&#xff1a;并发编程的内存困局 在开发高性能Python应用时&#xff0c;我遭遇了这样的困境&#xff1a;多进程间需要共享百万级数据&#xff0c;而多线程间又需保证数据一致性。传统解决方案要么性能低下&#xff0c;要么引发竞态条件。本文将深入探讨Python内存互斥与共…

【Unity】使用 C# SerialPort 进行串口通信

索引 一、SerialPort串口通信二、使用SerialPort1.创建SerialPort对象&#xff0c;进行基本配置2.写入串口数据①.写入串口数据的方法②.封装数据 3.读取串口数据①.读取串口数据的方法②.解析数据 4.读取串口数据的时机①.DataReceived事件②.多线程接收数据 5.粘包问题处理 一…

如何写好单元测试:Mock 脱离数据库,告别 @SpringBootTest 的重型启动

如何写好单元测试&#xff1a;Mock 脱离数据库&#xff0c;告别 SpringBootTest 的重型启动 作者&#xff1a;Killian&#xff08;重庆&#xff09; — 欢迎各位架构猎头、技术布道者联系我&#xff0c;项目实战丰富&#xff0c;代码稳健&#xff0c;Mock测试爱好者。 技术栈&a…

【DNS】在 Windows 下修改 `hosts` 文件

在 Windows 下修改 hosts 文件&#xff0c;一般用于本地 DNS 覆盖。操作步骤如下&#xff08;以 Windows 10/11 为例&#xff09;&#xff1a; 1. 以管理员权限打开记事本 点击 开始 → 输入 “记事本”在“记事本”图标上右键 → 选择 以管理员身份运行 如果提示“是否允许此…

共享内存实现进程通信

目录 system V共享内存 共享内存示意图 共享内存函数 shmget函数 shmat函数 shmdt函数 shmctl函数 代码示例 shm头文件 构造函数 获取key值 创建者的构造方式 GetShmHelper 函数 GetShmUseCreate 函数 使用者的构造方式 GetShmForUse 函数 分离附加操作 DetachShm 函数 AttachS…

6月15日星期日早报简报微语报早读

6月15日星期日&#xff0c;农历五月二十&#xff0c;早报#微语早读。 1、证监会拟修订期货公司分类评价&#xff1a;明确扣分标准&#xff0c;优化加分标准&#xff1b; 2、国家考古遗址公园再添10家&#xff0c;全国已评定65家&#xff1b; 3、北京多所高校禁用罗马仕充电宝…

破解关键领域软件测试“三重难题”:安全、复杂性、保密性

在国家关键领域&#xff0c;软件系统正成为核心战斗力的一部分。相比通用软件&#xff0c;关键领域软件在 安全性、复杂性、实时性、保密性 等方面要求极高。如何保障安全合规前提下提升测试效率&#xff0c;确保系统稳定&#xff0c;已成为软件质量保障的核心挑战。 关键领域…