Lebih
Cara drop semua tabel dari database dengan SQL query?
Saya don't ingin mengetik semua tabel' nama untuk menjatuhkan semua dari mereka. Apakah mungkin dengan satu query?
148
11
Gunakan INFORMATION_SCHEMA.TABEL lihat untuk mendapatkan daftar tabel. Menghasilkan Drop script di pilih pernyataan dan drop menggunakan Dynamic SQL:
Sys.Tabel Versi
Catatan: Jika anda memiliki
Kunci asing
yang didefinisikan antara tabel maka pertama menjalankan query di bawah ini untuk menonaktifkan semuaasing tombol
hadir di database anda.Untuk informasi lebih lanjut, cek di sini.
Jika anda ingin menggunakan hanya satu query SQL untuk menghapus semua tabel anda dapat menggunakan ini:
Ini adalah tersembunyi yang Tersimpan Prosedur sql server, dan akan dilaksanakan untuk masing-masing tabel dalam database anda'kembali terhubung.
Catatan: Anda mungkin perlu untuk mengeksekusi query beberapa kali untuk menghapus semua tabel karena dependensi.
Note2: Untuk menghindari catatan pertama, sebelum menjalankan query, periksa dulu apakah ada hubungan kunci asing untuk setiap meja. Jika ada maka hanya disable foreign key constraint dengan menjalankan query di bawah ini:
Jika anda don't ingin mengetik, anda dapat membuat pernyataan dengan ini:
Kemudian copy dan paste ke new SSMS jendela untuk menjalankannya.
Anda juga bisa menggunakan script berikut untuk menjatuhkan segala sesuatu, termasuk yang berikut:
https://michaelreichenbach.de/how-to-drop-everything-in-a-mssql-database/
I'd hanya membuat perubahan kecil untuk @NoDisplayName's jawaban dan menggunakan
QUOTENAME()
padaTABLE_NAME
kolom dan juga termasukTABLE_SCHEMA kolom
menyelimuti tabel aren't dalamdbo
skema.Atau menggunakan
sys
skema views (sebagai per @swasheck's komentar):Sebagai tindak lanjut Dave.Gugg's jawaban, ini akan menjadi kode seseorang akan perlu untuk mendapatkan semua DROP garis TABEL di MySQL:
Jika ada orang lain yang punya masalah dengan jawaban terbaik's solusi (termasuk menonaktifkan kunci asing), di sini adalah solusi lain dari saya:
Cara paling sederhana adalah dengan menjatuhkan seluruh database dan membuat itu sekali lagi:
Yang's semua.
Gunakan script berikut untuk
menjatuhkan
semuakendala
:Kemudian jalankan perintah berikut untuk drop semua tabel:
Ini bekerja untuk saya di Azure SQL Database di mana
'sp_msforeachtable'
tidak tersedia!Tidak cukup 1 query, masih cukup pendek dan manis:
Aku Tahu pertanyaan ini sangat lama, tapi setiap Kali aku butuh kode ini .. by the way, jika anda memiliki tabel dan tampilan dan fungsi-Fungsi dan PROSEDUR yang anda dapat menghapus itu semua dengan Script ini .. jadi mengapa saya posting Script ini ?? karena jika anda menghapus semua tabel yang anda akan perlu untuk menghapus semua pandangan dan jika anda memiliki Fungsi dan PROSEDUR yang anda butuhkan untuk menghapusnya juga saya Berharap ini akan membantu seseorang