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

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

 代码如下 复制代码

1. RENAME DATABASE db_name TO new_db_name

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

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

 代码如下 复制代码

RENAME DATABASE db_name TO new_db_name;

# or

RENAME SCHEMA db_name TO new_db_name;

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

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;

4. mysqldump导出数据再导入

 代码如下 复制代码
mysqldump -uxxxx -pxxxx -h xxxx db_name > db_name_dump.SQL
mysql -uxxxx -pxxxx -h xxxx -e "CREATE DATABASE new_db_name"
mysql -uxxxx -pxxxx -h xxxx new_db_name < db_name_dump.SQL
mysql -uxxxx -pxxxx -h xxxx -e "DROP DATABASE db_name"

5.使用shell脚本重命名所有的表

 代码如下 复制代码

#!/bin/bash

mysqlconn="mysql -u xxxx -pxxxx -S /var/lib/mysql/mysql.sock -h localhost"
olddb="db_name"
newdb="new_db_name"

#$mysqlconn -e "CREATE DATABASE $newdb"
params=$($mysqlconn -N -e "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='$olddb'")

for name in $params; do
$mysqlconn -e "RENAME TABLE $olddb.$name to $newdb.$name";
done;

#$mysqlconn -e "DROP DATABASE $olddb"

就是方法3的优化版。

时间: 2024-12-25 15:02:48

mysql中如何重命名数据库(表名)命令的相关文章

mysql 查询 数据库.表名 失败

问题描述 mysql 查询 数据库.表名 失败 不知道有没有人遇到过,在navicat for mysql里面,查询本数据库的时候时用 from 数据库名.表名 出现错误 数据名,表名都没有写错 解决方案 select写错了 解决方案二: 多了个 c 那么明显 解决方案三: 在你的表名前后加上点(数字键1左边的那个符号) 解决方案四: http://solodu.iteye.com/blog/520419 解决方案五: select * from [数据库名].dbo.表名 解决方案六: sel

mysql中创建修改删除数据表例子

在PHP中应用数据库时,通常是先在MySQL客户机的控制台中,使用DDL语句创建网站中的数据库.数据表及修改表结构等操作以后,再在PHP脚本中应用.很少直接在PHP中执行DDL语句动态创建数据库.数据表或修改表的操作,通常也只有在制作安装版本的网站时才会这么做. 1.创建表(CREATE TABLE) 数据库创建以后,使用use命令选定这个新创建的数据库作为默认(当前)数据库使用,就可以继续建立其包含的数据表.数据表的创建是使用表的前提,创建数据表主要是定义数据表的结构,包括数据表的名称.字段名

SQL提取数据库表名及字段名等信息代码示例

本文向大家介绍了使用SQL语句提取数据库所有表的表名.字段名的实例代码,在SQLserver 中进行了测试,具体内容如下: --查询所有用户表所有字段的特征 SELECT D.Name as TableName, A.colorder AS ColOrder, A.name AS Name, COLUMNPROPERTY(A.ID,A.Name, 'IsIdentity') AS IsIdentity, CASE WHEN EXISTS (SELECT 1 FROM dbo.sysobjects

MySQL中的创建库、表以及查询的基础语句

MySQL中的创建库.表以及查询语句对我们以后很好的应用数据库是很大有帮助的,本文中是对这些基础语 句的总结,希望会对大家有些帮助 1.创建与删除数据库 创建数据库 mysql> create database testdb; mysql> create database if not exists testdb; mysql> create schema if not exists student character set 'gbk' collate 'gbk_chinese_ci'

ASP获取数据库表名、库名、字段名的方法

 ASP获取数据库表名,字段名 以SQLServer为例: < %   SET Conn=Server.CreateObject("ADODB.Connection")   Conn.Open "Server=IP地址;Provider=sqloledb;Database=库名称;UID=用户名;PWD=密码;"   %> 读SqlServer库中的表名: < %   Set rs=Conn.OpenSchema(20)   While not r

oracle-DCN监听 java中获取到变化的表名为三个?

问题描述 DCN监听 java中获取到变化的表名为三个? 用的oracle DCN监听数据库变化的表,为什么打印出来的表名是??? 我写的哪里不对么?是在刚得到databaseChangeEvent的时候就已经是三个问号了, 但是rowid正常获取出来了,请求各位帮助,谢谢. package com.dtqy.dcn.test; import java.sql.SQLException; import java.util.Properties; import oracle.jdbc.Oracle

ASP获取数据库表名、库名、字段名的方法_应用技巧

ASP获取数据库表名,字段名 以SQLServer为例: 复制代码 代码如下: < %   SET Conn=Server.CreateObject("ADODB.Connection")   Conn.Open "Server=IP地址;Provider=sqloledb;Database=库名称;UID=用户名;PWD=密码;"   %> 读SqlServer库中的表名: 复制代码 代码如下: < %   Set rs=Conn.OpenSch

ASP获取ACCESS数据库表名及结构的代码_应用技巧

<html> <head> <title>获取ACCESS数据库表名_www.jb51.net</title> </head> <body style="text-align:left;margin-left:50px;font-family:'arial';font-size:12px"> <form style="padding:5px;margin:5px;margin-left:0px&qu

SQL Server数字开头的数据库表名的解决方法_MsSql

今天遇到了个郁闷的问题,关于数据库表名的问题.     SQL Server的数据库的表名可以用数字开头,但是在查询的时候,不能直接写表名,如下:         select *         form 1_tablename     在执行过程中,报错.但是给表名加上中括号,就可以了,如下:         select *         from [1_tablename]     用VS中的DataSet开发时,会自动生成SQL语句,但是生成的SQL语句中,有的加上方括号,但是有的没