Heim  >  Artikel  >  Datenbank  >  批量修改mysql数据库表名前缀_MySQL

批量修改mysql数据库表名前缀_MySQL

WBOY
WBOYOriginal
2016-05-31 08:49:45895Durchsuche

 //设置好相关信息
$dbserver='localhost';//连接的服务器一般为localhost
$dbname='experimentcenter';//数据库名
$dbuser='root';//数据库用户名
$dbpassword='root';//数据库密码
$old_prefix='zb_';//数据库的前缀
$new_prefix='ec_';//数据库的前缀修改为
if ( !is_string($dbname) || !is_string($old_prefix)|| !is_string($new_prefix) ){
return false;
}
if (!mysql_connect($dbserver, $dbuser, $dbpassword)) {
print 'Could not connect to mysql';
exit;
}
//取得数据库内所有的表名
$result = mysql_list_tables($dbname);
if (!$result) {
print "DB Error, could not list tables/n";
print 'MySQL Error: ' . mysql_error();
exit;
}
//把表名存进$data
while ($row = mysql_fetch_row($result)) {
 $data[] = $row[0];
 }
//过滤要修改前缀的表名
foreach($data as $k => $v)
{
$preg = preg_match("/^($old_prefix{1})([a-zA-Z0-9_-]+)/i", $v, $v1);
if($preg){
$tab_name[$k] = $v1[2];
//$tab_name[$k] = str_replace($old_prefix, '', $v);
}
}
if($preg)
{
//        echo '

';<br>//        print_r($tab_name);<br>//        exit();<br>//批量重命名<br>foreach($tab_name as $k => $v){<br>$sql = 'RENAME TABLE `'.$old_prefix.$v.'` TO `'.$new_prefix.$v.'`';<br>mysql_query($sql);<br>}<br>print  '数据表前缀:'.$old_prefix."<br>".'已经修改为:'.$new_prefix."<br>";<br>}<br>else{ print '您的数据库表的前缀'.$old_prefix.'输入错误。请检查相关的数据库表的前缀';<br>if ( mysql_free_result($result) ) {<br>return true;<br>}<br>}<br><p>?></p><p>将文档保存为**.php,运行即可</p>
    
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn