Insert語法
標準語法:
Insert into orders values ('2009/10/29', 1010, NULL)或
Insert into orders(order_num, cust_num, order_date) values (200, 1010, '2009/10/29')
以上兩種是標準Insert的用法,而且我們在寫網頁時,常常要「組合」這種語法,欄位一多,跟看3D立體圖差不多,常常為了對應欄位與值,少一個「'」符號,在那裡Debug。
但在Insert語法中還可以使用execute statement,通常我們使用Select可以從資料表中取回資料,但資料可能是一筆,可能是十筆、百筆、萬筆等大量資料,也可能什麼都沒有,但我們可以搭配Insert語法,將Select取回的資料全部Insert進指定的資料表中,來簡省大量輸入及除錯的時間,想想用手輸入1000筆和執行兩三行指令,你要選那一個。
進階語法
Insert into [kk].[dbo].[orders] (order_num, order_date, customerid) Select order_num, order_date, cust_num from orders
將原本Insert後面values的語法修改為Select語法,而且這個語法的好處可以把原本在Insert語法的重心,重新拉回來Select的身上,只要將規則或條件(Where…)設好,就可能取回你想要的資料,又不用怕輸入錯誤,真的是一舉二得。
Update語法
標準語法:Update products set phone='035678901' where cust_num=1010或
Update product set unit_price=unit_price * 1.05
以上兩種也是常見的Update使用方法,但Update還有一種用法是修改的來源是從某張資料表內的資料,像是Insert可以從別的資料表取得資料一般。
進階語法
update items set unit_price=products.unit_price from products where items.prod_num=products.prod_num and items.supp_code=products.supp_code and order_num>888
第一行,我們將products中的價格指定給items;
第二行,指定來源資料表;
第三行,Where條件,確認products中PK;
以上紹介的這兩種進階語法,都是一般入門書中比較不易看到的,提供出來給大家參考。
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。