在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;
注意事项:
不能有任何锁定的表或活动的事务。
需要有对原初表的ALTER
和DROP
权限,以及对新表的CREATE
和INSERT
权限。
如果多表更名中遇到错误,MySQL会对所有被更名的表进行倒退更名,将每件事物退回到最初状态。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1243280.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复