聯想筆記本安裝Win11專業版系統的方法
阿新 • • 發佈:2021-08-05
查詢和更新指令構成了 SQL 的 DML 部分:
- SELECT- 從資料庫表中獲取資料
- UPDATE- 更新資料庫表中的資料
- DELETE- 從資料庫表中刪除資料
- INSERT INTO- 向資料庫表中插入資料
SQL 的資料定義語言 (DDL) 部分使我們有能力建立或刪除表格。我們也可以定義索引(鍵),規定表之間的連結,以及施加表間的約束。
SQL 中最重要的 DDL 語句:
- CREATE DATABASE- 建立新資料庫
- ALTER DATABASE- 修改資料庫
- CREATE TABLE- 建立新表
- ALTER TABLE- 變更(改變)資料庫表
- DROP TABLE- 刪除表
- CREATE INDEX
- DROP INDEX- 刪除索引
SELECT 列名稱 FROM 表名稱
SELECT LastName,FirstName FROM Persons
"Persons" 表:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
結果:
LastName | FirstName |
---|---|
Adams | John |
Bush | George |
Carter | Thomas |
SELECT *
FROM Persons
提示:星號(*)是選取所有列的快捷方式。
結果:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
DISTINCT 用於返回唯一不同的值。
SELECT DISTINCT 列名稱 FROM 表名稱
SELECT Company FROM Orders
"Orders"表:
Company | OrderNumber |
---|---|
IBM | 3532 |
W3School | 2356 |
Apple | 4698 |
W3School | 6953 |
結果:
Company |
---|
IBM |
W3School |
Apple |
W3School |
SELECT DISTINCT
Company FROM Orders
結果:
Company |
---|
IBM |
W3School |
Apple |
WHERE 子句用於規定選擇的標準。
SELECT 列名稱 FROM 表名稱 WHERE 列 運算子 值
操作符 | 描述 |
---|---|
= | 等於 |
<> | 不等於 |
> | 大於 |
< | 小於 |
>= | 大於等於 |
<= | 小於等於 |
BETWEEN | 在某個範圍內 |
LIKE | 搜尋某種模式 |
如果只希望選取居住在城市 "Beijing" 中的人,我們需要向 SELECT 語句新增 WHERE 子句
ELECT * FROM Persons WHERE City='Beijing'
"Persons" 表
LastName | FirstName | Address | City | Year |
---|---|---|---|---|
Adams | John | Oxford Street | London | 1970 |
Bush | George | Fifth Avenue | New York | 1975 |
Carter | Thomas | Changan Street | Beijing | 1980 |
Gates | Bill | Xuanwumen 10 | Beijing | 1985 |
結果:
LastName | FirstName | Address | City | Year |
---|---|---|---|---|
Carter | Thomas | Changan Street | Beijing | 1980 |
Gates | Bill | Xuanwumen 10 | Beijing | 1985 |
AND 和 OR 運算子
AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結合起來。
如果第一個條件和第二個條件都成立,則 AND 運算子顯示一條記錄。
如果第一個條件和第二個條件中只要有一個成立,則 OR 運算子顯示一條記錄。
原始的表 (用在例子中的):
LastName | FirstName | Address | City |
---|---|---|---|
Adams | John | Oxford Street | London |
Bush | George | Fifth Avenue | New York |
Carter | Thomas | Changan Street | Beijing |
Carter | William | Xuanwumen 10 | Beijing |
AND 運算子例項
使用 AND 來顯示所有姓為 "Carter" 並且名為 "Thomas" 的人:
SELECT * FROM Persons WHERE FirstName='Thomas' AND
LastName='Carter'
結果:
LastName | FirstName | Address | City |
---|---|---|---|
Carter | Thomas | Changan Street | Beijing |
OR 運算子例項
使用 OR 來顯示所有姓為 "Carter" 或者名為 "Thomas" 的人:
SELECT * FROM Persons WHERE firstname='Thomas' OR
lastname='Carter'
結果:
LastName | FirstName | Address | City |
---|---|---|---|
Carter | Thomas | Changan Street | Beijing |
Carter | William | Xuanwumen 10 | Beijing |
結合 AND 和 OR 運算子
我們也可以把 AND 和 OR 結合起來(使用圓括號來組成複雜的表示式):
SELECT * FROM Persons WHERE (
FirstName='Thomas' OR
FirstName='William')
AND
LastName='Carter'
結果:
LastName | FirstName | Address | City |
---|---|---|---|
Carter | Thomas | Changan Street | Beijing |
Carter | William | Xuanwumen 10 | Beijing |
ORDER BY 語句
ORDER BY 語句用於根據指定的列對結果集進行排序。
ORDER BY 語句預設按照升序對記錄進行排序。
如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字
原始的表 (用在例子中的):
Orders 表:
Company | OrderNumber |
---|---|
IBM | 3532 |
W3School | 2356 |
Apple | 4698 |
W3School | 6953 |
以字母順序顯示公司名稱:
SELECT Company, OrderNumber FROM Orders ORDER BY Company
結果:
Company | OrderNumber |
---|---|
Apple | 4698 |
IBM | 3532 |
W3School | 6953 |
W3School | 2356 |
例項 2
以字母順序顯示公司名稱(Company),並以數字順序顯示順序號(OrderNumber):
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber
結果:
Company | OrderNumber |
---|---|
Apple | 4698 |
IBM | 3532 |
W3School | 2356 |
W3School | 6953 |
例項 3
以逆字母順序顯示公司名稱:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
結果:
Company | OrderNumber |
---|---|
W3School | 6953 |
W3School | 2356 |
IBM | 3532 |
Apple | 4698 |
例項 4
以逆字母順序顯示公司名稱,並以數字順序顯示順序號:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
結果:
Company | OrderNumber |
---|---|
W3School | 2356 |
W3School | 6953 |
IBM | 3532 |
Apple | 4698 |
注意:在以上的結果中有兩個相等的公司名稱 (W3School)。只有這一次,在第一列中有相同的值時,第二列是以升序排列的。如果第一列中有些值為 nulls 時,情況也是這樣的。
INSERT INTO 語句用於向表格中插入新的行。
INSERT INTO 表名稱 VALUES (值1, 值2,....)
我們也可以指定所要插入資料的列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
Update 語句用於修改表中的資料。
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
DELETE 語句
DELETE 語句用於刪除表中的行。
語法
DELETE FROM 表名稱 WHERE 列名稱 = 值