MySQLでデータベース作成する「CREATE DATABASE」

MySQLでデータベースを作成する方法を紹介します。

【CREATE DATABASE】データベースを作成する

CREATE DATABASE データベース名;

MySQLでデータベースを作成するには、「CREATE」文を使います。このデータベースに対する「CREATE」権限がないと実行できません。

次からデータベース作成時のオプションなどについて説明していきます。

データベースが存在しなければ作成する:IF NOT EXISTS

CREATE DATABASE IF NOT EXISTS データベース名;

データベースが存在しなければ作成します。これを指定せずに、存在するデータベースと同名のデータベースを作成しようとするとエラーとなります。

PHPなどのプログラムからデータベースを作成する場合は、これをつけておいた方が良いでしょう。

デフォルトの文字コードを指定する:CHARACTER SET

CREATE DATABASE データベース名 DEFAULT CHARACTER SET 文字コード;

日本語などのマルチバイト文字をプログラムで扱う場合、文字コードの設定は特に重要です。そのため、データベースの作成時は、必ず「CHARACTER SET」句で文字コードを指定しましょう。

データベース照合順序を指定する:COLLATE

CREATE DATABASE データベース名 COLLATE 照合順序;

データベース照合順序とは、名前の通り照合する順番を指します。簡単に言うと文字列の比較方法の指定です。

例えば、よく見かける「COLLATE utf8_general_ci」という場合。文字コードは「utf8」で、言語は多言語を示す「general」、文字列の比較方法は大文字と小文字が区別されない 「ci」であるということを意味します。

サンプル:WordPressのデータベースを作成する

例えば、WordPressのデータベースを作成する時に、文字コードがUTF8で照合順序は「utf8_general_ci」とする場合は以下のようになります。

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

また、「mysqladmin」コマンドでデータベースを作成することもありますが、あまり一般的ではありません。