网站建设资讯

NEWS

网站建设资讯

mysql怎么重命名 mysql数据库重新命名

SQL中在做查询时怎样给某一个字段重命名

SQL中在做查询时怎样给某一个字段重命名

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网站空间、营销软件、网站建设、北辰网站维护、网站推广。

MySQL中,如何使用SQL语句来对表中某一个字段进行重命名呢?我们将使用alter table 这一SQL语句。

重命名字段的语法为:alter table 表名 change 字段名 字段新名称 字段的类型。

现在我们来尝试把test表中的.t_name字段重命名为t_name_new字段。

1、首先查看一下当前test表的结构

mysql describe test;

+------------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------+-------------+------+-----+---------+-------+

| t_id | int(11) | YES | | NULL | |

| t_name | var20) | YES | | NULL | |

| t_password | 32) | YES | | NULL | |

| t_birth | date | YES | | NULL | |

+------------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

2、使用alter table语句来修改字段名称

mysql alter table test change t_name t_name_new var20);

Query OK, 0 rows affected (0.11 sec)

Records: 0 Duplicates: 0 Warnings: 0

3、查看修改过后的结果

mysql describe test;

+------------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------+-------------+------+-----+---------+-------+

| t_id | int(11) | YES | | NULL | |

| t_name_new | var20) | YES | | NULL | |

| t_password | 32) | YES | | NULL | |

| t_birth | date | YES | | NULL | |

+------------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

至此,我们可以顺利的修改表中字段名称了。

关于MySQL中使用SQL语句对字段进行重命名,本文就介绍这么多,希望对大家有所帮助,谢谢! ;

重命名mysql数据库的五个方法

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

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;

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的优化版。

mysql中重命名的关键字是

采用rename关键字,具体命令格式如下:

alter table 旧表名 rename [to | as] 新表名;

rename table 旧表名 to 新表名。

我想修改mysql数据库的名字,可以怎么修改

被取消的命令MySQL 之前提供了一个 rename database db_old to db_new 的命令来直接对数据库改名,可能由于实现的功能不完备(比如,这条命令可能是一个超大的事务,或者是由于之前的表很多还是 MyISAM 等),后来的版本直接取消了这条命令。更改数据库名大致上有以下几种方案:

一、mysqldump 导入导出要说最简单的方法,就是直接用 mysqldump 工具,在旧库导出再往新库导入(最原始、最慢、最容易想到)的方法:旧库 yttdb_old 导出(包含的对象:表、视图、触发器、事件、存储过程、存储函数)

二、改整库的表名利用 MySQL 更改表名的方法来批量把旧库的所有表依次遍历,改名为新库的表。这种方法比第一种要快很多倍,但是没有第一步操作起来那么顺滑,不能一步到位。比如,要把数据库 yttdb_old 改名为 yttdb_new,如果数据库 yttdb_old 里只有磁盘表,那很简单,直接改名即可。或者写个脚本来批量改,非常简单。但是一般旧库里不只有磁盘表,还包含其他各种对象。这时候可以先考虑把旧库的各种对象导出来,完了在逐一改完表名后导进去。

三、历史方案其实在 MySQL 早期还有一种方法。假设 MySQL 部署好了后,所有的 binlog 都有备份,并且二进制日志格式还是 statement 的话,那就可以简单搭建一台从机,让它慢慢追主机到新的库名,等确切要更改旧库的时候,再直接晋升从机为主机即可。这里只需要从机配置一个参数来把旧库指向为新库:replicate-rewrite-db=yttdb_old-yttdb_new不过这种局限性很大,不具备标准化,不推荐。

总结其实针对 MySQL 本身改库名,大致就这么几种方法:

如果数据量小,推荐第一种;

数据量大,则推荐第二种;

数据量巨大,那就非 MySQL 本身能解决的了。

可通过部署第三方 ETL 工具,通过解析 MySQL 二进制日志或其他的方式来把旧库数据直接读取到新库达到改名的目的等等。


分享标题:mysql怎么重命名 mysql数据库重新命名
转载来源:http://njwzjz.com/article/hjegcd.html