如何批量修改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 '

';

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."
".已经修改为:.$new_prefix."
";

72    }

73    else

74    { print 您的数据库表的前缀.$old_prefix.输入错误。请检查相关的数据库表的前缀;

75    if ( mysql_free_result($result) ) {

76    return true;

77    }

78    }

79    ?>

2、 在浏览器输入访问您的网址.数据库表的前缀就可以修改成功了。

mysql 修改前缀_批量修改mysql的表前缀相关推荐

  1. ae批量修改字体_批量修改文字样式字体AE脚本CreativeDojo Dojo Text Updater V1.0

    批量修改文字样式字体AE脚本CreativeDojo Dojo Text Updater V1.0 Dojo Text Updater是一个由CreativeDojo开发的After Effects脚 ...

  2. mysql kill 脚本_批量 kill mysql 中运行时间长的sql

    以下内容来自mysql手册: 13.5.5.3. KILL语法 KILL [CONNECTION | QUERY] thread_id 每个与mysqld的连接都在一个独立的线程里运行,您可以使用SH ...

  3. mysql 杀掉连接_批量杀死MySQL连接的几种方法

    方法一 通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令. mysql select conca ...

  4. 脚本_批量修改md为hexo标准post格式[博]

    原创博客地址:脚本_批量修改md为hexo标准post格式[博] 动机,原有md希望快捷发布 本来原来有笔记,已经为md格式,希望批量发布.而不是一个个hexo new page xxx,然后复制过去 ...

  5. 如何批量修改文件名?批量修改照片文件名和添加前缀

    通常我们使用手机或者相机拍摄了一堆照片拷贝到电脑之后,照片的命名通常都是随机混乱的,如果要规范文件命名,你是不是会去一个一个去修改文件名呢?其实完全不需要这么麻烦,今天电脑百事小编就来教大家一个批量快 ...

  6. mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改

    ## MySQL常用语句,增删查改,安装配置mysql服务 ***#新手博客,应届生,谢谢支持哟 记得点赞关注哟*** ***-----sql常见命令:--------*** 安装服务:mysqld ...

  7. mysql修改语句_序言:MySQL与Navicat安装Tips

    一.数据库相关的基础知识 1.1 数据分析师主要集中在select高效查找上,纯粹的底层运维就不需要太关注: 1.2 数据库与表 类比sheet是表,整个Excel文件是一个数据库: 1.3 行与列 ...

  8. 阿里云 mysql 修改密码_阿里云mysql修改密码

    MYSQL的密码我们并不经常修改,但有时我们会忘记密码需要修改,还会将密码更改为自己更容易记住的!下面介绍两种更改mysql密码的方法 方法一: 此方法主要是记得旧密码然后更改为新的密码 1)先输入m ...

  9. 解决mysql不能修改密码_如何解决mysql修改密码后不能成功登录_数据库_mysql修改密码_课课家...

    今天给大家解决下MySQL修改密码后导致不能登录的问题,一般我们都知道mysql4.1.1版本后修改了用户密码的格式,一旦修改了密码,4.1.1以前的版本上是不能进行成功登录的,那么对于这些问题该如何 ...

  10. navicat for mysql 修改密码_怎么修改navicat密码

    方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:my ...

最新文章

  1. android 反编译_Box 黑科技——支持手机端反编译
  2. 手动部署OpenStack环境(四:安装控制器必备软件)
  3. Vue-CLI + Webpack 搭建 Vue 项目最全分析
  4. python制作工资计算器-Python制作个税计算器
  5. Golang和Ethereum中的big.Int
  6. Dizzy Cows(拓扑)
  7. 【Linux】一步一步学Linux——exec命令(208)
  8. cast函数_关闭RTTI后dynamic_cast和typeid报异常
  9. freeswitch php事件订阅,例子3:事件订阅,监听多个事件
  10. 第三篇 :微信公众平台开发实战Java版之请求消息,响应消息以及事件消息类的封装...
  11. ios UICollectionViewLayout 横向瀑布流
  12. 解决laravel框架中Eloquent ORM的save方法无法插入数据的问题
  13. 软件质量管理体系 type:pdf_制造型企业构建完整的质量管理体系的思路要点
  14. win10+乌班图双系统安装(详细)
  15. linux qt qpa linuxfb,Linux qt qt.qpa.plugin: Could not load the Qt platform plugin xcb error解决方...
  16. 回溯算法求解桥本分数式
  17. 正确使用计算机键盘的方法是,电脑键盘指法练习的方法
  18. 再战港交所的高视医疗,近视小伙伴的福音?
  19. 工程数学 | 两种中值定理傻傻分不清
  20. Yii Framework 开发教程(36) Zii组件-DatePicker示例

热门文章

  1. 判断数组类型的4种方法
  2. 谈谈如何用eoLinker管理各类API接口
  3. 众说纷“云”之云安全企业用户追踪寻访
  4. Storm入门(四)WordCount示例
  5. centos6 系统安装 system-config-kickstart 工具
  6. JdbcUtils针对事务问题作出的第三次修改
  7. Ansible Loops
  8. linux内核之进程调度
  9. Linux音频驱动-ALSA概述
  10. 一个apk调用另一个apk的某个activity