有兩種辦法可以刪除表中的所有數(shù)據(jù):
創(chuàng)新互聯(lián)主營(yíng)城北網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),城北h5成都微信小程序搭建,城北網(wǎng)站營(yíng)銷推廣歡迎城北等地區(qū)企業(yè)咨詢
1、TRUNCATE TABLE 刪除表中的所有行,而不記錄單個(gè)行刪除操作。
語(yǔ)法 TRUNCATE TABLE name
參數(shù) name 是要截?cái)嗟谋淼拿Q或要?jiǎng)h除其全部行的表的名稱。
2、Delete from tablename where 1=1
也許很多讀者朋友都經(jīng)歷過(guò)這樣的事情:要在開(kāi)發(fā)數(shù)據(jù)庫(kù)基礎(chǔ)上清理一個(gè)空庫(kù),但由于對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)缺乏整體了解,在刪除一個(gè)表的記錄時(shí),刪除不了,因?yàn)榭赡苡型怄I約束,一個(gè)常見(jiàn)的數(shù)據(jù)庫(kù)結(jié)構(gòu)是一個(gè)主表,一個(gè)子表,這種情況下一般都得先刪除子表記錄,再刪除主表記錄。
1.按照先后順序逐個(gè)刪除,這個(gè)方法在表非常多的情況下顯得很不現(xiàn)實(shí),即便是表數(shù)量不多,但約束比較多時(shí),你還是要花費(fèi)大量的時(shí)間和精力去研究其間的約束關(guān)系,然后找出先刪哪個(gè)表,再刪哪個(gè)表,最后又刪哪個(gè)表。
首先得編寫代碼循環(huán)檢查所有的表,這里我推薦一個(gè)存儲(chǔ)過(guò)程sp_MSForEachTable,因?yàn)樵谖④浀墓俜轿臋n中沒(méi)有對(duì)這個(gè)存儲(chǔ)過(guò)程有描述,很多開(kāi)發(fā)人員也許都還未曾聽(tīng)說(shuō),所以你在互聯(lián)網(wǎng)上搜索得到的解決辦法大多很復(fù)雜,也許有的人會(huì)認(rèn)為,既然沒(méi)有官方文檔,這個(gè)存儲(chǔ)過(guò)程可能會(huì)不穩(wěn)定,打心理上會(huì)排斥它,但事實(shí)并非如此。下面來(lái)先看一個(gè)完整的腳本:
這個(gè)腳本創(chuàng)建了一個(gè)命名為sp_DeleteAllData的存儲(chǔ)過(guò)程,前面兩行語(yǔ)句分別禁用約束和觸發(fā)器,第三條語(yǔ)句才是真正地刪除所有數(shù)據(jù),接下里的語(yǔ)句分別還原約束和觸發(fā)器,最后一條語(yǔ)句是顯示每個(gè)表中的記錄,當(dāng)然這條語(yǔ)句也可以不要,我只是想確認(rèn)一下是否清空了所有表而已。
在卸載SQL Server后,大家都希望能夠?qū)⒆?cè)表信息完全刪干凈,下面就將教您徹底刪除SQL Server注冊(cè)表的方法,供您參考,刪除之前,請(qǐng)一定要做好備份工作喲。
在卸載SQL Server開(kāi)始——運(yùn)行:輸入regedit 進(jìn)入注冊(cè)表編輯器,進(jìn)入之后執(zhí)行下列操作:
1.徹底刪除SQL Server:
hkey_local_machine\software\Microsoft\MSSQLServer hkey_local_machine\software\Microsoft\Microsoft SQL Server hkey_current_user\software\Microsoft\Microsoft SQL Server hkey_current_user\software\Microsoft\MSSQLServer hkey_local_machine\system\currentcontrolset\control\sessionmanager\pendingfileren ameoperations
2。注冊(cè)表中的相關(guān)信息刪除:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations項(xiàng)目,并刪除它。這樣就可以清除安裝暫掛項(xiàng)目
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\setup
刪除ExceptionComponents
3、運(yùn)行注冊(cè)表,刪除如下項(xiàng):
HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
4、查看服務(wù)列表里面有哪些sqlserver的服務(wù)殘留,然后在以下地方,將sqlserver相關(guān)的服務(wù)全部刪除.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
將SQL SERVER安裝路徑下,如:C盤——Program File下的Microsoft SQL Server 文件夾刪除
重啟計(jì)算機(jī)
SQL SERVER 2008 真的好煩~不容易卸干凈的~下面的方法提供給那些懶得重裝系統(tǒng)的“懶人”~ 親測(cè)~
1.停掉SQL SERVER 2008所有相關(guān)服務(wù)
2.在控制面板“添加刪除程序”中,刪除SQL SERVER 2008相關(guān)的程序
3.下載 Windows Install Clean Up 工具卸載SQL 2008組件 (google it ~關(guān)于怎么用懶得寫,看看就知道了)刪除所有SQL服務(wù)
4.清除注冊(cè)表
將HKEY_CURRENT_USER---Software----Microsoft下的Microsoft SQL Server文件夾全部刪除
將HKEY_LOCAL_mACHINE---SOFTWARE---Microsoft下的Microsoft SQL Native Client ,Microsoft SQL Server, Microsoft SQL Server 2008 Redist全部刪除
5.刪除殘留文件
6.將SQL SERVER安裝路徑下,如:C盤——Program File下的Microsoft SQL Server 文件夾刪除
7.重啟計(jì)算機(jī) (這世界清凈了)
注意:執(zhí)行sqlserver2008提供的卸載實(shí)例程序,雖然卸載掉了實(shí)例,但是在系統(tǒng)的服務(wù)中任然看得到該實(shí)例.那么,先按照上面的方法清理注冊(cè)表,然后再重啟計(jì)算機(jī)即可
樓主好,數(shù)據(jù)庫(kù)清空表使用delete和truncate語(yǔ)句,但這兩個(gè)命令語(yǔ)句是有區(qū)別的。首先區(qū)別在于,delete是數(shù)據(jù)庫(kù)操作語(yǔ)句而非命令語(yǔ)句,直接清空的是數(shù)據(jù),能夠觸發(fā)觸發(fā)器等操作。而truncate是命令語(yǔ)句,不會(huì)觸發(fā)觸發(fā)器等操作,但不能回滾。truncate語(yǔ)句是直接提交的數(shù)據(jù)庫(kù)的,而delete是DML語(yǔ)句。delete還會(huì)保留數(shù)據(jù)庫(kù)的高水線。打個(gè)比方,你就能知道最簡(jiǎn)單的區(qū)別。比如你的表中有一個(gè)自增長(zhǎng)的ID,truncate之后,ID會(huì)重新開(kāi)始編碼,但delete會(huì)接著你刪除的最大值進(jìn)行編碼。語(yǔ)法上 delete可以帶where條件,刪除指定數(shù)據(jù),但truncate是不能的,只能全部清空表。下面寫一下兩個(gè)語(yǔ)句清空表的語(yǔ)法
delete table
truncate table