mysql修改表名和库名

mysql修改表名和库名改变表名mysql>ALTER  TABLE  `原表名`  RENAME  TO  `新表名`;改库名可以把原库倒出来然后恢复到新库里showvariableslike’table_type’;+—————+——–+ |Variable_name|Value | +—————+——-

大家好,又见面了,我是你们的朋友全栈君。

改变表名
mysql> ALTER   TABLE   `原表名`   RENAME   TO   `新表名`;

改库名
可以把原库倒出来然后恢复到新库里
show variables like ‘table_type’;
+—————+——–+
 | Variable_name | Value  |
 +—————+——–+
 | table_type    | MyISAM |
+—————+——–+
 1 row in set (0.00 sec)
如果是MyISAM的话,只要修改DATA目录下面的那个库名的文件夹的名字就OK了。
找数据的路径:
show variables like ‘data%’;
 +—————+—————–+
 | Variable_name | Value           |
 +—————+—————–+
 | datadir       | /var/lib/mysql/ |
+—————+—————–+
 1 row in set (0.00 sec)

    如果是INNODB的话,其实是无法修改库名的.
一种方法是比较保守的,直接把老库的内容mysqldump到新库里面。
    还有一种类似上面方法,先把表的存储引擎修改为MyISAM,然后再改库目录的名字,最后再把表的存储引擎改为INNODB。
   其实还有最后一种方法,如下,最后一种方法还是比较好些,速度也很快。

假设源库名是’ceshi1’,目标库名是’ceshi2’
    首先创建目标库
    create database ceshi1;
    获取所有源库的表名
    use information_schema;
    select table_name from TABLES where TABLE_SCHEMA=ceshi1;
    然后按照以下命令一个个修改
    rename table ceshi1.[tablename] to ceshi1.[tablename];
    一个个执行下来之后表就转到新的库里面了.

手册摘录:
This statement was added in MySQL 5.1.7 but was found to be dangerous and was removed in MySQL 5.1.23. It was intended to enable upgrading pre-5.1 databases to use the encoding implemented in 5.1 for mapping database names to database directory names (see Section 8.2.3, “Mapping of Identifiers to File Names”). However, use of this statement could result in loss of database contents, which is why it was removed. Do not use RENAME DATABASE in earlier versions in which it is present.

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139744.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ViewPager实现页面切换

    ViewPager实现页面切换

    2022年1月8日
    151
  • MySQL启动和关闭命令

    MySQL启动和关闭命令文章目录一.Windws系统二.Linux系统1.service命令2./etc/init.d/mysql3.mysqld命令4.mysqld_safe命令5.mysqld_multi命令6.mysqladmin命令7.杀进程8.总结备注:测试数据库版本为MySQL8.0这个blog我们来聊聊MySQL的启动和关闭命令一.Windws系统–启动MySQLnetstartmysql–关闭MySQLnetstopmysql二.Linux系统1.service命令–

    2022年5月21日
    48
  • 批量梯度下降法(BGD)、随机梯度下降法(SGD)和小批量梯度下降法(MBGD)

    批量梯度下降法(BGD)、随机梯度下降法(SGD)和小批量梯度下降法(MBGD)梯度下降法作为机器学习中较常使用的优化算法,其有着三种不同的形式:批量梯度下降(BatchGradientDescent)、随机梯度下降(StochasticGradientDescent)以及小批量梯度下降(Mini-BatchGradientDescent)。其中小批量梯度下降法也常用在深度学习中进行模型的训练。接下来,我们将对这三种不同的梯度下降法进行理解。  为了便于理解,…

    2025年10月22日
    3
  • HTML 有序列表 字母,HTML有序列表| HTML编号列表

    HTML 有序列表 字母,HTML有序列表| HTML编号列表本文概述HTML排序列表或编号列表以编号格式显示元素。HTMLol标签用于有序列表。我们可以使用有序列表以数字顺序格式或字母顺序格式或强调顺序的任何格式来表示项目。编号列表可以有不同类型:数值(1,2,3)大写罗马数字(IIIIII)小罗马数字(iiiiii)大写字母(ABC)小写字母(abc)为了表示不同的有序列表,标记中有5种类型的属性。类型描述输入“1”这是默认类…

    2022年6月17日
    27
  • Django(55)GenericAPIView源码分析

    Django(55)GenericAPIView源码分析源码分析GenericAPIView继承自APIView,也就是在APIView基础上再做了一层封装,源码如下:classGenericAPIView(views.APIView):query

    2022年7月30日
    5
  • JS数组合并(5种)

    JS数组合并(5种)前言项目过程中,经常会遇到JS数组合并的情况,时常为这个纠结。这里整理一下。简单而实用的for最容易想到的莫过于for了。会变更原数组,当然也可以写成生成新数组的形式。letarr=[1,2]letarr2=[3,4]for(letiinarr2){arr.push(arr2[i])}console.log(arr)//[1,2,3,4]arr.concat(arr2)会生成新的数组。letarr=[1,2]let

    2022年6月30日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号