首頁 > 軟體

SQL資料庫的所有命令(函數、運運算元)彙總大全

2023-01-28 18:03:41

結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統。sql語句就是對資料庫進行操作的一種語言。

1、SELECT選擇語句

該SELECT語句用於從資料庫中選擇資料。返回的資料儲存在一個結果表中,稱為結果集。
SELECT 語法:

SELECT column1, column2, ...

此處,column1、column2、… 是要從中選擇資料的表的欄位名稱。如果要選擇表中的所有可用欄位,請使用以下語法:

SELECT * FROM table_name;

SELECT column1, column2, ...

2、INSERT INTO 插入語句

該INSERT INTO語句用於在表中插入新記錄。
INSERT語法
可以INSERT INTO 用兩種方式編寫語句:
1- 指定要插入的列名和值:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

2-如果要為表的所有列新增值,則無需在 SQL 查詢中指定列名。但是,請確保值的順序與表中的列順序相同。在這裡, INSERT INTO語法如下:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

3、UPDATE更新語句

UPDATE語句用於修改表中的現有記錄。
UPDATE 語法:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

注意: 更新表中的記錄時要小心!注意 WHERE語句中的子句UPDATE。該WHERE子句指定應該更新哪些記錄。如果省略該WHERE子句,表中的所有記錄都將被更新!

4、DELETE刪除語句

該DELETE語句用於刪除表中的現有記錄。
刪除語法

DELETE FROM table_name WHERE condition;

注意: 刪除表中的記錄時要小心!注意 WHERE語句中的子句 DELETE。該WHERE條款指定應刪除哪些記錄。如果省略該WHERE子句,表中的所有記錄都將被刪除!

5、ORDER BY 關鍵字

該ORDER BY關鍵字用於按升序或降序對結果集進行排序。ORDER BY預設情況下,關鍵字按升序對記錄進行排序。要按降序對記錄進行排序,請使用 DESC關鍵字。
ORDER BY 語法

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

6、TOP、LIMIT、FETCH FIRST 或 ROWNUM限制子句

SELECT TOP子句用於指定要返回的記錄數。SELECT TOP子句在具有數千條記錄的大表上很有用。返回大量記錄會影響效能。
注意: 並非所有資料庫系統都支援該 SELECT TOP子句。MySQL 支援LIMIT子句選擇有限數量的記錄,而 Oracle 使用FETCH FIRST n ROWSONLYROWNUM

Server / MS 存取語法:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

MySQL 語法:

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Oracle 12 語法:

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

7、MIN() 和 MAX()函數求最大最小值

MIN()函數返回所選列的最小值。MAX()函數返回所選列的最大值。

MIN() 語法

SELECT MIN(column_name)
FROM table_name
WHERE condition;

MAX() 語法

SELECT MAX(column_name)
FROM table_name
WHERE condition;

8、COUNT()、AVG() 和 SUM()函數

COUNT()函數返回與指定條件匹配的行數。

SELECT COUNT(column_name)
FROM table_name
WHERE condition;

AVG()函數返回數位列的平均值。

SELECT AVG(column_name)
FROM table_name
WHERE condition;

SUM()函數返回數位列的總和。

SELECT SUM(column_name)
FROM table_name
WHERE condition;

9、GROUP BY語句

該GROUP BY語句將具有相同值的行分組為彙總行,例如“查詢每個國家/地區的客戶數量”。
該GROUP BY語句通常與聚合函數 ( COUNT(), MAX(), MIN(), SUM(), AVG()) 一起使用, 以按一列或多列對結果集進行分組。
語法:

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

10、HAVING 子句

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

11、AND、OR 和 NOT 運運算元

該WHERE子句可以結合 AND,OR和 NOT操作。在AND與OR操作用於基於多個條件篩選記錄:
該AND操作顯示一個記錄,如果所有條件滿足 AND 為真。
所述OR操作顯示一個記錄,如果任何一個條件滿足OR為真。
該NOT操作顯示,如果條件(S)是不正確的記錄。

AND 語法

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

