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!