mysql alter date_MYSQL ALTER DATABASE介绍

语法

ALTER {DATABASE | SCHEMA} [db_name]

alter_specification ...

ALTER {DATABASE | SCHEMA} db_name

UPGRADE DATA DIRECTORY NAME

alter_specification:

[DEFAULT] CHARACTER SET [=] charset_name

| [DEFAULT] COLLATE [=] collation_name

1

2

3

4

5

6

7

8

ALTER{DATABASE|SCHEMA}[db_name]

alter_specification...

ALTER{DATABASE|SCHEMA}db_name

UPGRADEDATADIRECTORYNAME

alter_specification:

[DEFAULT]CHARACTERSET[=]charset_name

|[DEFAULT]COLLATE[=]collation_name

ALTER DATABASE可以更改数据库的信息。 这些信息存储在数据库目录的db.opt文件中。 要使用ALTER DATABASE,需要对数据库具有ALTER权限。 ALTER SCHEMA和ALTER DATABASE的功能一致。

有时也可以省略数据库名称,在这种情况下,该语句适用于默认数据库。

字符集

CHARACTER SET子句更改默认数据库字符集。 COLLATE子句更改默认数据库排序规则。 第10章,字符集,归类和Unicode,讨论了字符集和归类名称。

您可以分别使用SHOW CHARACTER SET和SHOW COLLATION语句查看可用的字符集和排序规则。

如果更改数据库的默认字符集或排序规则,则必须删除并重新创建使用数据库默认值的存储过程,以便它们使用新的默认值。 (在存储过程中,如果未明确指定字符集或排序规则,则具有字符数据类型的变量将使用数据库默认值。

从MySQL 5.1之前的版本升级

包含UPGRADE DATA DIRECTORY NAME子句的语法更新与数据库关联的目录的名称,以使用MySQL 5.1中实现的编码将数据库名称映射到数据库目录名称。 本条款在以下条件下使用:

它用于将MySQL从较早版本升级到5.1或更高版本。

如果名称中包含需要编码的特殊字符,则用于将数据库目录名称更新为当前编码格式。

该语句由mysqlcheck使用(由mysql_upgrade调用) 。

例如,如果MySQL 5.0中的数据库名称为a-b-c,则该名称包含-(破折号)字符的实例。 在MySQL 5.0中,数据库目录也称为a-b-c,它不一定对所有文件系统都安全。 在MySQL 5.1和更高版本中,相同的数据库名称被编码为a @ 002db @ 002dc以产生文件系统无关的目录名称。

当MySQL安装从旧版本升级到MySQL 5.1或更高版本时,服务器将显示诸如abc(采用旧格式)的名称为#mysql50#abc,并且您必须使用#mysql50#引用该名称。 字首。 在这种情况下,请使用UPGRADE DATA DIRECTORY NAME明确告诉服务器将数据库目录名称重新编码为当前编码格式:

ALTER DATABASE `#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;

1

ALTERDATABASE`#mysql50#a-b-c` UPGRADE DATA DIRECTORY NAME;

执行完此语句后,可以将数据库称为a-b-c,而没有特殊的#mysql50#前缀。

注意:在MySQL 5.7.6中不赞成使用UPGRADE DATA DIRECTORY NAME子句,在MySQL的未来版本中将删除该子句。 如果需要转换MySQL 5.0数据库或表名,一种解决方法是在升级到最新版本之前将MySQL 5.0安装升级到MySQL 5.1。

浏览量:

116

0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值