修改数据库|模式db_name]alter_specification...修改数据库|架构db_name升级数据目录名称alter_specification:[默认]字符集[=]charset_name|[默认]collate [=]collation_name
修改数据库
を使用すると,データベースの全体的な特性を変更できます。これらの特性は,データベースディレクトリ内のdb.opt
ファイルに格納されます。修改数据库
を使用するには,そのデータベースに対する改变
権限が必要です。改变模式
は修改数据库
のシノニムです。
最初の構文からはデータベース名を省略できます。その場合,このステートメントはデフォルトデータベースに適用されます。
各国語に関する特性
字符集
句は,デフォルトのデータベース文字セットを変更します。核对
句は,デフォルトのデータベース照合順序を変更します。セクション10.1“文字セットのサポート”では,文字セットと照合順序名について説明しています。
どのような文字セットと照合順序を使用できるかは,それぞれ显示字符集
および显示排序
ステートメントを使用して確認できます。詳細は,セクション13.7.5.4 "显示字符集構文"およびセクション13.7.5.5 " show collation構文"を参照してください。
データベースのデフォルトの文字セットまたは照合順序を変更する場合,データベースのデフォルトを使用するストアドルーチンを削除して,新しいデフォルトを使用するように再作成する必要があります。(ストアドルーチンでは,文字セットまたは照合順序が明示的に指定されていない場合,文字データ型を伴う変数は,データベースのデフォルトを使用します。“create procedureおよびcreate function構文”を参照してください.)
MySQL 5.1より古いバージョンからのアップグレード
升级数据目录名称
句を含む構文は,データベースに関連付けられたディレクトリの名前を,データベース名をデータベースディレクトリ名にマップするためのMySQL 5.1で実装されたエンコーディングを使用するように更新します(セクション9.2.3“識別子とファイル名のマッピング”を参照してください)。この句は,次の条件の下で使用されることを目的にしています。
MySQLを古いバージョンから5.1以降にアップグレードすることを目的にしている。
データベースディレクトリ名にエンコーディングが必要な特殊文字が含まれている場合は,その名前を現在のエンコーディング形式に更新することを目的にしている。
このステートメントが(mysql_upgradeから呼び出された)mysqlcheckによって使用されている。
たとえば,MySQL 5.0でのデータベース名がa - b - c
である場合,その名前には-
(ダッシュ)文字のインスタンスが含まれています。MySQL 5.0では,データベースディレクトリの名前も,必ずしもすべてのファイルシステムで安全ではないa - b - c
になります。MySQL 5.1以降では,ファイルシステムに依存しないディレクトリ名を生成するために,同じデータベース名がa@002db@002dc
としてエンコードされます。
MySQLインストールが古いバージョンからMySQL 5.1以降にアップグレードされると,サーバーではa - b - c
などの(古い形式の)名前が# mysql50 # a - b - c
として表示されるため,# mysql50 #
プリフィクスを使用して名前を参照する必要があります。この場合は,升级数据目录名称
を使用して,データベースディレクトリ名を現在のエンコーディング形式に再エンコーディングするようサーバーに明示的に指示します。
升级数据库的数据目录
このステートメントを実行したあとは,特殊な# mysql50 #
プリフィクスなしで,そのデータベースをa - b - c
として参照できます。