OR語法

SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

NOT語法

SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

12、LIKE運運算元

該LIKE運運算元在 WHERE子句中用於搜尋列中的指定模式。有兩個萬用字元經常與 LIKE運運算元結合使用:
百分號 (%) 代表零、一個或多個字元
下劃線 () 代表一個,單個字元
但是呢注意: MS Access 使用星號 (*) 代替百分號 (%),使用問號 (?) 代替下劃線 ()
當然百分號和下劃線也可以組合使用!

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

提示:您還可以使用 AND或OR運運算元組合任意數量的條件。

13、IN運運算元

IN運運算元允許您在 WHERE子句中指定多個值。
IN操作是針對多個速記 OR條件。

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);

14、BETWEEN 之間運運算元

在BETWEEN操作者選擇一個給定的範圍內的值。值可以是數位、文字或日期。

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

15、JOIN連線

JOIN子句用於行從兩個或更多表根據它們之間的相關列結合。

INNER JOIN內連線關鍵字

INNER JOIN關鍵字選擇在兩個表中具有匹配值的記錄。

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

LEFT JOIN 左連線 關鍵字

LEFT JOIN關鍵字返回左表 (table1) 中的所有記錄,以及右表 (table2) 中的匹配記錄。如果沒有匹配項,則結果是右側的 0 條記錄。

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

RIGHT JOIN右連線 關鍵字

SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;

FULL OUTER JOIN 關鍵字

FULL OUTER JOIN和 FULL JOIN是一樣的。

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;

16、AS 別名使用

別名列語法

SELECT column_name AS alias_name
FROM table_name;

別名表語法

SELECT column_name(s)
FROM table_name AS alias_name;

17、EXISTS 運運算元

EXISTS運運算元用於測試子查詢中是否存在任何記錄。
EXISTS運運算元返回true,如果子查詢返回一個或多個記錄。

SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);

18、NULL 空值

具有 NULL 值的欄位是沒有值的欄位。如果表中的欄位是可選的,則可以在不向該欄位新增值的情況下插入新記錄或更新記錄。然後,該欄位將儲存為 NULL 值。
注意: NULL 值不同於零值或包含空格的欄位。具有 NULL 值的欄位是在建立記錄期間留空的欄位!
如何測試 NULL 值?
無法使用比較運運算元(例如 =、< 或 <>)測試 NULL 值。我們將不得不改用IS NULL和 IS NOT NULL運運算元。

IS NULL 語法

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

IS NOT NULL 語法

SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

19、萬用字元*?!等

在搜尋資料庫中的資料時,SQL 萬用字元可以替代一個或多個字元。

SQL 萬用字元必須與 LIKE 運運算元一起使用。

在 SQL 中,可使用以下萬用字元:

萬用字元描述
%代表零個或多個字元
_僅替代一個字元
[charlist]字元列中的任何單一字元

[^charlist]

或者

[!charlist]

不在字元列中的任何單一字元

使用 % 萬用字元

我們希望從上面的 "Persons" 表中選取居住在以 "Ne" 開始的城市裡的人:

SELECT * FROM Persons
WHERE City LIKE 'Ne%'

使用 _ 萬用字元

我們希望從 "Persons" 表中選取的這條記錄的姓氏以 "C" 開頭,然後是一個任意字元,然後是 "r",然後是一個任意字元,然後是 "er":

SELECT * FROM Persons
WHERE LastName LIKE 'C_r_er'

使用 [charlist] 萬用字元

我們希望從上面的 "Persons" 表中選取居住的城市以 "A" 或 "L" 或 "N" 開頭的人:

SELECT * FROM Persons
WHERE City LIKE '[ALN]%'

我們希望從上面的 "Persons" 表中選取居住的城市不以 "A" 或 "L" 或 "N" 開頭的人:

SELECT * FROM Persons
WHERE City LIKE '[!ALN]%'

到此這篇關於SQL資料庫的所有命令(函數、運運算元)彙總大全的文章就介紹到這了,更多相關SQL命令大全內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com