CREATE DATABASE構文
リレーショナル・データベースでは、データ形式をあらかじめ定義して、データを管理するための構造をデータベースと呼びます。データを登録する器がテーブル、そのテーブルを登録しておくのがデータベースです。データベースを作成するためのSQLは、CREATE DATABASEです。CREATE DATABASEを使うことにより、指定した名前のデータベースを作成することができます。
CREATE DATABASE構文
CREATE { DATABASE | SCHEMA } [IF NOT EXISTS] データベース名
[作成定義 [作成定義] ...]
[作成定義]オプションでは、CHARACTER SETでデータベースのキャラクタセットを指定したり、COLLATEでデフォルトデータベースの照合を指定することができます。
[DEFAULT] CHARACTER SET キャラクタセット名
| [DEFAULT] COLLATE 照合名
CREATE DATABASE構文の使用例
# mydb データベースを作成 CREATE DATABASE mydb;
CREATE DATABASE構文のキーワード
パラメータ | 説明 |
---|---|
CREATE SCHEMA | CREATE DATABASEと同じ意味です。 |
IF NOT EXISTS -MySQL拡張 |
IF NOT EXISTSは、同じ名前のデータベースが存在した場合のみデータベースを作成します。IF NOT EXISTSを指定せず、同じ名前のデータベースが存在した場合はエラーとなります。 |
データベース名 | 作成するデータベースの名前を指定します。 |
MySQLでの実装
MySQLにおけるデータベースは、ディレクトリとして実装されています(テーブルはファイルとして作成されます)。データベースの作成後は、そのデータベース名と同じ名前のディレクトリがMySQLデータディレクトリ下に作成されます。
DROP DATABASE構文
DROP DATABASEは、指定したデータベースと、それに含まれる全てのデータを削除します。
DROP DATABASE構文
DROP { DATABASE | SCHEMA } [IF
EXISTS] データベース名
DROP DATABASE構文の使用例
# mydb データベースを削除 DROP DATABASE mydb;
DROP DATABASE構文のキーワード
パラメータ | 説明 |
---|---|
DROP SCHEMA | DROP DATABASEと同じ意味です。 |
IF EXISTS -MySQL拡張 |
IF EXISTSは、同じ名前のデータベースが存在した場合のみデータベースを削除します。IF EXISTSを指定せず、同じ名前のデータベースが存在しない場合はエラーとなります。 |
データベース名 | 削除するデータベース名を指定します。 |
ALTER DATABASE構文
ALTER DATABASEは、データベースの構成を変更する事ができます。
ALTER DATABASE構文
ALTER { DATABASE | SCHEMA } [IF NOT EXISTS] データベース名
[作成定義 [作成定義] ...]
[作成定義]オプションでは、CHARACTER SETでデータベースのキャラクタセットを指定したり、COLLATEでデフォルトデータベースの照合を指定することができます。
[DEFAULT] CHARACTER SET キャラクタセット名
| [DEFAULT] COLLATE 照合名
ALTER DATABASE構文の使用例
# mydb データベースを変更 ALTER DATABASE mydb CHARACTER SET 'utf8';
ALTER DATABASE構文のキーワード
パラメータ | 説明 |
---|---|
ALTER SCHEMA | ALTER DATABASEと同じ意味です。 |
データベース名 | 更新対象のデータベースの名前を指定します。 |
USE構文 (MySQL拡張)
USEで選択したデータベースは、以降、クエリ内でデータベース名を省略することができます。データベースの選択は、セッションの最後まで、あるいは、他のUSE 構文が発行されるまで有効です。
USE構文
USE データベース名
USE構文の使用例
USE mydb;
USE構文のキーワード
パラメータ | 説明 |
---|---|
データベース名 | 選択するデータベースを指定します。 |
USEで特定のデータベースを選択していても、名前の修飾を使って他のデータベースのテーブルにアクセスすることができます。
SELECT * FROM mysql.db2;