Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có cách nào để TRUNCATE hầu hết các bảng trong lược đồ MySQL không?

Tôi tin rằng bạn sẽ phải viết kịch bản bằng bất kỳ ngôn ngữ nào bạn thích nhất. Bạn có thể lấy danh sách các bảng trong lược đồ từ db information_schema, sau đó lặp lại chúng, cắt bớt bất kỳ bảng nào bạn cảm thấy thích.

Truy vấn sẽ giống như sau:

SELECT table_name FROM information_schema.tables WHERE table_schema = 'test' AND table_name NOT IN ('table1', 'table2');

Chỉnh sửa :Đây là một ví dụ sử dụng Perl:

use strict;
use warnings;
use DBI;

my $dbh = DBI->connect("some_dsn");

my $sth = $dbh->prepare(q{SELECT table_name FROM information_schema.tables WHERE table_schema = 'test' AND table_name NOT IN ('table1', 'table2')});
$sth->execute();
$sth->bind_columns(\my $table_name);

while($sth->fetch) { $dbh->do(q{TRUNCATE TABLE } . $table_name) }


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chạy nhiều tập lệnh PHP cùng lúc (vấn đề về vòng lặp cơ sở dữ liệu)

  2. Làm thế nào để chèn dữ liệu json vào bảng?

  3. Hibernate gửi truy vấn người nước ngoài đến cơ sở dữ liệu

  4. Truy xuất dữ liệu từ cơ sở dữ liệu sql và hiển thị trong bảng - Hiển thị dữ liệu nhất định theo các hộp kiểm đã chọn

  5. Xóa hàng MySQL sau 30 phút bằng cách sử dụng Cron Jobs / Event Scheduler