SQL數據庫的所有命令(函數、運算符)匯總大全

結構化查詢語言(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命令大全內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: