その他の方法:MySQL Workbench、phpMyAdmin、コマンドラインツール
MySQLにおける「CREATE SCHEMA」と「CREATE DATABASE」の違い
MySQLでは、データベースを作成する際に「CREATE SCHEMA」と「CREATE DATABASE」という2つのコマンドが用意されています。一見すると同じように見えますが、実は微妙な違いがあります。
CREATE SCHEMA
- スキーマを作成します。
- スキーマは、データベース内の論理的な名前空間であり、テーブル、ビュー、プロシージャなどのオブジェクトを格納します。
- 複数のスキーマを1つのデータベース内に作成することができます。
- MySQL 5.0以降では、
CREATE SCHEMA
とCREATE DATABASE
は同義語として扱われます。
CREATE DATABASE
- データベースは、物理的なファイルシステム上のディレクトリであり、スキーマやその他のオブジェクトを格納します。
- 1つのデータベース内に複数のスキーマを作成することができます。
- MySQL 5.0以前では、
CREATE DATABASE
がデータベースを作成する唯一のコマンドでした。
違い
- 厳密には、
CREATE SCHEMA
は論理的なスキーマを作成し、CREATE DATABASE
は物理的なデータベースを作成するという違いがあります。 - しかし、MySQL 5.0以降では、ほとんどの場合、この違いは意識する必要はありません。
- どちらのコマンドを使用しても、データベースを作成することができます。
例
-- CREATE SCHEMA を使用する
CREATE SCHEMA my_schema;
-- CREATE DATABASE を使用する
CREATE DATABASE my_database;
- 一般的には、どちらのコマンドを使用しても問題ありません。
- ただし、データベースの論理構造を明確にしたい場合は、
CREATE SCHEMA
を使用する方がよいでしょう。 - また、MySQL 5.0以前のバージョンを使用している場合は、
CREATE DATABASE
を使用する必要があります。
補足
- データベースを作成するには、CREATE 権限が必要です。
- データベースの名前は、英数字、アンダースコア、ドル記号で構成することができます。
- データベース名は、小文字と大文字を区別します。
-- データベースを作成する
CREATE SCHEMA my_database;
-- スキーマ内にテーブルを作成する
USE my_database;
CREATE TABLE my_table (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE
);
-- データベースを作成する
CREATE DATABASE my_database;
-- データベース内にテーブルを作成する
USE my_database;
CREATE TABLE my_table (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE
);
説明
上記の例では、まずデータベースを作成します。
CREATE SCHEMA
を使用する場合は、データベース名に続けてセミコロン(;)を記述します。
次に、データベース内にテーブルを作成します。
USE
ステートメントを使用して、作成したデータベースを選択します。CREATE TABLE
ステートメントを使用して、テーブル名、カラム名、データ型、制約などを定義します。
- 上記のコードは、MySQL 5.7以降で使用できます。
- MySQL 5.0以前のバージョンの場合は、
CHARACTER SET
やCOLLATE
などのオプションを指定する必要があります。
MySQLでデータベースを作成するその他の方法
MySQL Workbenchは、MySQLを操作するためのグラフィカルツールです。MySQL Workbenchを使用してデータベースを作成するには、以下の手順を実行します。
- MySQL Workbenchを起動します。
- 左側のナビゲーションパネルで、サーバー > データベースを選択します。
- 新規作成ボタンをクリックします。
- データベース名フィールドに、データベース名を入力します。
- デフォルトエンコーディングフィールドで、データベースのエンコーディングを選択します。
phpMyAdminは、Webブラウザを使用してMySQLを操作するためのツールです。phpMyAdminを使用してデータベースを作成するには、以下の手順を実行します。
- phpMyAdminにログインします。
- 左側のメニューから、データベースを選択します。
コマンドラインツールを使用する
MySQLの公式コマンドラインツールを使用して、データベースを作成することもできます。コマンドラインツールを使用してデータベースを作成するには、以下のコマンドを実行します。
mysql -u root -p
CREATE DATABASE my_database;
mysql
コマンドは、MySQLクライアントを起動します。-u root
オプションは、rootユーザーとしてログインすることを指定します。-p
オプションは、パスワードを入力するように求めます。CREATE DATABASE my_database;
コマンドは、my_database
という名前のデータベースを作成します。
上記以外にも、MySQLデータベースを作成する方法はいくつかあります。
- Webホスティングコントロールパネルを使用する
- サードパーティ製のツールを使用する
- MySQL WorkbenchやphpMyAdminを使用すると、グラフィカルなインターフェースを使用してデータベースを作成することができ、初心者にとって使いやすいです。
- コマンドラインツールを使用すると、より柔軟性と制御性がありますが、初心者にとっては習得するのが難しい場合があります。
- Webホスティングコントロールパネルやサードパーティ製のツールを使用すると、データベースの作成が簡単になる場合があります。
sql mysql oracle