云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

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

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

在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 创建新库

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命令

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

注意事项:

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

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

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

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《如何在MySQL中修改数据库名和表名?》
文章链接:https://www.yunzhuji.net/xunizhuji/269956.html

评论

  • 验证码