mysql数据库修改个人成绩_MySQL数据库修改数据库名的三种方式

在Innodb数据库引擎下修改数据库名的方式与MyISAM引擎下修改数据库的方式完全不一样,如果是MyISAM可以直接去数据库目录中mv就可以,Innodb如果用同样的方法修改会提示相关表不存在。

第一种方法:

rename database olddbname to newdbname

这个是5.1.7到5.1.23版本可以用,但是官方不推荐,会有丢失数据的危险

第二种:

1.创建需要改成新名的数据库

2.mysqldum到处要改名的数据库

3.删除原来的旧库

这种方法是安全的,但是如果数据量大,会很耗时

第三种:

#!/bin/bash

# 假设将sakila数据库名改为new_sakila

# MyISAM直接更改数据库目录下的文件即可

mysql -uroot -p123456 -e 'create database if not exists new_sakila'

list_table=$(mysql -uroot -p123456 -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='sakila'")

for table in $list_table

do

mysql -uroot -p123456 -e "rename table sakila.$table to new_sakila.$table"

这里用到了rename table更改表名的命令,但是如果新表名后面加数据库,将会将原来的数据库的表移动到新的数据库,所有这种方法既安全又快速。

作者:Atlas

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值