表的刪除?
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 職員表格;
?
insert into語句
新建一條數據到表格當中。?
多條記錄新建查詢:
insert into target [in externaldatabase][(field1[,field2[,…]])]
select [source.]field1[,field2[,…]
from tableexpression?
單條記錄新建查詢:
insert into target[(field1[,field2[,…]])]
values(value1[,value2[,…])?
target
新建記錄的表格名稱。?
externaldatabase
外部數據庫的路徑,搭配in條件子句使用。?
source
若是記錄從其它表格中拷貝時,指明該表格的名稱。?
field1,field2
欲增加數據的字段名稱。?
tableexpression
表格名稱或描述記錄是從哪一個表格中插入的表格名稱。配合inner join,left join,或 right join 運算符一起使用。?
value1,value2
欲插入表格中的數值。
例如:
在客戶數據表格中,從新的表格插入數據。
insert into 客戶數據表格
select 新客戶數據表格.*
from 新客戶數據表格;?
例如:
在職員表格中插入數據。
insert into 職員表格(姓名,生日,職稱)
values(“王榮”,”57/12/11″,”經理”);?
例如:
從訓練人員表格中,將職員雇用時間超過30天者,加入到正式職員表格中。
insert into 職員表格
select 訓練人員表格.*
from 訓練人員表格
where 雇用天數>30;
update語句
建立一個update的查詢,通過條件的限制來修改特定的數據。
update table
set newvalue
where criteria;?
table
欲修改數據的表格名稱。?
newvalue
欲修改成的數值(將該項數值插入到特定的字段當中)。?
criteria
查詢條件,用來決定要修改哪些記錄。
例如:
若是要把訂單表格中的訂單數量修改成1.1倍,運費為1.03倍,可利用下列之sql語句來完成。
update 訂單表格
set 訂單數量=訂單數量 * 1.1,運費=運費 * 1.03倍
where 運達地點=’美國’;?
當我們完成修改后,你可以利用 select 語句,配合同樣的 where 條件子句,來察看修改的數據是否正確。?
事實上,要利用sql完成某些看似復雜的操作,并不需要繁瑣的sql命令組合,或是許許多多的步驟才能完成,其實最重要的還是要活用sql命令,才會在最精簡的sql語句里獲得最高的效率。?
?以上就是全面接觸SQL語法(7)的內容,更多相關內容請關注PHP中文網(www.php.cn)!