SQL學習___03:DML語法
1.DML(資料操縱語言)
用於操縱資料庫中的資料,包括插入、刪除、更新、查詢資料。(是最常見的SQL命令)
其命令有:(增刪改查)
insert————插入(插入記錄)
delete————刪除(刪除記錄)
update————更新(更新記錄)
select————查詢(從一個或多個表,查詢特定記錄)
2.DML示例
insert into————插入新的資料行
1.需要指定列的名稱
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
2.如果要為表中所有列新增值,則不需要【指定列的名稱】
(注意值的順序必須與欄位名一致)
INSERT INTO table_name
VALUES (全部值);
--------------------------
update————更新表中記錄
1.update可搭配where子句使用
警告:更新記錄時要小心,若省略where子句,所有記錄將被更新
UPDATE 表名
SET 欄位名1 = 新值1, 欄位名2 = 新值2, ...
WHERE 條件;
-------------------
delete————刪除表中記錄
1.delete可搭配where子句使用
警告:刪除記錄時,若省略where子句,所有記錄將被刪除(記錄被刪除,但表的結構、屬性、索引保持不變)
DELETE FROM 表名
WHERE 條件;
-----------------
select————查詢
完整的select查詢
SELECT DISTINCT column, AGG_FUNC(column_or_expression), …
FROM mytable
JOIN another_table
ON mytable.column = another_table.column
WHERE constraint_expression
GROUP BY column
HAVING constraint_expression
ORDER BY column ASC/DESC
LIMIT count OFFSET COUNT;
查詢執行順序
先從資料裡按條件找出資料,再對資料做一些整理,最後返回結果,
1.FROM
和 JOIN
s
FROM和JOIN會第一個執行,用來確定查詢的範圍。如果要JOIN連線不同表,可能會生成一個臨時Table來處理下面的過程。
總之第一步可以理解為確定資料來源表(可能含臨時表)。
2.WHERE
對資料來源進行篩選。
3.GROUP BY
GROUP BY 將對之前的資料進行分組、統計等。並將結果集縮小為分組數。
這意味著,其他資料在分組後被丟棄。
4.HAVING
和GROUP BY搭配使用,對分組後的資料進行過濾。
5.SELECT
確定結果後,SELECT對結果集進行簡單篩選或計算,決定輸出什麼資料。
6.DISTINCT
可以對資料行進行排重。
7.ORDER BY
對結果集進行排序。 ASC———DESC,預設為升序ASC。
因為SELECT中的表示式已經執行完,此時可以使用AS別名。
8.LIMIT / OFFSET
最後,LIMIT和OFFSET可以擷取部分資料。
結論
不是每一個SQL語句都要用到上面所有語法,
靈活運用SQL組合,深刻理解SQL執行原理,這將能更好地在SQL層面解決問題,而不用把問題都拋給程式邏輯。
1.單表查詢
格式:select 欄位 from 表
【 where-條件 group by-分組 having-過濾 order by-排序】
(分組) group by 欄位名
--注意:查詢的欄位中不能出現非分組欄位 比如:員工編號,員工名字(要有大的共同點,如部門)
2.複雜查詢
3.子查詢
4.相關子查詢
相關文章
- 【學習】SQL基礎-010-DMLSQL
- SQL學習___02:DDL+DCL語法SQL
- 6.3. 基本SQL語句——6.3.2. DMLSQL
- MySQL的DDL和DML操作語法MySql
- SQL 語句學習SQL
- KunlunDB對MySQL私有DML語法的支援MySql
- tensorflow語法學習
- MarkDown語法學習
- SQL語法SQL
- oracle學習筆記(十五) PL/SQL語法結構以及使用Oracle筆記SQL
- 02 - 03 Dart語法精講-基礎語法Dart
- sql語句學習總結SQL
- Scala基本語法學習
- Flutter Dart語法學習FlutterDart
- Java SE 語法學習Java
- 簡單的SQL語句學習SQL
- markdown學習(基礎語法)
- PHP基本語法學習 常量PHP
- PHP基本語法學習 [常量]PHP
- redis學習(八) Lua語法Redis
- markdown基本語法的學習
- Presto 與 Hive 語法學習RESTHive
- 學習Rust 基礎語法Rust
- 2024.10.24(SQL通用語法)SQL
- go學習03Go
- java學習03Java
- Spring學習03Spring
- SQL語法之SQL 萬用字元SQL字元
- Java學習之基礎語法練習Java
- 學習ES6新語法
- Flutter學習之Dart語法(一)FlutterDart
- Python學習筆記(語法篇)Python筆記
- Flutter學習之Dart語法(二)FlutterDart
- PHP基本語法學習 [變數]PHP變數
- Flutter學習之Dart語法(三)FlutterDart
- Flutter學習之Dart語法特性FlutterDart
- 爬蟲之CSS語法學習爬蟲CSS
- Java學習之基礎語法Java