1. ホーム
  2. コース一覧
  3. データベース基礎コース
  4. CREATE DATABASE文でデータベースを作成しよう

データベース基礎コース2/13

CREATE DATABASE文でデータベースを作成しよう

ここではデータベースの作成方法について学んでいきます。

CREATE DATABASE文を使うことによって、データベースを作成することができます。

今回紹介する内容は以下の通りです。

  1. CREATE DATABASE文の基本的な使い方
  2. オプションとDBの仕様を指定する方法。

CREATE DATABASE文の基本的な使い方

CREATE DATABASE 文は、MySQLでデータベースを新規に作成する際に使用します。

CREATE DATABASE データベース名;

「データベース名」に、作成したい名前を指定します。データベース名は64文字以内で指定してください。

SQL文の一般規則について

データベースに対するクエリ(処理要求)の一般規則について解説します。

  • SQL文末尾のセミコロン( ; )

    SQL文ではほぼ全ての末尾にセミコロン( ; )をつける必要があります。

  • コマンドの大文字表記

    CREATE DATADASEのような大文字で表記されている部分をSQL文のコマンドと呼びます。コマンドは大文字で書くのが一般的です。(あくまで一般的な慣習で、小文字で入力しても実行されます。)

  • スネークケース

    「データベース名」のようなコマンド以外の部分は、小文字のスネークケースで書くことが一般的です。スネークケースとは名詞をアンダーバー(_)でつないでいく表記法です。

    # 例(データベース名) my_sample_list

同名のデータベースが存在しない場合に作成する

データベースを作成する際、指定した名前のデータベースが既に存在する上で再び作成しようとするとエラーになってしまいます。

それを回避するためには以下のようなSQLを実行します。

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

IF NOT EXISTSを追加することで、指定したデータベース名と同名のものが存在しない場合に、

データベースを作成します。

指定したデータベースが存在している場合、既存のデータベースはそのままで、新しいデータベースは作成されません。

1 warningと表示された場合

データベース作成の際、1 warningと表示された場合は、SHOW WARNINGSを実行すると警告の内容を表示することができます。

SHOW WARNINGS;

# 例
mysql> CREATE DATABASE IF NOT EXISTS my_sample_list;
Query OK, 1 row affected, 1 warning (0.01 sec)

mysql> SHOW WARNINGS;
+-------+------+---------------------------------------------------------+
| Level | Code | Message                                                 |
+-------+------+---------------------------------------------------------+
| Note  | 1007 | Can't create database 'my_sample_list'; database exists |
+-------+------+---------------------------------------------------------+
1 row in set (0.00 sec)

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

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

文字コードとはコンピュータで利用できるように文字に対して唯一の数値を割り当てたものです。

https://ja.wikipedia.org/wiki/文字コード

利用したい文字がある場合には文字コードを指定することで、文字化けを防ぐことができます。

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

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

照合順序とは、データベース内のデータの文字同士を比較するときのルールのことです。

「utf8_general_ci」のような**「文字コード_言語名_比較方法」**で表されます。

この場合、文字コード「utf8」、言語は多言語を示す「general」、比較方法は大文字と小文字が区別されない 「ci(Case Insensitive)」を意味します。

MySQLでは文字の比較の際のルールが複数存在します。

照合順序の一覧は下記コマンドで確認できますので、興味のある方は調べてみてください。

SHOW COLLATION;

まとめ

今回はCREATE DATABASE文について解説しました。

基本的な使い方とあわせて、入力時の一般規則やオプションについても押さえておきましょう。

問題を解くためには、十分な画面サイズのPC環境をご利用下さい。