1. 最簡單刪除sqlServer中所有數據的方法
其實刪除資料庫中數據的方法並不復雜,為什麼我還要多此一舉呢,一是我這里介紹的是刪除資料庫的所有數據,因為數據之間可能形成相互約束關系,刪除操作可能陷入死循環,二是這里使用了微軟未正式公開的sp_MSForEachTable存儲過程。
也許很多讀者朋友都經歷過這樣的事情:要在開發資料庫基礎上清理一個空庫,但由於對資料庫結構缺乏整體了解,在刪除一個表的記錄時,刪除不了,因為可能有外鍵約耐正束,一個常見的資料庫結構是一個主表,一個子表,這種情況下一般都得先刪除子表族陵記錄,再刪除主表記錄。
說道刪除數據記錄,往往馬上會想到的是delete和truncate語句,但在遇到在兩個或多個表之間存在約束的話, 設為首頁 這兩個語句可能都會失效,而且最要命的是這兩個命令都只能一次操作一個表。那麼真正遇到要刪除SQL Server資料庫中所有記錄時,該怎麼辦呢?有兩個選擇:
1.按照先後順序逐個刪除,這個方法在表非常多的情況下顯得很不現實,即便是表數量不多,但約束比較多時,你還是要花費大量的時間和精力去研究其間的約束關系,然後找出先刪哪個表,再刪哪個表,最後又刪哪個表昌穗悔。
2.禁用所有約束,刪除所有數據,最後再啟用約束,這樣就不用花時間和精力去研究什麼約束了,只需要編寫一個簡單的存儲過程就可以自動完成這個任務。
從這兩個選擇中不難看出第二個選擇是最簡單有效的了,那麼在使用第二個選擇時,具體該怎麼實施呢?
首先得編寫代碼循環檢查所有的表,這里我推薦一個存儲過程sp_MSForEachTable,因為在微軟的官方文檔中沒有對這個存儲過程有描述,很多開發人員也許都還未曾聽說,所以你在互聯網上搜索得到的解決辦法大多很復雜,也許有的人會認為,既然沒有官方文檔,這個存儲過程可能會不穩定,打心理上會排斥它,但事實並非如此。下面來先看一個完整的腳本:
CREATEPROCEDUREsp_DeleteAllData
AS
EXECsp_MSForEachTable'ALTERTABLE?NOCHECKCONSTRAINTALL'
EXECsp_MSForEachTable'ALTERTABLE?DISABLETRIGGERALL'
EXECsp_MSForEachTable'DELETEFROM?'
EXECsp_MSForEachTable'ALTERTABLE?CHECKCONSTRAINTALL'
EXECsp_MSForEachTable'ALTERTABLE?ENABLETRIGGERALL'
EXECsp_MSFOREACHTABLE'SELECT*FROM?'
GO
這個腳本創建了一個命名為sp_DeleteAllData的存儲過程,前面兩行語句分別禁用約束和觸發器,第三條語句才是真正地刪除所有數據,接下里的語句分別還原約束和觸發器,最後一條語句是顯示每個表中的記錄,當然這條語句也可以不要,我只是想確認一下是否清空了所有表而已。
你可以在任何資料庫上運行這個存儲過程,當然不要在生成資料庫上運行,可別怪我沒告訴你!不管怎樣,還是先備份一下資料庫,使用備份資料庫還原,然後再運行該存儲過程,呵呵,即使是一個大型資料庫,也要不多長時間,你的資料庫就成一個空庫了!
2. oracle怎麼刪除所有資料庫表
1、先查詢本庫所有表,本文以TEST開頭表為例,select * from user_tables t where table_name like 'TEST%';
3. 資料庫表的刪除方式有drop、delete和truncate各有什麼特點
意義是不一樣的,drop是刪除表,使用drop之後表結構和表的數據都會被刪除,truncate 和 delete是刪除表裡的數據,但不刪除表本身,truncate 和 delete相比,truncate要快很多,但缺點就是不能回滾,包括索引等都會變成初始值,數據就無法恢復了。
4. sql清空表數據的三種方式(truncate、delete、drop)
truncate:整體刪除所有數據,保留表結構,不能撤銷還原,不寫伺服器 log
delete:逐行刪除速度極慢,不適合大量數據刪除, 寫伺服器log (沒有truncate快的原因)
drop:刪除表,數據和表結構一起刪除,快速
5. 1、刪除資料庫表中的數據有幾種方法
以下兩種方式:
一、【delete方式】
語法:delete 表 where 篩選條件。
實例1:delete 員工表 where 姓名= '張紅' //--注釋:從員工表中刪除姓名為張紅的記錄。
實例2:delete 員工表 //--注釋:刪除員工表的所有數據。
二、【truncate方式】
語法:truncate 表。
實例:truncate 員工表 //--注釋:刪除員工表的所有數據。
相關介紹:
資料庫是「按照數據結構來組織、存儲和管理數據的倉庫」。是一個長期存儲在計算機內的、有組織的、可共享的、統一管理的大量數據的集合。
資料庫是存放數據的倉庫。它的存儲空間很大,可以存放百萬條、千萬條、上億條數據。但是資料庫並不是隨意地將數據進行存放,是有一定的規則的,否則查詢的效率會很低。當今世界是一個充滿著數據的互聯網世界,充斥著大量的數據。
即這個互聯網世界就是數據世界。數據的來源有很多,比如出行記錄、消費記錄、瀏覽的網頁、發送的消息等等。除了文本類型的數據,圖像、音樂、聲音都是數據。
資料庫是一個按數據結構來存儲和管理數據的計算機軟體系統。資料庫的概念實際包括兩層意思:
(1)資料庫是一個實體,它是能夠合理保管數據的「倉庫」,用戶在該「倉庫」中存放要管理的事務數據,「數據」和「庫」兩個概念結合成為資料庫。
(2)資料庫是數據管理的新方法和技術,它能更合適的組織數據、更方便的維護數據、更嚴密的控制數據和更有效的利用數據。
6. SQL語言中刪除資料庫表和刪除資料庫表中記錄分別使用什麼命令
刪除表用drop語句:droptabletablename;
解釋:上面語句的意思就是刪除表名為tablename的表。
刪除記錄用delete語句:='123';
解釋:上面語句的意思就是刪除tablename表中username欄位的值為123的所有記錄。
備註:drop通常是刪除的對象,delete通常刪除的是某些特定條件下的記錄。
7. 如何快速批量刪除Mysql資料庫中的數據表
一、使用phpmyadmin工具批量刪除mysql資料庫表
使用phpmyadmin資料庫管理工具進行刪除,這是一個傳統的方法,在任何php虛擬主機中,你都可以操作。下面是操作過程介紹:
1、登錄phpmyadmin。選擇你的mysql資料庫名進入——點擊結構——選擇您要刪除的數據表——「選中項」中選擇刪除,執行刪除表操作。如下圖:
PHPMYADMIN使用技巧:如何快速批量刪除Mysql資料庫中的數據表 image00114 150x150
二、使用php腳本完成批量刪除
無憂主機(www.51php.com)小編從網上找了一段php代碼,也可以幫我們快速實現刪除。如果你對phpmyadmin工具「敏感」,可以使用下面的方式來實現快速刪除mysql資料庫表。 在下面的代碼復制到記事本後,配置過程中你要注意幾個問題:
1、 正確配置你mysql資料庫信息。這個你可以直接咨詢你的空間商就可以獲得啦。
2、 正確設置要刪除的資料庫表前綴,這個非常重要,填寫錯誤,將操作錯誤。請你務必確認你的資料庫表前綴哦,資料庫表前綴你可以在phpmyadmin中查詢到。一般都是xx_開頭的。 設置好後,將這段代碼另存為.php文件(如51php.php)然後上傳到您空間的網站根目錄(public_html)。上傳完畢,直接用域名/51php.php,就可以刪除了。 代碼如下:
<?php
mysql_connect('localhost','資料庫用戶名','資料庫密碼');
mysql_select_db('資料庫名稱');
$rs=mysql_query('show tables');
while($arr=mysql_fetch_array($rs))
{
$TF=strpos($arr[0],'51php_');
if($TF===0){
$FT=mysql_query("drop table $arr[0]");
if($FT){
echo "$arr[0] 刪除成功!<br>";
}
}
}
?>
以上兩種方法都可批量刪除數據表,特別提醒一下,數據是無價的,操作數據表的時候一定要先做好備份。免得誤刪除數據是無法恢復的。如果您不會備份,麻煩您參考:
360度全方位講解無憂網站資料庫備份
Mysql資料庫管理利器:phpmyadmin詳細使用教程
8. 刪除資料庫表內容
(1)如果想清空表裡面的內容可以使用:delete from KF;
(2)如果是想刪除整個表可以使用:drop table KF。
SQL中刪除表中的所有數據的方法:
1、TRUNCATE TABLE 刪除表中的所有行,而不記錄單個行刪除操作。
(1)語法:TRUNCATE TABLE name;
(2)參數 name 是要截斷的表的名稱或要刪除其全部行的表的名稱。
2、DELETE語句,屬於計算機軟體領域,是編程中實現刪除功能的命令。
(1)DELETE語句:用於創建一個刪除查詢,可從列在 FROM 子句之中的一個或多個表中刪除記錄,且該子句滿足 WHERE 子句中的條件,可以使用DELETE刪除多個記錄。
(2)語法:DELETE [table.*] FROM table WHERE criteria;
(3)說明:table參數用於指定從其中刪除記錄的表的名稱。
(4)criteria參數為一個表達式,用於指定哪些記錄應該被刪除的表達式。
(5)可以使用 Execute 方法與一個 DROP 語句從資料庫中放棄整個表。不過,若用這種方法刪除表,將會失去表的結構。不同的是當使用 DELETE,只有數據會被刪除;表的結構以及表的所有屬性仍然保留,例如欄位屬性及索引。
(8)刪除表和資料庫的方法擴展閱讀:
1、SQL 的支持標准:
(1)SQL 是1986年10 月由美國國家標准局(ANSI)通過的資料庫語言美國標准,接著,國際標准化組織(ISO)頒布了SQL正式國際標准。
(2)1989年4月,ISO提出了具有完整性特徵的SQL89標准,1992年11月又公布了SQL92標准,在此標准中,把資料庫分為三個級別:基本集、標准集和完全集。
2、資料庫對象——表格:
(1)資料庫中的表與我們日常生活中使用的表格類似,它也是由行(Row) 和列(Column)組成的。列由同類的信息組成,每列又稱為一個欄位,每列的標題稱為欄位名。
(2)行包括了若干列信息項。一行數據稱為一個或一條記錄,它表達有一定意義的信息組合。一個資料庫表由一條或多條記錄組成,沒有記錄的表稱為空表。每個表中通常都有一個主關鍵字,用於唯一地確定一條記錄。
參考資料來源:
網路-結構化查詢語言
網路-DELETE語句
網路-資料庫對象