這一句就能解決問題: EXEC sp_MSforeachtable 'EXEC (''DROP TABLE ?'')'如出現c++部落團隊所說的FOREIGN KEY外表關聯,運行以上語句兩次就能行了。
⑵ 用SQL語句怎麼刪除表中的所有數據
從一個表中刪除數據,使用DELETE語句。從表中刪除所有行
DELETE FROMtable_name;
或DELETE * FROMtable_name;
或DELETE FROM Customers
WHERE cust_id = '10000006';
DELETE不需要列名和通配符,它是刪除整行而不是刪除列,要刪除指定的列,請使用update語句;並且DELETE語句從表中刪除行,甚至是刪除表中所有行,而不是刪除表本身。
如果想刪除表中的所有行,可以使用TRUNCATE TABLE語句,完成相同的工作,而速度更快。
(2)sql刪除所有表擴展閱讀
drop直接刪掉表。
truncate刪除的是表中的數據,再插入數據時自增長的數據id又重新從1開始。
delete刪除表中數據,可以在後面添加where字句
(1)DELETE語句執行刪除操作的過程是每次從表中刪除一行,並且同時將該行的刪除操作作為事務記錄在日誌中保存以便進行進行回滾操作。TRUNCATE TABLE 則一次性地從表中刪除所有的數據並不把單獨的刪除操作記錄記入日誌保存,刪除行是不能恢復的。並且在刪除的過程中不會激活與表有關的刪除觸發器。執行速度快。
(2) 表和索引所佔空間。當表被TRUNCATE 後,這個表和索引所佔用的空間會恢復到初始大小,而DELETE操作不會減少表或索引所佔用的空間。drop語句將表所佔用的空間全釋放掉。
(3) 一般而言,drop > truncate > delete
(4) 應用范圍。TRUNCATE 只能對TABLE;DELETE可以是table和view
(5) TRUNCATE 和DELETE只刪除數據,而DROP則刪除整個表(結構和數據)。
(6) truncate與不帶where的delete :只刪除數據,而不刪除表的結構(定義)drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger)索引(index);依賴於該表的存儲過程/函數將被保留,但其狀態會變為:invalid。
⑶ SQL如何直接批量刪除表
SQL直接批量刪除表的方法步驟:
所需工具原料:phpmyadmin。
1.數據操作前進行數據備份。
4.打開文本框中輸入命定執行:
deletefromwp_postswhere`post_date`>='2010-01-0100:00:00'and`post_date`<'2014-12-1422:00:00:00'。
【命令語句意思】:從wp_posts數據表的post_date欄位中檢索文章創建日期在2010年1月1日0時和2014年12月14日22時之間的數據進行刪除操作。
5.成功後點擊上部「瀏覽」按鈕查看,表被刪除,sql執行語句成功。
刪除指令解析:
1.全部刪除:deletefromtable。
2.部分刪除:deletefromtableawherenuidin(selectnuidfromtableB)。
注意事項:
1.進行資料庫操作前須要進行資料庫備份。
2.資料庫操作是刪除數據文本,圖片等上傳文件不會受到影響。
⑷ sql 怎樣批量刪除表
您好,寫個游標循環處理就是了.
declare@TableNamevarchar(100)
declare@SQLvarchar(500)
='u'
opencurselect
fetchnextfromcurselectinto@Tablename
while@@FETCH_STATUS=0
begin
Set@SQL='droptable'+@TableName
execute(@SQL)
fetchnextfromcurselectinto@Tablename
end
deallocatecurselect
⑸ sql刪除資料庫所有表
問題問的很雷人。你是說MYSQL還是MSSQL?
但是有個最終解決辦法。
就是:
刪除這個庫。之後從新建立這個庫。不就刪除所有表了嘛。
哈哈。
⑹ oracle中如何刪除所有表
1、如果想要刪除相應的表格,那麼首先要知道表格位於那個資料庫,這樣才可以進行刪除。
⑺ 如何刪除sql資料庫中所有的表
有兩種辦法可以刪除表中的所有數據:
1、TRUNCATE TABLE 刪除表中的所有行,而不記錄單個行刪除操作。
語法 TRUNCATE TABLE name
參數 name 是要截斷的表的名稱或要刪除其全部行的表的名稱。
2、Delete from tablename where 1=1
⑻ SQL批量刪除表的命令是
這個是別人提供的一個代碼,是刪除以test開頭的表,自己更改下條件就可以了可以試試看
declare @name varchar(20)
while(exists(select * from sysobjects where name like 'test%'))
begin
select @name=name from sysobjects where name like 'test%'
exec ('drop table '+@name)
end
⑼ 如何用SQL語句刪除一個表空間里的所有表
SELECT 'DROP TABLE ' || TABLE_NAME || ' CASCADE CONSTRAINTS' V_NAME
FROM DBA_TABLES
WHERE TABLESPACE_NAME = 'USERS';
按照表空間名查詢所有包含的表,並根據表名拼接刪除語句。
執行上面查詢語句生成的語句,即可刪除所有表。
⑽ sql怎麼刪除一個表中的所有數據
刪除表數據有兩種方法:delete和truncate。具體語句如下:
一、RUNCATE TABLE name :
刪除表中的所有行,而不記錄單個行刪除操作。在這個指令之下,表格中的資料會完全消失,可是表格本身會繼續存在。
TRUNCATE TABLE 的語法:TRUNCATE TABLE name ,參數 name 是要截斷的表的名稱或要刪除其全部行的表的名稱。
二、Delete from tablename where 1=1
1、delete語法:
DELETE FROM 表名稱 WHERE 列名稱 = 值。
2、刪除所有行:
可以在不刪除表的情況下刪除所有的行。這意味著表的結構、屬性和索引都是完整的:DELETE FROM table_name。
(10)sql刪除所有表擴展閱讀:
truncate和delete的共同點及區別:
1、 truncate和 delete只刪除數據不刪除表的結構(定義) 。
2、delete語句是dml,這個操作會放到rollback segement中,事務提交之後才生效;如果有相應的trigger,執行的時候將被觸發。
truncate是ddl, 操作立即生效,原數據不放到rollback segment中,不能回滾. 操作不觸發trigger。
3、delete語句不影響表所佔用的extent, 高水線(high watermark)保持原位置不動 。truncate 語句預設情況下見空間釋放到 minextents個 extent,除非使用reuse storage; truncate會將高水線復位(回到最開始)。
4、速度,一般來說: truncate >delete 。