删除phpMyAdmin中DB中所有表的公共前缀

时间:2015-11-18 14:24:03

标签: mysql phpmyadmin

我的所有表都有前缀bn_。例如,表格将命名为bn_blast

要运行的任何SQL命令都会删除所有表中的所有前缀吗?

2 个答案:

答案 0 :(得分:2)

这是一个单行。

在控制台中:

  

mysql -u root -p -AN -e"选择concat(' RENAME TABLE',concat(table_name,concat(' TO',concat(substr(table_name,4),';')) ))来自information_schema.tables,其中table_schema =' db_name' " > renaming.sql

出现提示时输入密码。

打开" renaming.sql"文件,在第一行,添加"使用db_name;"然后保存。 然后,执行以下操作:

  

mysql -u root -p< renaming.sql

出现提示时输入密码。

现在,检查你的表格:

  

显示表格;

输出:之前

mysql> show tables;
+---------------------+
| Tables_in_STACK     |
+---------------------+
| db_answer           |
| db_answers          |
| db_circle           |
| db_fee              |
| db_housing          |
| db_im_originals     |
| db_im_savegroups    |
| db_im_savespecs     |
| db_location_share   |
| db_order1           |
| db_orderitems       |
| db_patientinfo      |
| db_quest            |
| db_share            |
| db_t2               |
| db_tbdatabaseerrors |
| db_tblchanges       |
| db_test             |
| db_test1            |
| db_test_fid         |
| db_test_table       |
| db_testing          |
| db_user             |
+---------------------+

输出:

之后
mysql> show tables;
+-------------------+
| Tables_in_STACK   |
+-------------------+
| answer            |
| answers           |
| circle            |
| fee               |
| housing           |
| im_originals      |
| im_savegroups     |
| im_savespecs      |
| location_share    |
| order1            |
| orderitems        |
| patientinfo       |
| quest             |
| share             |
| t2                |
| tbdatabaseerrors  |
| tblchanges        |
| test              |
| test1             |
| test_fid          |
| test_table        |
| testing           |
| user              |
+-------------------+

答案 1 :(得分:1)

screenshot for steps 1 to 4

使用phpMyAdmin删除MySQL数据库中所有表的公共前缀:

  1. 选择数据库。

  2. 转到" 结构"标签

  3. 滚动到底部,然后点击" 全部检查"复选框。这将选择所有表格。

  4. 在" 已选中:"旁边的下拉列表,选择" 替换表格前缀"。这将带您进入"替换表前缀"页。

  5. 在" 来自"字段,键入要删除的前缀,例如shop_

  6. 在" "字段,留空。

  7. 点击" 提交" ...然后繁荣!完成!

  8. 您可以以类似的方式添加或重命名前缀。

    提示:如果您的数据库有许多其他表,并且您只想选择包含某个字符串的表,则可以使用调试JavaScript控制台。例如,要选择包含shop_的所有表,请运行以下命令:

    $('form[name=tablesForm]').find('th:contains(shop_)').closest('tr').children(':first-child')
        .find(':input[type=checkbox]').prop('checked', true)