批量修改mysql的表前缀
如何批量修改mysql的表前缀名称
教程中将涉及两种方法修改,一种是批量修改(使用php脚步完成)一种是精确修改(使用sql查询语句完成)。
方法一:使用sql语句修改mysql数据库表前缀名
首先我们想到的就是用sql查询语句来修改,这个方法也很方便,在运行 SQL 查询框中输入如下语名就可以了。
ALTER TABLE 原表名 RENAME TO 新表名;
如:
ALTER TABLE old_post RENAME TO new_post;
Sql查询语句有一个缺点,那就是一句SQL语句只能修改一张数据库的表名,如果你要精确修改某一张表,很好用。如果数据库表很多的话,比较麻烦。
但是我们可以通过一条语句一次性生成所有的sql语句:select concat('alter table ',table_name,' rename to ',table_name) from information_schema.tables where table_name like'dmsck_%';
生成语句如下:
alter table dmsck_acategory rename to dmsck_acategory;
alter table dmsck_address rename to dmsck_address;
alter table dmsck_article rename to dmsck_article;
alter table dmsck_attrcategory rename to dmsck_attrcategory;
alter table dmsck_attribute rename to dmsck_attribute;
alter table dmsck_brand rename to dmsck_brand;
alter table dmsck_cart rename to dmsck_cart;
alter table dmsck_category_attr rename to dmsck_category_attr;
alter table dmsck_category_goods rename to dmsck_category_goods;
alter table dmsck_category_store rename to dmsck_category_store;
alter table dmsck_collect rename to dmsck_collect;
alter table dmsck_comment rename to dmsck_comment;
alter table dmsck_coupon rename to dmsck_coupon;
alter table dmsck_coupon_sn rename to dmsck_coupon_sn;
alter table dmsck_enterprise rename to dmsck_enterprise;
alter table dmsck_filmstrip rename to dmsck_filmstrip;
alter table dmsck_friend rename to dmsck_friend;
alter table dmsck_function rename to dmsck_function;
alter table dmsck_gattribute_rule rename to dmsck_gattribute_rule;
alter table dmsck_gcategory rename to dmsck_gcategory;
alter table dmsck_goods rename to dmsck_goods;
alter table dmsck_goods_attr rename to dmsck_goods_attr;
alter table dmsck_goods_bak rename to dmsck_goods_bak;
alter table dmsck_goods_down_log rename to dmsck_goods_down_log;
alter table dmsck_goods_image rename to dmsck_goods_image;
alter table dmsck_goods_old rename to dmsck_goods_old;
alter table dmsck_goods_qa rename to dmsck_goods_qa;
alter table dmsck_goods_spec rename to dmsck_goods_spec;
alter table dmsck_goods_statistics rename to dmsck_goods_statistics;
alter table dmsck_groupbuy rename to dmsck_groupbuy;
alter table dmsck_groupbuy_log rename to dmsck_groupbuy_log;
alter table dmsck_keyword rename to dmsck_keyword;
alter table dmsck_mail_queue rename to dmsck_mail_queue;
alter table dmsck_member rename to dmsck_member;
alter table dmsck_message rename to dmsck_message;
alter table dmsck_module rename to dmsck_module;
然后将其复制到一个文本文件中,将要修改的前缀统一修改(稍稍麻烦),然后再复制到mysql中执行sql语句就ok了。
方法二:php脚本批量修改mysql数据库表前缀
1、将下面的代码复制到记事本,根据自己人情况修改好数据库信息。再上传您网站的根目录。您可以直接下载mysql数据库前缀名批量修改脚步:修改mysql数据库表前缀名。
1 <?php
2 //设置好相关信息
3 $dbserver='localhost';//连接的服务器一般为localhost
4 $dbname='y8n9nghmze_shop';//数据库名
5 $dbuser='root';//数据库用户名
6 $dbpassword='';//数据库密码
7 $old_prefix='ecs_';//数据库的前缀
8 $new_prefix='dmsck_';//数据库的前缀修改为
9 if (
10 !is_string($dbname) || !is_string($old_prefix)|| !is_string($new_prefix) )
11 {
12 return false;
13 }
14 if (!mysql_connect($dbserver,
15 $dbuser, $dbpassword)) {
16 print 'Could not connect to mysql';
17 exit;
18 }
19
20 //取得数据库内所有的表名
21
22 $result =
23 mysql_list_tables($dbname);
24
25 if (!$result) {
26
27 print "DB Error, could not
28 list tables\n";
29
30 print 'MySQL Error: ' .
31 mysql_error();
32
33 exit;
34
35 }
36
37 //把表名存进$data
38
39 while ($row =
40 mysql_fetch_row($result)) {
41
42 $data[] = $row[0];
43
44 }
45 //过滤要修改前缀的表名
46 foreach($data as $k => $v)
47 {
48 $preg = preg_match("/^($old_prefix{1})([a-zA-Z0-9_-]+)/i",
49 $v, $v1);
50 if($preg)
51 {
52 $tab_name[$k] =
53 $v1[2];
54 //$tab_name[$k]
55 = str_replace($old_prefix, '', $v);
56 }
57 }
58 if($preg)
59 {
60 // echo '<pre>';
61 // print_r($tab_name);
62 // exit();
63 //批量重命名
64 foreach($tab_name as $k =>
65 $v)
66 {
67 $sql = 'RENAME TABLE
68 `'.$old_prefix.$v.'` TO `'.$new_prefix.$v.'`';
69 mysql_query($sql);
70 }
71 print 数据表前缀:.$old_prefix."<br>".已经修改为:.$new_prefix."<br>";
72 }
73 else
74 { print 您的数据库表的前缀.$old_prefix.输入错误。请检查相关的数据库表的前缀;
75 if ( mysql_free_result($result) ) {
76 return true;
77 }
78 }
79 ?>
2、 在浏览器输入访问您的网址.数据库表的前缀就可以修改成功了。
批量修改mysql的表前缀的更多相关文章
- phpMyAdmin批量修改Mysql数据表前缀的方法
多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名 呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介 ...
- 使用phpMyAdmin批量修改Mysql数据表前缀的方法
多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍 ...
- 批量修改Mysql数据库表Innodb为MyISAN
mysql -uroot -e "SELECT concat('ALTER TABLE ', TABLE_NAME,' ENGINE=MYISAM;') FROM Information_s ...
- MySQL根据表前缀批量修改、删除表
注意:请先调试好,以及做好备份,再执行操作. 批量修改表 批量给前缀为 xushanxiang_content_ 的表增加一个 username 的字段: SELECT CONCAT('ALTER T ...
- 在线批量修改mysql中表结构
在线批量修改mysql中表结构 1.获取要修改的表的表名称登录mysql库,查询出所有表 show tables; 将需要修改表结构的表名称存放到b.txt文件中2.执行修改修改表引擎为InnoDB ...
- ABP框架源码学习之修改默认数据库表前缀或表名称
ABP框架源码学习之修改默认数据库表前缀或表名称 1,源码 namespace Abp.Zero.EntityFramework { /// <summary> /// Extension ...
- MySQL批量修改相同后缀表名
执行步骤 1.用concat批量生成修改表名的语句 SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', ,locate('_postfi ...
- 修改MYSQL数据库表的字符集
MySQL 乱码的根源是的 MySQL 字符集设置不当的问题,本文汇总了有关查看 MySQL 字符集的命令.包括查看 MySQL 数据库服务器字符集.查看 MySQL 数据库字符集,以及数据表和字段的 ...
- shell批量修改mysql用户密码
需求 现在有这么一个需求, 需要大批量修改用户的密码, 需要注意的规则是: 必须添加的字符: *$#sjdKw% 用户名的第一位+*$#sjdKw%+用户名的最后一位,比如用户名chenglee,密码 ...
随机推荐
- 微信小程序之如何注册微信小程序
所有文章均是CSDN博客所看,已按照作者要求,注明出处了,感谢作者的整理! 博客文章地址:http://blog.csdn.net/michael_ouyang/article/details/546 ...
- android shape的用法总结
参考代码: <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corner ...
- javascript中区分鼠标单击和拖动事件
在javascript中,一般的DOM元素如div,都有onmousedown.onmousemove.onmouseup这3个鼠标事件. <div id="div1" on ...
- Unity3d监听手机暂停与退出事件
做移动互联网类型的开放,很多情况得考虑移动设备的暂停与退出时,做某些数据操作或UI. 1,退出事件,Unity3d,InPut就包含了: Input.GetKey(KeyCode.Escape) . ...
- Learning string similarity measures for gene/protein name dictionary look-up using logistic regression
Yoshimasa Tsuruoka1,*, John McNaught1,2, Jun’ichi Tsujii1,2,3 and Sophia Ananiadou1,2 1 School of Co ...
- 【译】理解Spring MVC Model Attribute 和 Session Attribute
作为一名 Java Web 应用开发者,你已经快速学习了 request(HttpServletRequest)和 session(HttpSession)作用域.在设计和构建 Java Web 应用 ...
- 页游手游服务器(三)lua网络层
在(一)中,介绍了c对lua层的拓展,这边主要写lua层的网络部分,目标是实现RPC调用,实现主要是三部分: 1通信协议(消息的序列化和反序列化) rpc调用主要信息包括方法名,方法参数,设计的通信协 ...
- 七招从办公室政治中取胜 发表于 09 May 2008 ? 领导力培养
办公室政治,对有些人来说是一个禁忌词汇,但在工作场合它却不可回避.简单说来,它就是职场上人与人的不同:观念的差异.利益的冲突 都可以看成是办公室政治的表现.它等于人与人之间的交流和关系.没必要害怕办公 ...
- pycharm ctrl+滚轮调节字体大小
File --> Setting --> Editor --> General --> 勾选Change font size (zoom) with Ctrl+Mouse Wh ...
- ruby on rails 生产环境调试项目日志查看
1.项目目录:log/production.log 2.nginx日志:/opt/nginx/logs 生产环境下做的任何更改都要重启服务器 重启 sudo kill $(cat /opt/nginx ...