
SQL是數(shù)據(jù)分析常用的一種工具,今天跟小編一起來學(xué)習(xí)一下SQL結(jié)構(gòu)化查詢語言都有哪些分類吧。
結(jié)構(gòu)化查詢語言(英語:Structural Query Language,縮寫:SQL),是一種特殊目的之編程語言,用于數(shù)據(jù)庫中的標(biāo)準(zhǔn)數(shù)據(jù)查詢語言,IBM公司最早使用在其開發(fā)的數(shù)據(jù)庫系統(tǒng)中。1986年10月,美國國家標(biāo)準(zhǔn)學(xué)會對SQL進(jìn)行規(guī)范后,以此作為關(guān)系式數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言(ANSI X3. 135-1986),1987年得到國際標(biāo)準(zhǔn)組織的支持下成為國際標(biāo)準(zhǔn)。不過各種通行的數(shù)據(jù)庫系統(tǒng)在其實(shí)踐過程中都對SQL規(guī)范作了某些編改和擴(kuò)充。所以,實(shí)際上不同數(shù)據(jù)庫系統(tǒng)之間的SQL不能完全相互通用。
SQL分類:
數(shù)據(jù)查詢語言(DQL)
數(shù)據(jù)操縱語言(DML)
事務(wù)控制語言(TCL)
數(shù)據(jù)控制語言(DCL)
數(shù)據(jù)定義語言(DDL)
一、數(shù)據(jù)查詢語言(DQL:Data Query Language):
其語句稱為“數(shù)據(jù)檢索語句”,用以從表中獲得數(shù)據(jù),確定數(shù)據(jù)怎樣在應(yīng)用程序給出。數(shù)據(jù)查詢語言(Data Query Language, DQL)是SQL語言中,負(fù)責(zé)進(jìn)行數(shù)據(jù)查詢而不會對數(shù)據(jù)本身進(jìn)行修改的語句,這是最基本的SQL語句。數(shù)據(jù)查詢語言DQL基本結(jié)構(gòu)是由SELECT子句,F(xiàn)ROM子句,WHERE子句組成的查詢塊:
常規(guī)字段
SELECT <字段名表>
FROM <表或視圖名>
WHERE <查詢條件>
常用字段
FROM [要提取的數(shù)據(jù)來源對象,包含數(shù)據(jù)表,視圖表等] -- 可搭配JOIN做連接。
WHERE [提取的查詢條件] -- WHERE可有可無。
GROUP BY [要做聚合的分組字段] -- GROUP BY在使用聚合指令時必須要有。
HAVING [要做為條件的聚合字段] -- 要使用聚合函數(shù)作為條件時使用
ORDER BY [要排序的字段和方向] -- ORDER BY可有可無,若沒有則是按照查詢引擎的輸出順序?yàn)橹鳌?
二、 數(shù)據(jù)操作語言(DML:Data Manipulation Language):
其語句包括動詞INSERT,UPDATE和DELETE。它們分別用于添加,修改和刪除表中的行。也稱為動作查詢語言。
insert:向表中插入數(shù)據(jù)
delete:刪除表中的數(shù)據(jù),格式:delete from tableName [where 條件]
update:修改表中的數(shù)據(jù) 格式:update tableName set colName1=value1[,colName2=value2] [where 條件]
where 條件: 對表中的數(shù)據(jù)增加條件進(jìn)行限制,起到過濾的作用。
格式: where colName 關(guān)系運(yùn)算符 value [or|and 條件2]
關(guān)系運(yùn)算符: >,>=,<,<=, 等于:=,不等于:!= 或 <>
null值操作:比較null時,不能使用=或者!= 或者<>,而是使用 is或者is not,在select子句中,使用關(guān)系運(yùn)算符
三、事務(wù)控制語言(TCL):
它的語句能確保被DML語句影響的表的所有行及時得以更新。
COMMIT - save work done 提交
SAVEPOINT - identify a point in a transaction to which you can later roll back 保存點(diǎn)
ROLLBACK - restore database to original since the last COMMIT 回滾
SET TRANSACTION - Change transaction options like what rollback segment to use 設(shè)置當(dāng)前事務(wù)的特性,它對后面的事務(wù)沒有影響。
四、數(shù)據(jù)控制語言(DCL):
由 GRANT 和 REVOKE 兩個指令組成。DCL以控制用戶的訪問權(quán)限為主,GRANT為授權(quán)語句,對應(yīng)的REVOKE是撤銷授權(quán)語句。
格式:
1、創(chuàng)建用戶:create user username@ip identified by newPwd;
2、顯示用戶的權(quán)限:show grants for username@ip;
3、授權(quán):grant 權(quán)限1.權(quán)限2... on 數(shù)據(jù)庫名.* to username@ip;
DML權(quán)限:insert,delete,update
DQL權(quán)限:select
DDL權(quán)限:create,alter,drop...
4、撤銷權(quán)限:revoke 權(quán)限1.權(quán)限2..on 數(shù)據(jù)庫名.* from username@ip;
5、刪除用戶:drop user username;
使權(quán)限立即生效:flush privileges;
五、數(shù)據(jù)定義語言(DDL):
在數(shù)據(jù)庫中 創(chuàng)建新表或刪除表(CREAT TABLE 或 DROP TABLE),定義索引(鍵),規(guī)定表之間的鏈接,以及施加表間的約束。
CREATE - to create objects in the database 創(chuàng)建對象,可以用來創(chuàng)建用戶、數(shù)據(jù)庫,數(shù)據(jù)表,視圖,存儲過程,存儲函數(shù),觸發(fā)器,索引等。
ALTER - alters the structure of the database 修改對象,負(fù)責(zé)數(shù)據(jù)庫對象修改的指令。
DROP - delete objects from the database 刪除對象,只需要指定要刪除的數(shù)據(jù)庫對象名即可。
TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed 徹底清除對象,無法找回
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10