Tek bir veritabanından birden çok tabloyu tek komutta nasıl bırakabilirsiniz gibi bir şey,
> use test;
> drop table a,b,c;
a, b, c veritabanı testindeki tablolardır.
Tek bir veritabanından birden çok tabloyu tek komutta nasıl bırakabilirsiniz gibi bir şey,
> use test;
> drop table a,b,c;
a, b, c veritabanı testindeki tablolardır.
DROP TABLE
bir sorguya yazabilir ve istediğiniz her tabloyu çift tıklayarak adını sorguya ekleyebilirsiniz (aralarına virgül koyun) ardından çalıştırmak için F9'a basın. Biraz konu dışı ama bunun için buraya geldim.
Yanıtlar:
Misal:
Diyelim ki tablo A'da iki çocuk B ve C var. O zaman tüm tabloları kaldırmak için aşağıdaki sözdizimini kullanabiliriz.
DROP TABLE IF EXISTS B,C,A;
Bu, her tabloyu ayrı ayrı düşürmek yerine komut dosyasının başına yerleştirilebilir.
SET foreign_key_checks = 0;
DROP TABLE IF EXISTS a,b,c;
SET foreign_key_checks = 1;
O zaman onları doğru sırayla bırakmaktan veya gerçekten var olup olmadıklarından endişelenmenize gerek kalmaz.
Not: Bu yalnızca MySQL içindir (soruda olduğu gibi). Diğer veritabanlarının bunu yapmak için muhtemelen farklı yöntemleri vardır.
Silinecek çok sayıda tablo varsa bunu yapmanın tembel bir yolu.
Aşağıdakileri kullanarak tablo alın
Sonuç kümesinden tablo adlarını kopyalayıp yapıştırın ve DROP komutundan sonra yapıştırın.
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