¿Cómo puedo colocar todas las tablas en mi base de datos?¿Cómo puedo colocar todas las tablas en mi base de datos?
1) En un comando de MySQL
2) Sin destruir y crear la base de datos?
Gracias
¿Cómo puedo colocar todas las tablas en mi base de datos?¿Cómo puedo colocar todas las tablas en mi base de datos?
1) En un comando de MySQL
2) Sin destruir y crear la base de datos?
Gracias
intentar algo como esto:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
truco poco, y que funciona para mí.
Originalmente sugerido here.
Prueba esto:
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;
Tienes esto desde here. Rápido y sucio, dice. Ciertamente está sucio. ;-)
, no funciona ... dice error de synatax. Supongo que debido a: & gt; 0 – aneuryzm
Es más probable porque no es MySQL. Un procedimiento como este se puede crear en MySQL, utilizando information.schema en lugar de sys.objects (y, por supuesto, sintaxis compatible con MySQL para las variables) – Mchl
Aquí un ejemplo, pero es para 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
Tenga en cuenta que esto es para ser ejecutado desde la línea de comandos del sistema, no como afirmación de MySQL. – Mchl
Solo puedo ejecutar sentencias de mysql, así que supongo que esto no funciona – aneuryzm