簡體   English   中英

如何刪除數據庫中的所有表?

[英]How can I drop all tables in my database?

如何刪除數據庫中的所有表?

1)在一個MYSQL命令中

2)不破壞和創建數據庫?

謝謝

嘗試這樣的事情:

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]

整潔的小技巧,它適用於我。

最初在這里建議。

試試這個:

SELECT name INTO #tables from sys.objects where type = 'U'
while (SELECT count(1) FROM #tables) > 0
begin
declare @sql varchar(max)
declare @tbl varchar(255)
SELECT top 1 @tbl = name FROM #tables
SET @sql = 'drop table ' + @tbl
exec(@sql)
DELETE FROM #tables where name = @tbl
end
DROP TABLE #tables;

這里得到這個。 它說,快速而骯臟。 它當然很臟。 ;-)

這是一個例子,但它適用於MS SQL Server:

USE myBD   -- user DB

DECLARE tables_cursor CURSOR
FOR SELECT name FROM sys.objects WHERE type = 'U'  --carefull here

OPEN tables_cursor
DECLARE @tablename sysname

FETCH NEXT FROM tables_cursor INTO @tablename
WHILE (@@FETCH_STATUS != -1)
BEGIN
EXEC ('DROP TABLE ' + @tablename)
FETCH NEXT FROM tables_cursor INTO @tablename
END

DEALLOCATE tables_cursor

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM