總結下4月份資料庫遇到的坑(適合小白入門)

2021-10-05 13:07:54 字數 2350 閱讀 5025

程式猿不易,總是會遇到各種各樣奇葩的bug,這是篇總結前段時間,我踩的坑,太痛苦了,就因為乙個小bug花費幾個小時,耽誤專案進度,很難受,以此為鑑,可以攢經驗。

,高下立判,本文適合小白入門,大神勿念。

sql裡面用的update和delete最坑,資料不可逆轉,乙個關鍵字的錯誤使用就完了。

對於update一般是在where條件裡面,先測試一條資料再放開執行,也有坑,千萬要注意使用主鍵約束測試,這裡劃重點:主鍵唯一性,哪怕表中有相同意義的字段也要判斷是否可行。先來看一段正確的語句:

然後如果測試資料一不小心換成

cu_zgdh1 = 'p2004055'
這就是大坑了,本來是想測試一條資料看看sql語句是否跑通,結果就是表中原有的資料全部變成了

cu_id = billno = cu_zgdh1= 『p2004055』
說多了都是血淚啊,salsalesorder是資料**母表,上萬資料的還原。題外話;我是通過之前資料庫的備份恢復到之前的資料,然後再結合之前恰巧的select出的所有主鍵和乙個唯一字段鎖定當天遺失的資料

經過一整天的資料重新輸入,結果還是缺了不少

有句梗叫:程式猿刪庫跑路。

開玩笑,笑歸笑哈,實際上對於實習生來說,誤刪庫屢見不鮮,我太難了!!!

對於簡單的資料庫一般是使用事務回滾和啟動備份,但是對於資料龐大,資料量上百萬,乃至上億的這是災難性的。我是暫無什麼好方法了,以後碰到了再說(保佑讀者和筆者不要遇到!!!)

一般的update

update 表名 set 字段 = 值 where +條件約束\指定

一、更新

--這裡的適用於mysql

update salsalesorder set (填對應字段,比如cu_zgh1)(字段對應資料,比如r2004307-02)

(字段對應資料,比如r2004307-03)(字段對應資料,比如r2004307-04) where billno in (需要更新主鍵)

--基本適用所有的資料庫(sql是最先的資料庫,mysql、orcal、nosql等都是**於sql的,也就是sql語句本身就適用所有資料庫)

--update salsalesorder set cu_zgdh1 = '', cu_daihao = '', cu_jx = '', cu_fengl = '' ,cu_fya = '',cu_fx = '', cu_fjpzhi = '', cu_gzhjing = ''

,cu_djipp = '' ,cu_djigg = '' ,cu_mdc = '', cu_wd = '' ,cu_zyxz = '',cu_wkbt = '', cu_rkz = '', cu_p***ai = '' , cu_ylc = '' , cu_**k = '' ,

cu_zx = '', cu_zcz = '',cu_ylzt = '' ,cu_zc = '',cu_jj = '',cu_zz = '',cu_bzq = '',cu_zcpp='',cu_gyx=''

,cu_bzch = '',cu_wgys='',cu_wh='', cu_tssming = '', cu_zzdjq = '',

cu_jhdd = '', cu_cdfs='',cu_zdyq='',cu_mffs='', cu_lzq = '',cu_xyq='', cu_gyx = '',cu_fym= '',cu_ckrj='', cu_rkrj = '',

cu_qt = '' where billno = 'r2004307-02'

帶查詢功能的update

update 表名 set 字段 = (select 字段 from 任意表名 where +條件/(條件))

update t8dyfj.dbo.cu_bomzz  set cu_bomzz.cu_bomkeyid =

(select bomsubmatinfo.bomkeyid from

t8dyfj.dbo.bomsubmatinfo,salsalesorderdetail where bomsubmatinfo.bomkeyid=salsalesorderdetail.cu_bom

and salsalesorderdetail.materialid like '8%' and salsalesorderdetail.billno = 'r2001004-03')

2023年4月份自學考試總結

在春天的氣息剛剛來過,四月的氣息即將過去,剛剛經歷過的四月份自學考試,兩個月的準備時間,知道考試的那天才覺得自己準備的還是不夠充分。自從開始準備考試的時候,我們根據小組的方式,第一部分自己每天抽取一定的時間來看自考的書,三遍讀書法,思維導圖,刷題,但是自己當時做過了這些就一直沒有回過頭來看過,沒有做...

SqlServer備份資料庫的4種方式介紹

1.用sqlserver的維護計畫 在這裡我就不給截圖演示了,這個比較簡單,無非就是通過sqlserver自己的維護計畫拖拽出2個乙個 備份資料庫 任務和乙個 清除維護 任務。需要注意的點 1 有備份程式設計客棧任務裡邊選擇備份的庫盡量選 所有使用者資料庫 這項,以免選擇了特定資料庫備份以後某天新增...

mysql 資料庫學習知識總結4

修改資料表 新增單列 新增多列 只能為資料表下方 alter table tb name add col namecol definition,刪除資料列 刪除多列 alter table tb name drop col name,drop col name 刪除一列同時新增一列資料 中間通過逗號...