7 回答
TA贡献1811条经验 获得超4个赞
常见的主要有三种方法:
如果所有表都是MyISAM类型的话,可以直接修改文件夹的名字。
关闭mysql→把data目录中的db_name目录重命名为new_db_name→开启mysql新建数据库,在新的数据库里重命名所有旧数据库中的表,再删除旧的数据库。具体操作命令如下:创建新的数据库→重命名数据表名称→删除旧的数据库。
CREATE DATABASE new_db_name;
RENAME TABLE db_name.table1 TO new_db_name.table1,db_name.table2 TO new_db_name.table2;
DROP DATABASE db_name;利用mysqldump命令从旧的数据导出数据,再导入新数据库。具体操作命令如下:导出数据→创建新的数据库→导入数据→删除旧的数据库。
mysqldump -u root -p -h ip db_name > db_name_dump.SQL
mysql -u root -p -h ip -e “CREATE DATABASE new_db_name”
mysql -u root -p -h ip new_db_name < db_name_dump.SQL
mysql -u root -p -h ip -e “DROP DATABASE db_name”
TA贡献1895条经验 获得超3个赞
提供三种方法:
1. RENAME DATABASE db_name TO new_db_name
这个。。这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了。
据说有可能丢失数据。还是不要用的好。
2.如果所有表都是MyISAM类型的话,可以改文件夹的名字
关闭mysqld
把data目录中的db_name目录重命名为new_db_name
开启mysqld
3.重命名所有的表
CREATE DATABASE new_db_name;
RENAME TABLE db_name.table1 TO new_db_name.table1,
db_name.table2 TO new_db_name.table2;
DROP DATABASE db_name;
TA贡献1906条经验 获得超3个赞
mysql中没有直接修改数据库的命令,如果想做可以变相实现,就是用mysqldump -h ip -u username -ppasswd databases>D:/back.sql用这个命令备份数据库,然后创建新的数据库create databases new_databases;再上传备份数据库mysql -u username -ppasswd new_databases<D:/back.sqlok,删除旧的数据库就好了
TA贡献1817条经验 获得超14个赞
如果所有表都是MyISAM类型的话,可以改数据库文件夹的名字
把\MySQL\data目录中的db_name目录重命名为new_db_name
完了之后重命名所有的表
rename table srcdb.[tablename] to trgdb.[tablename];
一个个执行下来之后表就转到新的库里面了.
添加回答
举报