MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
MySQL - データベースのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
MySQL - データベース
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == <br><br> == データベースの作成 == ==== 文字コード ==== データベースの作成時において、文字コードを指定する。<br> <syntaxhighlight lang="mysql"> CREATE DATABASE <データベース名> CHARACTER SET=utf8mb4 -- 文字コードをutf8mb4に指定する場合 </syntaxhighlight> <br> MySQLのデフォルトの文字コードを確認する。<br> <syntaxhighlight lang="mysql"> Show Variables Like "chara%"; </syntaxhighlight> <br> MySQLのデフォルトの文字コードを設定する場合は、my.cnfファイルを編集する。<br> <u>my.cnfファイルを変更した後は、MySQLを再起動する必要がある。</u><br> <syntaxhighlight lang="ini"> # my.cnfファイル [mysqld] character-set-server=utf8mb4 # MySQLサーバのデフォルトの文字コードを指定する [client] default-character-set=utf8mb4 # MySQLクライアントのデフォルトの文字コードを指定する </syntaxhighlight> <br> 既存のデータベースの文字コードは、INFORMATION_SCHEMAデータベースのSCHEMATAテーブルから確認することができる。<br> <syntaxhighlight lang="mysql"> SELECT SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '<データベース名>'; </syntaxhighlight> <br> 既存のデータベースの文字コードを変更する。<br> <syntaxhighlight lang="mysql"> ALTER DATABASE <データベース名> [[DEFAULT] CHARACTER SET <文字コード>] [[DEFAULT] COLLATE <照合順序>] # 例: 文字コードはutf8mb4, 照合順序はutf8mb4_general_ci ALTER DATABASE <データベース名> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; </syntaxhighlight> <br> ==== 既存のデータベースの存在を確認して作成 ==== 既存のデータベースが存在していない場合はデータベースを作成する。<br> これは、データベースの重複、または、既存のデータベースを上書き/削除することを防ぐことができる。<br> CREATE DATABASE IF NOT EXISTS <データベース名> CHARACTER SET=utf8mb4 <br> ==== データベースの暗号化 ==== 暗号化プラグインが必要である。<br> なお、MySQL8では標準で暗号化プラグインがインストールされている。<br> CREATE DATABASE IF NOT EXISTS <データベース名> CHARACTER SET=utf8mb4 ENCRYPTION='Y' -- 暗号化を有効にする場合 -- 無効にする場合は、Nを指定する <br><br> == 照合順序 == ==== 照合順序とは ==== MySQLにおいて、照合順序(Collation)はテーブルや列ごとに設定することができる。<br> 照合順序は、文字列の比較やソートの際に使用され、異なる言語や地域に合わせてテキストの比較を行うために重要である。<br> <br> MySQLでは、様々な照合順序が提供されている。<br> 例えば、大文字小文字を区別やアクセントを考慮するかどうか等の違いがある。<br> <br> * utf8mb4_general_ci *: 大文字小文字を区別せず、アクセントを区別しない。 *: 通常の比較の場合には適しているが、文字の並び順は一般的な場合に従う。 *: <br> * utf8mb4_bin *: バイナリ比較を行う。 *: 大文字小文字やアクセント等を区別して、バイト単位で比較する。 *: これは厳密なバイナリ比較が必要な場合に使用される。 *: <br> * utf8_general_ci *: utf8mb4と同様、大文字小文字を区別せず、アクセントを区別しない。 *: ただし、utf8mb4よりも少ない文字セットを使用する。 *: <br> * latin1_swedish_ci *: ラテン1文字セットに基づいた照合順序であり、スウェーデンの標準に従う。 *: 大文字小文字を区別せず、アクセントを区別しない。 <br> 照合順序の詳細を知りたい場合は、MySQLの公式ドキュメントを参照すること。<br> * MySQL 8 *: https://dev.mysql.com/doc/refman/8.0/en/charset-mysql.html <br> ==== データベース作成時における照合順序の指定 ==== 以下の例では、データベースの作成時において、照合順序をutf8mb4_unicode_ciに指定している。<br> <syntaxhighlight lang="mysql"> CREATE DATABASE <データベース名> { CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; }; </syntaxhighlight> <br> <u>※注意</u><br> <u>照合順序は、データベース、テーブル、列ごとに指定することができ、異なる部分で異なる照合順序が設定されることがある。</u><br> <br> ==== デフォルトの照合順序 ==== データベースやテーブルの照合順序が指定されていない場合、デフォルトの照合順序が使用される。<br> <br> 一般的に、MySQLのデフォルトの照合順序は、サーバの文字セットに基づいている。<br> 例えば、MySQLデータベースを作成時に指定された文字セットに応じて、デフォルトの照合順序が選択される。<br> <br> 一般的なデフォルトの文字セットと照合順序の組み合わせには、以下に示すようなものがある。<br> ほとんどの場合、UTF-8マルチバイト文字セットとその一般的な照合順序がデフォルトとして使用される。<br> * utf8mb4 * utf8mb4_general_ci <br> デフォルトの照合順序を確認する場合は、以下に示すクエリを実行する。<br> <syntaxhighlight lang="mysql"> SHOW VARIABLES LIKE 'collation%'; </syntaxhighlight> <br> このクエリは、サーバの照合順序に関する情報を表示する。<br> デフォルトの照合順序は、<code>collation_server</code>として表示される。<br> <br> * character_set_client *: クライアント側で発行したSQL文はこの文字コードになる。 * character_set_connection *: クライアントから受け取った文字をこの文字コードへ変換する。 * character_set_database *: 現在参照しているDBの文字コード * character_set_results *: クライアントへ送信する検索結果はこの文字コードになる。 * character_set_server *: DB作成時のデフォルトの文字コード * character_set_system *: システムの使用する文字セットのことであり、utf8やutf8mb3が使用される。 <br> ==== 既存のデータベースの照合順序を確認する ==== データベースの照合順序は、INFORMATION_SCHEMAデータベースのSCHEMATAテーブルから確認することができる。<br> <syntaxhighlight lang="mysql"> SELECT SCHEMA_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '<データベース名>'; </syntaxhighlight> <br> ==== 既存のデータベースの照合順序を変更する ==== データベースの照合順序を変更する。<br> <syntaxhighlight lang="mysql"> ALTER DATABASE <データベース名> [[DEFAULT] CHARACTER SET <文字コード>] [[DEFAULT] COLLATE <照合順序>] ALTER DATABASE <データベース名> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; </syntaxhighlight> <br><br> == データベースの削除 == <u><code>DROP DATABESE</code>文により削除したデータベースは、復元することができないことに注意すること。</u><br> <syntaxhighlight lang="mysql"> DROP DATABASE <データベース名>; </syntaxhighlight> <br><br> == データベースの確認 == MySQLに存在する全てのデータベースを確認する。<br> <syntaxhighlight lang="mysql"> SHOW DATABASES; </syntaxhighlight> <br> 現在使用しているデータベースを確認する。<br> <syntaxhighlight lang="mysql"> USE <データベース名>; SELECT DATABASE(); </syntaxhighlight> <br><br> == データベースのバージョンの確認 == 現在使用しているデータベースのバージョンを確認する。<br> <syntaxhighlight lang="mysql"> USE <データベース名>; SELECT VERSION(); </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:MySQL]]
MySQL - データベース
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse