首页 > 数据库 > MySQL > 正文

mysql中如何重命名数据库(表名)命令

2024-07-24 12:37:54
字体:
来源:转载
供稿:网友
重命名数据库的方法有很多种,下面我来给各位同学详细介绍在mysql利用各种各样的命令来重命名数据库与表名的操作方法,各位朋友不防进入参考。

五个改mysql数据库名的方法:

1. RENAME DATABASE db_name TO new_db_name

这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了,据说有可能丢失数据,还是不要用的好.

很简单,RENAME一下就好了,语法:

  1. RENAME DATABASE db_name TO new_db_name; 
  2. # or 
  3. RENAME SCHEMA db_name TO new_db_name; 

这次一边做网页,也算是一边学习MySQL了.

2.如果所有表都是MyISAM类型的话,可以改文件夹的名字.

关闭mysqld,把data目录中的db_name目录重命名为new_db_name,开启mysqld.

3.重命名所有的表,代码如下:

  1. CREATE DATABASE new_db_name; 
  2. RENAME TABLE db_name.table1 TO new_db_name.table1, 
  3. db_name.table2 TO new_db_name.table2; 
  4. DROP DATABASE db_name; 

4.mysqldump导出数据再导入,代码如下:

  1. mysqldump -uxxxx -pxxxx -h xxxx db_name > db_name_dump.SQL 
  2. mysql -uxxxx -pxxxx -h xxxx -e "CREATE DATABASE new_db_name" 
  3. mysql -uxxxx -pxxxx -h xxxx new_db_name < db_name_dump.SQL 
  4. mysql -uxxxx -pxxxx -h xxxx -e "DROP DATABASE db_name" 

5.使用shell脚本重命名所有的表,代码如下:

  1. #!/bin/bash 
  2. mysqlconn="mysql -u xxxx -pxxxx -S /var/lib/mysql/mysql.sock -h localhost"  --Vevb.com 
  3. olddb="db_name" 
  4. newdb="new_db_name" 
  5. #$mysqlconn -e "CREATE DATABASE $newdb" 
  6. params=$($mysqlconn -N -e "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='$olddb'"
  7. for name in $params; do 
  8. $mysqlconn -e "RENAME TABLE $olddb.$name to $newdb.$name"
  9. done; 
  10. #$mysqlconn -e "DROP DATABASE $olddb" 

就是方法3的优化版.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表