[TIL] Xoá tất cả các bảng trong MySQL

Hôm qua ngồi cài con BookStack làm hệ thống document cho tiện thì mình có chạy migration fail vài phát.

Database đang dùng của shared hosting -> việc tạo db phải dùng UI của cPanel -> việc drop db rồi tạo lại còn lâu hơn việc xoá bảng.

Ngồi gõ nông dân xoá hơn chục table thì lâu quá, nên mình mò thử thì có cách này:

Các bước

Bước 1: Sử dụng concat, build ra query drop table

select concat('drop table if exists ', table_name, ' cascade;')
  from information_schema.tables;

Bước 2: Copy query ra để chạy. Lưu ý chỉ copy table cần xoá thôi nhé anh em, đừng copy toàn bộ, xoá nhầm của information_schema là rách việc

Bước 3: Hưởng thụ thành quả

Bài viết có tham khảo câu trả lời: Link

Cảm ơn bạn, vì đã đọc bài ^^


Đoạn dưới này để SEO

How to delete all tables in MySQL databases with query

Bình luận về bài viết này