Jak usunąć wiele tabel z jednej bazy danych za pomocą jednego polecenia. coś jak,
> use test;
> drop table a,b,c;
gdzie a, b, c to tabele z testu bazy danych.
Jak usunąć wiele tabel z jednej bazy danych za pomocą jednego polecenia. coś jak,
> use test;
> drop table a,b,c;
gdzie a, b, c to tabele z testu bazy danych.
DROP TABLE
do zapytania i dwukrotnie klikać każdą żądaną tabelę, aby dodać jej nazwę do zapytania (wstaw przecinek), a następnie nacisnąć klawisz F9, aby wykonać. Trochę nie na temat, ale przyszedłem tu po to.
DROP TABLE table_prefix_*
nie działa ze znakiem gwiazdy: stackoverflow.com/questions/6758652/ ...
Odpowiedzi:
Przykład:
Powiedzmy, że tabela A ma dwoje dzieci B i C. Następnie możemy użyć następującej składni, aby usunąć wszystkie tabele.
DROP TABLE IF EXISTS B,C,A;
Można to umieścić na początku skryptu zamiast osobno usuwać każdą tabelę.
SET foreign_key_checks = 0;
DROP TABLE IF EXISTS a,b,c;
SET foreign_key_checks = 1;
Wtedy nie musisz się martwić o to, że upuścisz je w odpowiedniej kolejności, ani o to, czy faktycznie istnieją.
Uwaga: dotyczy to tylko MySQL (jak w pytaniu). Inne bazy danych prawdopodobnie mają do tego różne metody.
Leniwy sposób na zrobienie tego, jeśli jest dużo tabel do usunięcia.
Pobierz tabelę, korzystając z poniższego
Skopiuj i wklej nazwy tabel ze zbioru wyników i wklej je po poleceniu DROP.
declare @sql1 nvarchar(max)
SELECT @sql1 =
STUFF(
(
select ' drop table dbo.[' + name + ']'
FROM sys.sysobjects AS sobjects
WHERE (xtype = 'U') AND (name LIKE 'GROUP_BASE_NEW_WORK_%')
for xml path('')
),
1, 1, '')
execute sp_executesql @sql1