ASP.NET Webform 簡易活動報名系統(4) 基本的SQL查詢指令 UPDATE 跟 DELETE

by | 3 月 5, 2025 | 程式 | 0 comments

Views: 4

這兩個指令很容易出事,所以我會建議不要精神不好的時候對資料庫直接做。

CRUD我們在上一堂課已經學了C跟R,接下來學U跟D

更新資料 UPDATE

UPDATE 資料表名稱 SET 欄位1=值1,欄位2=值2,欄位3=值3 WHERE 條件

我工作生涯這個是第一名容易出事情的指令,有時後系統BUG造成的資料BUG,就需要透過這個指令先將特定資料進行緊急修正,然後再修造成問題的程式。

⚠️我有遇過同事加班太累,UPDATE忘記加上條件,資料就被全部更新成相同的了。

Update示範

假如我要把id=2的資料 name改為阿土伯

通常我會先SELECT出來該有的值,看一下是不是我要的

SELECT id,name FROM [Regist] where id = 2

查詢id=2

加入更新資料的指令

--更新資料
UPDATE  [Regist] SET Name= '阿土伯' where id = 2

加入更新資料的指令

說明:我避免造成的寫法是這樣

  1. 先寫SELECT看原始資料,然後用EXCEL備份(可以直接SELECT後的結果視窗直接複製到EXCEL存檔,通常我會把這份資料寄給承辦人確認要修改的資料是這些嗎?)。
  2. 寫指令時候依序序寫 UPDATE 資料表名稱WHERE更新條件、設定值,務必多檢查幾次,避免犯錯。

更新資料

刪除資料 DELETE

官方文件

DELETE 資料表名稱 WHERE 條件

我工作生涯這個是第二名容易出事情的指令是DELETE,第一名是UPDATE,出事情的原因都相同,忘記加上WHERE刪庫跑路這個梗就是這樣來的,WHERE寫壞掉可能什麼都沒發生,但忘記寫就把資料全刪除了,DELETE 資料表名稱 ,執行!💥💥💥。

刪除第id=2的資料

DELETE  [Regist] WHERE id = 2

SQL資料刪除前後對照圖

刪除常用的就是直接指定主鍵進行刪除,這張資料表的主鍵是ID欄位,因此直接指定要刪除那個ID即可。

快速全部清空的指令TRUNCATE TABLE⚠️⚠️⚠️

官方文件

TRUNCATE TABLE 資料表名稱

⚠️⚠️⚠️這個指令可以直接清除該資料表全部資料,系統會做下面幾件事。

  1. 把資料全部清除
  2. 把全部的索引資料全部清除
  3. 把PK跳號重新設定為1

要刪除全部資料用TRUNCATE指令會來的比DELETE快速方便,在開發階段時常會異動資料表結構,有些異動會需要清除全部資料,這時候就會用這個指令。

0 Comments

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *