Как я могу удалить все таблицы в моей базе данных?Как я могу удалить все таблицы в моей базе данных?
1) В один MYSQL команды
2) Не разрушая и создания базы данных?
Благодаря
Как я могу удалить все таблицы в моей базе данных?Как я могу удалить все таблицы в моей базе данных?
1) В один MYSQL команды
2) Не разрушая и создания базы данных?
Благодаря
попробовать что-то вроде этого:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
Аккуратный маленький трюк, и это работает для меня.
Первоначально предложенный here.
Попробуйте это:
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;
получил от этого here. Быстро и грязно, говорит он. Это, конечно, грязно. ;-)
Вот пример, но для 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
Обратите внимание, что это должен быть запущен из командной строки системы, а не как заявление MySQL. – Mchl
Я могу запускать только операторы mysql, поэтому я думаю, что это не работает. – aneuryzm