前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql修改表名和库名

mysql修改表名和库名

作者头像
全栈程序员站长
发布2022-09-03 16:20:36
4.4K0
发布2022-09-03 16:20:36
举报
文章被收录于专栏:全栈程序员必看

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

改变表名 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.cn/139744.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档