SQL知識點總結(jié)
出處:網(wǎng)絡(luò)整理 發(fā)布于:2025-08-11 16:51:36
一、SQL基礎(chǔ)概念
SQL(STructured Query Language):結(jié)構(gòu)化查詢語言,用于管理關(guān)系型數(shù)據(jù)庫
關(guān)系型數(shù)據(jù)庫:基于關(guān)系模型,數(shù)據(jù)以表格形式存儲
主要操作類型:
DDL (數(shù)據(jù)定義語言):CREATE, ALTER, DROP
DML (數(shù)據(jù)操作語言):SELECT, INSERT, UPDATE, DELETE
DCL (數(shù)據(jù)控制語言):GRANT, REVOKE
TCL (事務(wù)控制語言):COMMIT, ROLLBACK, SAVEPOINT
二、基本查詢
SELECT語句:
sq
SELECT 列名1, 列名2 FROM 表名 WHERE 條件;
WHERE子句:過濾條件
比較運算符:=, <>, >, <, >=, <=
邏輯運算符:AND, OR, NOT
BETWEEN, IN, LIKE, IS NULL
排序:
sql
SELECT * FROM 表名 ORDER BY 列名 [ASC|DESC];
三、常用函數(shù)
聚合函數(shù):
COUNT(), SUM(), AVG(), MAX(), MIN()
字符串函數(shù):
CONCAT(), SUBSTRING(), UPPER(), LOWER(), LENGTH()
數(shù)值函數(shù):
ROUND(), CEIL(), FLOOR(), ABS()
日期函數(shù):
NOW(), CURDATE(), DATE_FORMAT(), DATEDIFF()
四、分組與過濾
GROUP BY:
sql
SELECT 列名, 聚合函數(shù) FROM 表名 GROUP BY 列名;
HAVING:對分組結(jié)果過濾
sql
復制SELECT 列名, COUNT(*) FROM 表名 GROUP BY 列名 HAVING COUNT(*) > 1;
五、多表查詢
連接類型:
內(nèi)連接(INNER JOIN):只返回匹配的行
左連接(LEFT JOIN):返回左表所有行,右表不匹配為NULL
右連接(RIGHT JOIN):返回右表所有行,左表不匹配為NULL
全連接(FULL JOIN):返回所有行,不匹配為NULL
交叉連接(CROSS JOIN):笛卡爾積
連接語法:
sql
SELECT * FROM 表1 JOIN 表2 ON 表1.列 = 表2.列;
六、子查詢
WHERE子句中的子查詢:
sql
SELECT * FROM 表名 WHERE 列名 IN (SELECT 列名 FROM 表名);
FROM子句中的子查詢:
sql
復制SELECT * FROM (SELECT 列名 FROM 表名) AS 別名;
EXISTS/NOT EXISTS:
sql
SELECT * FROM 表名 WHERE EXISTS (SELECT 1 FROM 表名 WHERE 條件);
七、數(shù)據(jù)操作
INSERT:
sql
INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);
UPDATE:
sql
UPDATE 表名 SET 列1=值1, 列2=值2 WHERE 條件;
DELETE:
sql
DELETE FROM 表名 WHERE 條件;
八、表與索引
創(chuàng)建表:
sql
CREATE TABLE 表名 ( 列名1 數(shù)據(jù)類型 約束, 列名2 數(shù)據(jù)類型 約束, ... );
約束類型:
PRIMARY KEY:主鍵
FOREIGN KEY:外鍵
NOT NULL:非空
UNIQUE:
CHECK:檢查條件
DEFAULT:默認值
索引:
CREATE INDEX 索引名 ON 表名 (列名);
九、事務(wù)處理
事務(wù)特性(ACID):
原子性(Atomicity)
一致性(Consistency)
隔離性(IsolaTIon)
持久性(Durability)
事務(wù)控制:
sql
BEGIN TRANSACTION; -- SQL語句 COMMIT; -- 或 ROLLBACK;
十、特性
視圖(VIEW):
sql
CREATE VIEW 視圖名 AS SELECT語句;
存儲過程(PROCEDURE):
CREATE PROCEDURE 過程名(參數(shù)) BEGIN -- SQL語句 END;
觸發(fā)器(TRIGGER):
sql
CREATE TRIGGER 觸發(fā)器名 BEFORE/AFTER INSERT/UPDATE/DELETE ON 表名 FOR EACH ROW BEGIN -- 觸發(fā)時執(zhí)行的SQL END;
窗口函數(shù)(Window Functions):
sql
SELECT 列名, ROW_NUMBER() OVER (PARTITION BY 列 ORDER BY 列) FROM 表名;
CTE(公用表表達式):
sql
WITH CTE名稱 AS ( SELECT語句 ) SELECT * FROM CTE名稱;
十一、性能優(yōu)化
合理使用索引
避免SELECT *
優(yōu)化JOIN操作
使用EXPLAIN分析查詢計劃
適當分表分庫
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復控制的復合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52
- 什么是有機液分析與有機液知識介紹2025/6/7 16:31:44