MySQL 使用SQL语句修改表名的实现


Posted in MySQL onApril 07, 2021

MySQL中可以使用rename table这个SQL语句来修改表名。

rename table这个SQL语句来修改表名的基本语法是:

RENAME TABLE <旧表名> TO <新表名>;

我们来把test表修改为test1表。

1、首先查看一下当前数据库中有哪些表。

mysql> show tables;
+-------------------+
| Tables_in_cainiao |
+-------------------+
| test       |
| test2       |
+-------------------+
2 rows in set (0.00 sec)

2、执行重命名操作,把test修改为test1。

mysql> rename table test to test1;
Query OK, 0 rows affected (0.08 sec)

3、再次查看一下结果。

mysql> show tables;
+-------------------+
| Tables_in_cainiao |
+-------------------+
| test1       |
| test2       |
+-------------------+
2 rows in set (0.00 sec)

补充:MySQL中修改表名,表属性名等的操作

alter table 表名 change 原列名 新列名 类型; --修改表的列属性名

alter table 表名 modify 列名 类型 ; --修改表的类类型

alter table 表名 drop 列名; --删除表的某一列

alter table 表名 add 列名 类型;--添加某一列

alter table 表名 rename 新表名; --修改表名

补充:MYSQL批量修改表前缀与表名sql语句

修改表名

ALTER TABLE 原表名 RENAME TO 新表名;

一句SQL语句只能修改一张表

show tables;

MySQL 使用SQL语句修改表名的实现

1.

SELECT
  CONCAT(
    'ALTER TABLE ',
    table_name,
    ' RENAME TO db_',
    substring(table_name, 4),
    ';'
  )
FROM
  information_schema. TABLES
WHERE
  table_name LIKE 'ct%';

MySQL 使用SQL语句修改表名的实现

批量复制一下到Notepad++中,只保留sql语句,再复制到mysql中执行

2.php脚本批量修改mysql数据库表前缀

<?php
//设置好相关信息
$dbserver='localhost';//连接的服务器一般为localhost
$dbname='corethink';//数据库名
$dbuser='root';//数据库用户名
$dbpassword='root';//数据库密码
$old_prefix='ct_';//数据库的前缀
$new_prefix='new_';//数据库的前缀修改为
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 tablesn";
  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];
  }
}
if($preg){        
   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;
  }
}
?>

由于mysql_list_tables方法已经过时,运行以上程序时会给出方法过时的提示信息

Deprecated: Function mysql_list_tables() is deprecated in … on line xxx

在php.ini中设置error_reporting,不显示方法过时提示信息

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

3.批量删除表

SELECT
  CONCAT(
    'drop table ',
    table_name,
    ';'
  )
FROM
  information_schema. TABLES
WHERE
  table_name LIKE 'uc_%';

执行查询,会自动生成出 drop table table_name这样的SQL语句

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

MySQL 相关文章推荐
mysql知识点整理
Apr 05 MySQL
MySQL查询学习之基础查询操作
May 08 MySQL
MySQL优化之如何写出高质量sql语句
May 17 MySQL
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
May 25 MySQL
浅谈MySQL next-key lock 加锁范围
Jun 07 MySQL
ORM模型框架操作mysql数据库的方法
Jul 25 MySQL
MySQL中的引号和反引号的区别与用法详解
Oct 24 MySQL
mysql sum(if())和count(if())的用法说明
Jan 18 MySQL
MySQL高级进阶sql语句总结大全
Mar 16 MySQL
MySQL的存储函数与存储过程的区别解析
Apr 08 MySQL
MySQL聚簇索引和非聚簇索引的区别详情
Jun 14 MySQL
MySQL 原理与优化之Update 优化
Aug 14 MySQL
详解Mysql 函数调用优化
Apr 07 #MySQL
MySQL复制问题的三个参数分析
Apr 07 #MySQL
MySQL pt-slave-restart工具的使用简介
Apr 07 #MySQL
MySQL主从复制断开的常用修复方法
Apr 07 #MySQL
MySQL infobright的安装步骤
Apr 07 #MySQL
MySQL表的增删改查基础教程
mysql批量新增和存储的方法实例
Apr 07 #MySQL
You might like
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
vue element table中自定义一些input的验证操作
2020/07/18 Javascript
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
浅谈python为什么不需要三目运算符和switch
2016/06/17 Python
python3爬取数据至mysql的方法
2018/06/26 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
python迭代器常见用法实例分析
2019/11/22 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
极简的HTML5模版
2015/07/09 HTML / CSS
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
工业自动化专业毕业生推荐信
2013/11/18 职场文书
寄语是什么意思
2014/04/10 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
个人党性分析材料
2014/12/19 职场文书
保证书格式
2015/01/16 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
超市收银员岗位职责
2015/04/07 职场文书
校运会加油稿大全
2015/07/22 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书