雖然很多時候我們會有程式軟體的支援,幫我們自動產生SQL指令,但是如果不會寫SQL指令,那麼要自己寫程式處理資料時問題就大了!我們之後的範例基本上都需要在程式內自己建立SQL語句。另一方面,SQL內容雖然龐大,但是以使用機率來說,下面將介紹的四個指令會用就已經算學會95%了!其他的SQL指令除了資料庫管理者之外,基本上都極少或根本不會用到。當然這四個指令也有許多變形,遇到使用時機時再一一介紹吧! 本單元內容是利用一個簡單的資料表,讓同學直接輸入SQL指令字串操作資料,然後讓 GridView 物件顯示資料內容,相信直接的體驗會讓你非常有 "fu" 的輕鬆學會最重要的SQL核心語法。 SQL指令的四大天王 : SQL操作資料的語法很多,多到可以寫成一本書,但是最常用的就是選擇、新增、刪除與編輯資料的四個指令:Select, Insert, Delete, Update,我們先從Select介紹最簡單的基本語法結構範例:
使用Select篩選資料 範例資料庫
當然範例資料庫的內容豐富很多,事實上是一個實驗版校內點名系統的舊資料庫,資料表就有三個:
根據範例資料庫的練習題:
使用Delete, Insert 與 Update 範例資料庫 接著請在網頁上再加入一個GridView物件,這次直接在設計時將資料表連接(會產生AccessDataSource1),下方一樣加入可以輸入指令的TextBox與Button,設計好的畫面如下: ![]() 接著雙擊確定鍵寫程式如下: ![]() 上面的程式基本上就是直接使用設計時產生的AccessDaatSourse1物件,以使用者輸入的新指令更改AccessDataSourse1的Delete, Insert & Update等等指令(Command)並執行它們,執行後磁碟裡的資料庫內容會被改變,網頁上的GridView因此需要重新連結資料庫(DataBind)顯示最新資料。接著就是練習SQL的時間啦! Delete指令 (請參考網頁最上方的語法結構) 範例:刪除『張三』的資料SQL語句是: Delete from 通訊錄 where 姓名='張三' ![]() 在此請注意Where就是條件式的意思,凡是資料表或項目名稱可以直接寫它的名稱就好,加上方括號也可以(比較清晰好閱讀),但是資料內容則一定要加引號,單或雙引號皆可(但是一定要對稱)。 練習題: 1.如何刪除住台北的人?(地址='台北') 2.如何全部刪除所有資料?(不寫條件) Insert指令 範例:新增一筆資料:姓名:林書豪,電話:5555555,地址:休斯頓。語法是: Insert into 通訊錄 (姓名, 電話, 住址) Values('林書豪', '5555555', '休斯頓') ![]() 在此要注意的是多個欄位之間的分隔記號必須是英文的逗點,打成中文版的大寫","會出錯的! Update指令: 範例:將李四的名字改成李四端: Update 通訊錄 set 姓名='李四端' where 姓名='李四' set就是設定的意思,翻譯移下就是:將姓名改成'李四端',如果姓名原本是'李四'的話! ![]() 練習題: 1.將住在台北的人改名張三丰。 2.將王五的電話改成你的手機號碼。 PS.如果你是使用SQL資料庫時,除了AccesDataSource變成SqlDataSource之外,其他程式碼是完全一樣的! |