开发者

How to Loop & rename MySQL table in Perl

开发者 https://www.devze.com 2022-12-27 13:33 出处:网络
Could you plesae teach me how to Loop & rename MySQL table in Perl. Thanks. my code snippet attached

Could you plesae teach me how to Loop & rename MySQL table in Perl. Thanks.

my code snippet attached

use strict; 
use warnings; 
use DBI; 

my $dbh = DBI->connect( 
    'DBI:mysql:database=dbdev;host=localhost', 
    'dbdev', 
    'dbdevpw', 
    { RaiseError =开发者_如何学编程> 1, AutoCommit => 1 }, 
); 

my $sql = RENAME TABLE old_table TO new_table; 
my $sth = $dbh->prepare($sql); 

while (<DATA>){ 
    chomp; 
    // How to implement the Rename all the old tables with the while loop.


    $sth->execute(); 
} 


I'm assuming your list of tables live in DATA.

while (<DATA>){ 
    chomp; 
     $dbh->do("RENAME TABLE ? TO ?", undef, $_, "new_" . $_);
} 

You might also want to take a look at perldoc DBI


This code can be used to rename all tables in the database:

my @tables = map @$_, @{ $dbh->selectall_arrayref('SHOW TABLES') };

for my $table (@tables) {
    $dbh->do("RENAME TABLE $table TO new_${table}");
}

Hope this helps.

0

精彩评论

暂无评论...
验证码 换一张
取 消