sql >> Database teknologi >  >> RDS >> Mysql

Er der en måde at TRUNCATE de fleste tabeller i et MySQL-skema?

Jeg tror, ​​du bliver nødt til at skrive et manuskript på det sprog, du bedst kan lide. Du kan få en liste over tabellerne i skemaet fra informationsskema db, og derefter gentage dem og afkorte dem, du har lyst til.

Forespørgsel ville være noget i stil med:

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

Rediger :Her er et eksempel med 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. Hvordan ændres felt med jsonPath i PostgreSQL?

  2. dvale - Postgres-mållister kan højst have 1664 poster

  3. Introduktion til synonymer i SQL Server

  4. Sådan sammenlignes to felter i laravel og postgres