Biasanya saya membuka Terminal.app dan terhubung ke database MySQL jarak jauh.
Lalu saya menggunakan perintah ini untuk menjatuhkan tabel:
mysql> drop table [table name];
Tapi yang saya butuhkan adalah baris perintah untuk meletakkan semua tabel dalam database.
Jika saya menggunakan:
mysql> drop database [database name];
Saya akan menghancurkan database sepenuhnya dan saya tidak akan dapat membuat tabel lagi. Apakah saya benar?
command-line
terminal
mysql
chefnelone
sumber
sumber
Jawaban:
Anda dapat menjatuhkan database kemudian segera membuatnya kembali:
Atau Anda bisa menggunakan skrip untuk menjatuhkan setiap tabel dalam database.
sumber
Anda dapat mencoba perintah berikut:
Atau:
Di mana
DB_NAME
nama basis data Anda. Kredensial database Anda dapat menentukan~/.my.cnf
atau menambahkannya ke perintah (misalnya-uroot -proot
).Metode ini memiliki beberapa kelebihan dibandingkan menjatuhkan dan membuat database jika pengguna database Anda tidak memiliki izin untuk menjatuhkannya.
sumber
--silent
dan-v
/--verbose
masing-masing seperti:--user=username --password=password --host=host.name
| sort -r
garis kebalikannya, tetapi masih belum kompatibel beberapa db.mysql -u USERHERE -pPASSWORDHERE --silent --skip-column-names -e "SHOW TABLES" DATABASENAMEHERE | xargs -L1 -I% echo 'SET FOREIGN_KEY_CHECKS = 0; DROP TABLE
%;' | mysql -u USERHERE -pPASSWORDHERE -v DATABASENAMEHERE
sumber