如何在MySQL中修改数据库名和表名?

在MySQL中,可以使用RENAME DATABASE命令修改数据库名,使用RENAME TABLE命令修改表名

在MySQL中,修改数据库名表名是常见的操作,以下是详细的步骤和小标题格式的说明:

如何在MySQL中修改数据库名和表名?

一、修改数据库名

1. 方法一:使用mysqldump导出再导入

1.1 创建新库

CREATE DATABASE new_db;

1.2 使用mysqldump导出数据

mysqldump uroot p123456 setgtidpurged=OFF old_db > /tmp/old_db.sql

1.3 导入数据到新库

mysql uroot p123456 new_db < /tmp/old_db.sql

方法二:通过修改表名称间接实现

2.1 创建新库

如何在MySQL中修改数据库名和表名?

CREATE DATABASE new_db;

2.2 使用RENAME TABLE命令修改表名,将表移动到新的库里

RENAME TABLE old_db.tb TO new_db.tb;

2.3 完成后删除旧库

DROP DATABASE old_db;

2.4 使用shell脚本批量修改表名

#!/bin/bash
mysql uroot p123456 e 'create database if not exists new_db;'
list_table=$(mysql uroot p123456 Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='old_db'")
for table in $list_table
do
    mysql uroot p123456 e "rename table old_db.$table to new_db.$table"
done

二、修改表名

1. 方法一:使用RENAME TABLE命令

RENAME TABLE old_table_name TO new_table_name;
RENAME TABLE mysu TO new_su;

2. 方法二:使用ALTER TABLE命令

如何在MySQL中修改数据库名和表名?

ALTER TABLE old_table_name RENAME TO new_table_name;
ALTER TABLE mysu RENAME AS new_su;

注意事项:

不能有任何锁定的表或活动的事务。

需要有对原初表的ALTERDROP权限,以及对新表的CREATEINSERT权限。

如果多表更名中遇到错误,MySQL会对所有被更名的表进行倒退更名,将每件事物退回到最初状态。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1243280.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-10-27 02:10
下一篇 2024-10-27 02:12

相关推荐

发表回复

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

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入