學習日記-day30-6.15

完成目標:

知識點:

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;已成為軟件質量保障的核心挑戰。 關鍵領域…