全面接觸SQL語法五
阿新 • • 發佈:2019-02-09
表的刪除
DELETE語句
我們可以利用DELETE語句,將表格中的記錄刪除。(注意:記錄被刪除後,無法再復原,所以條件設定要正確)
DELETE[table.*]
FROM tableexpression
WHERE criteria
table
欲刪除記錄的表格名稱,也可以用*來取代。
tableexpression
一個或一個以上表格的名稱。此一引數可以為單一的表格名稱或是從INNER JOIN,LEFT JOIN,或RIGHTJOIN 等運算所得到的結果。
criteria
決定表格中記錄要被刪除的標準。
例如:
若是我們要將職員表格中姓名姓名叫做'李名'的記錄刪除,我們可以利用下面的SQL語句來完成。
DELETE * FROM 職員表格
WHERE 姓名='李名';
資料庫表格相關的操作命令
SQL除了可以作為查詢與資料庫表格的建立的工具外,對於資料庫與表格的新建、刪修、與維護,與具有相當不錯的功能,若是讀者使用SQL命令得宜,對於整個效率的提高有著很大的幫助,所以對於SQL語句所帶來的優勢,常常會遇到一個情況,就是:“當我們對多個表格作複雜與多步驟的處理時,或許SQL只要一個語句就可以完成所有的需求與目標”,乍看一下,或許覺得有些玄妙,但是接下來的章節,會讓你瞭解其中的妙處。
SELECT...INTO語句
我們可以通過這個命令,利用既存表格查詢,來建立一個新表格的查詢語句。
SELECT field1[,field2[,...]]INTO newtable[IN externaldatabase]
FROM source
field1,field2
欲拷貝到新表格的欄位名稱。
newtable
欲建立之新表格的名稱,不可是已經存在的表格。
externaldatabase
若是該表格在另外的外部資料庫時,該資料庫的名稱。
source
記錄資料拷貝的來源表格名稱,可以是單一的表格或是一段SQL查詢之語句。
例如:
你可以通過下面的SQL語句,來建立一個新的“訓練名冊”表格。
SELECT 職員表格.姓名,職員表格.部門
INTO 訓練名冊 FROM 職員表格
WHERE 職稱='新進人員';
INNER JOIN運算元
當某一個共同的欄位資料相等時,將兩個表格的記錄加以組合。
SELECT fields
FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2
table1,table2
欲進行記錄組合的表格名稱。
field1,field2
欲組合的欄位名稱。(必須具有相同的資料型別)
compopr
比較關係運算符如下:“=”,“<”,“>”,“<=”,“<>”等。
例如:
若是你要把分類表格與產品表格作組合,可參考下面的SQL語句。
SELECT 分類名稱,產品名稱
FROM 分類表格 INNER JOIN 產品表格
ON 分類表格.分類編號=產品表格.分類編號;
UNION運算元
我們可以通過UNION運算元來建立連線的查詢條件,UNION運算元可以將兩個以上的表格或是查詢的結果組合起來。
[TABLE]query1 UNION [ALL][TABLE]query2 [UNION [ALL]
[TABLE]queryn [...]]
query1,query2,queryn
為一個SELECT的語句,或是一個已存在的查詢名稱,或是一個已存在的表格名稱。
例如:
你可以利用下面的SQL語句,將訂單數量超過1000的顧客表格記錄,與新客戶表格作UNION的操作。
TABLE 新客戶表格 UNION ALL
SELECT *
FROM 顧客表格
WHERE 訂單數量>1000;
ALTER語句
在一個表格被建立之後,利用ALTER語句,我們可以去修改表格的欄位設計。
ALTER TABLE table
{ADD {COLUMN field type[(size)][CONSTRAINT index]
|CONSTRAINT multifieldindex}
|DROP {COLUMN field|CONSTRAINT indexname}}
table
欲被ALTER的表格名稱。
field
要被增加或刪除的欄位名稱。
type
欄位資料型別。
size
欄位大小。
index
對此欄位的索引。
例如:
在職員表格中新建一個“薪水”的欄位。
ALTER TABLE 職員表格
ADD COLUMN 薪水 CURRENCY;
例如:
在職員表格中刪除一個“薪水”的欄位。
ALTER TABLE 職員表格 DROP COLUMN 薪水;
DROP語句
針對所指定的表格或欄位加以刪除,或是把索引刪除。
DROP {TABLE table|INDEX index ON table}
table
欲刪除之表格或索引依附之表格名稱。
index
欲從表格中刪除的索引名稱。
例如:
從職員表格中,刪除編號索引。
DROP INDEX MyIndex ON Employees;
例如:
從資料庫中,刪除整個表格。
DROP TABLE 職員表格;
DELETE語句
我們可以利用DELETE語句,將表格中的記錄刪除。(注意:記錄被刪除後,無法再復原,所以條件設定要正確)
DELETE[table.*]
FROM tableexpression
WHERE criteria
table
欲刪除記錄的表格名稱,也可以用*來取代。
tableexpression
一個或一個以上表格的名稱。此一引數可以為單一的表格名稱或是從INNER JOIN,LEFT JOIN,或RIGHTJOIN 等運算所得到的結果。
criteria
決定表格中記錄要被刪除的標準。
例如:
若是我們要將職員表格中姓名姓名叫做'李名'的記錄刪除,我們可以利用下面的SQL語句來完成。
DELETE * FROM 職員表格
WHERE 姓名='李名';
資料庫表格相關的操作命令
SQL除了可以作為查詢與資料庫表格的建立的工具外,對於資料庫與表格的新建、刪修、與維護,與具有相當不錯的功能,若是讀者使用SQL命令得宜,對於整個效率的提高有著很大的幫助,所以對於SQL語句所帶來的優勢,常常會遇到一個情況,就是:“當我們對多個表格作複雜與多步驟的處理時,或許SQL只要一個語句就可以完成所有的需求與目標”,乍看一下,或許覺得有些玄妙,但是接下來的章節,會讓你瞭解其中的妙處。
SELECT...INTO語句
我們可以通過這個命令,利用既存表格查詢,來建立一個新表格的查詢語句。
SELECT field1[,field2[,...]]INTO newtable[IN externaldatabase]
FROM source
field1,field2
欲拷貝到新表格的欄位名稱。
newtable
欲建立之新表格的名稱,不可是已經存在的表格。
externaldatabase
若是該表格在另外的外部資料庫時,該資料庫的名稱。
source
記錄資料拷貝的來源表格名稱,可以是單一的表格或是一段SQL查詢之語句。
例如:
你可以通過下面的SQL語句,來建立一個新的“訓練名冊”表格。
SELECT 職員表格.姓名,職員表格.部門
INTO 訓練名冊 FROM 職員表格
WHERE 職稱='新進人員';
INNER JOIN運算元
當某一個共同的欄位資料相等時,將兩個表格的記錄加以組合。
SELECT fields
FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2
table1,table2
欲進行記錄組合的表格名稱。
field1,field2
欲組合的欄位名稱。(必須具有相同的資料型別)
compopr
比較關係運算符如下:“=”,“<”,“>”,“<=”,“<>”等。
例如:
若是你要把分類表格與產品表格作組合,可參考下面的SQL語句。
SELECT 分類名稱,產品名稱
FROM 分類表格 INNER JOIN 產品表格
ON 分類表格.分類編號=產品表格.分類編號;
UNION運算元
我們可以通過UNION運算元來建立連線的查詢條件,UNION運算元可以將兩個以上的表格或是查詢的結果組合起來。
[TABLE]query1 UNION [ALL][TABLE]query2 [UNION [ALL]
[TABLE]queryn [...]]
query1,query2,queryn
為一個SELECT的語句,或是一個已存在的查詢名稱,或是一個已存在的表格名稱。
例如:
你可以利用下面的SQL語句,將訂單數量超過1000的顧客表格記錄,與新客戶表格作UNION的操作。
TABLE 新客戶表格 UNION ALL
SELECT *
FROM 顧客表格
WHERE 訂單數量>1000;
ALTER語句
在一個表格被建立之後,利用ALTER語句,我們可以去修改表格的欄位設計。
ALTER TABLE table
{ADD {COLUMN field type[(size)][CONSTRAINT index]
|CONSTRAINT multifieldindex}
|DROP {COLUMN field|CONSTRAINT indexname}}
table
欲被ALTER的表格名稱。
field
要被增加或刪除的欄位名稱。
type
欄位資料型別。
size
欄位大小。
index
對此欄位的索引。
例如:
在職員表格中新建一個“薪水”的欄位。
ALTER TABLE 職員表格
ADD COLUMN 薪水 CURRENCY;
例如:
在職員表格中刪除一個“薪水”的欄位。
ALTER TABLE 職員表格 DROP COLUMN 薪水;
DROP語句
針對所指定的表格或欄位加以刪除,或是把索引刪除。
DROP {TABLE table|INDEX index ON table}
table
欲刪除之表格或索引依附之表格名稱。
index
欲從表格中刪除的索引名稱。
例如:
從職員表格中,刪除編號索引。
DROP INDEX MyIndex ON Employees;
例如:
從資料庫中,刪除整個表格。
DROP TABLE 職員表格;