SQL學習___03:DML語法

SQL學習筆記發表於2020-12-11

 

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————查詢

自學SQL網

完整的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 和 JOINs

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.相關子查詢

 

 

 

 

 

 

 

相關文章