首页 / 更多教程 / 关于数据库表前缀的认识
关于数据库表前缀的认识
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了关于数据库表前缀的认识,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4143字,纯文字阅读大概需要6分钟。
内容图文
![关于数据库表前缀的认识](/upload/InfoBanner/zyjiaocheng/494/3a38e51b62cf4f5fa4c912a7a31634bb.jpg)
mysql数据库表前缀,这个是我们区分其它表的一个方式,当我们同一个数据库中含有多个系统的的时候,表前缀就却分的唯一标识。我们使用php开源程序安装建站的时候,一般数据库表前缀都是默认设置好的,如:wordpress的默认数据库表前缀是wp_,echosp的默认数据库表前缀是ecs_,discuz的默认数据库表前缀是pre_,织梦内容管理系统(dede)的默认数据库表前缀是dede_。在其官方安装教程中或开源系统安全安装方法中,都建议在安装的时候,建议修改这个天下人皆知的默认表前缀。如果您不留神,已经使用了默认的表前缀怎么办?有办法改吗?无忧主机(www.51php.com)小编,今天就用ecshop网店开源系统演示,如何修改ecshop的mysql数据库表前缀名。
涉及数据库的修改都是要非常危险的,所以备份不可少。建议使用两种以上的方法在php虚拟主机中备份你的网站数据库。无忧主机空间的控制面板也提供备份功能,你可以参考“网站整站一键备份与恢复”。教程中将涉及两种方法修改,一种是批量修改(使用php脚步完成)一种是精确修改(使用sql查询语句完成)。
方法一:使用sql语句修改mysql数据库表前缀名
首先我们想到的就是用sql查询语句来修改,这个方法也很方便,只需进入无忧主机控制面板——phpmyadmin登入后,在运行 SQL 查询框中输入如下语名就可以了。
ALTER TABLE 原表名 RENAME TO 新表名;
如:
ALTER TABLE old_post RENAME TO new_post;
Sql查询语句有一个缺点,那就是一句SQL语句只能修改一张数据库的表名,如果你要精确修改某一张表,很好用。如果数据库表很多的话,不推荐使用。有木有,批量修改多个数据库表前缀名称的方法类?有的,请看下面的介绍
方法二:php脚本批量修改mysql数据库表前缀
一个快速批量的修改数据表前缀的方法:
1、将下面的代码复制到记事本,根据自己人情况修改好数据库信息,并保存了51php.php。再上传您网站的根目录。您可以直接下载mysql数据库前缀名批量修改脚本:修改mysql数据库表前缀名。
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
<?php
//设置好相关信息
$dbserver = ‘localhost‘ ; //连接的服务器一般为localhost
$dbname = ‘y8n9nghmze_shop‘ ; //数据库名
$dbuser = ‘y8n9nghmze_user‘ ; //数据库用户名
$dbpassword = ‘admin‘ ; //数据库密码
$old_prefix = ‘ecs_‘ ; //数据库的前缀
$new_prefix = ‘51php_‘ ; //数据库的前缀修改为
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 ‘<pre>‘;
// print_r($tab_name);
// exit();
//批量重命名
foreach ( $tab_name as $k =>
$v )
{
$sql = ‘RENAME TABLE
` ‘.$old_prefix.$v.‘ ` TO ` ‘.$new_prefix.$v.‘ `‘;
mysql_query( $sql );
}
print 数据表前缀:. $old_prefix . "<br>" .已经修改为:. $new_prefix . "<br>" ;
}
else
{ print 您的数据库表的前缀. $old_prefix .输入错误。请检查相关的数据库表的前缀;
if ( mysql_free_result( $result ) ) {
return true;
}
}
?>
|
2、 在浏览器输入访问您的网址/51php.php.数据库表的前缀就可以修改成功了。
2013年5月28日更新:
无忧主机小编(www.51php.com)今天更新一个mysql数据库表前缀的另一个方法,这个方法使用也非常简单,就是用第三方工具——帝国备份王进行修改。操作方法如下:
1、登录帝国备份后台,选择“备份数据”—— “批量替换表名”,然后执行操作就可以完成批量替换了,也非常简单。如下图:
以上方法都可修改网站前缀,不过大多数的开源程序修改表缀后,再需要修改网站程序的数据库配置文件,才会让网站网站的运行。如何修改网站的数据库可以参考各个开源程序帮助文档。
本文地址:http://www.51php.com/mysql/7967.html
关于数据库表前缀的认识
标签:情况下 服务 item 查询语句 缺点 class 管理系 users pad
本文系统来源:http://www.cnblogs.com/loanhicks/p/7789197.html
内容总结
以上是互联网集市为您收集整理的关于数据库表前缀的认识全部内容,希望文章能够帮你解决关于数据库表前缀的认识所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。