データベース自体は少し触ったことがある方でも、既に作成されたデータベースしか触ったことがなく、データベース自体の作成・削除・変更コマンドは知らないという方が意外と多いものです。
本記事では、データベース本体の操作コマンドに焦点を当てて、基本的な操作コマンドをご紹介していきたいと思います。
目次
作成済みデータベース一覧を取得するSQLコマンド
まず最初に、現在どんなデータベースが存在するのかを確認してみましょう。
既に存在するデータベース一覧を取得するには「SHOW」コマンドを利用します。
SHOWコマンド
SHOWコマンドの基本構文は下記となります。
SHOW DATABASES;
実際に実行した結果が下記の通りです。
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+
MySQLをインストールした段階でいくつかのシステムに必要なデータベースが作成されています。
データベースを作成するSQLコマンド
では、実際に自分自身で利用するためのデータベースを作成してみましょう。
データベース作成には「CREATE」コマンドを利用します。
CREATEコマンド
CREATE DATABASEコマンドの基本構文は下記となります。
CREATE DATABASE データベース名;
例えば「test_db」というデータベースを作成するには下記のコマンドを入力します。
CREATE DATABASE test_db;
再度上述した「SHOW」コマンドでデータベースを確認してみましょう。
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | test_db | +--------------------+
指定した名前のデータベースが作成されていることをご確認いただけます。
作成済みデータベースを選択するSQLコマンド
ここまでで、データベースの作成が完了しましたが、まだ作成しただけで使用出来る状態になっていません。
作成したデータベースを使用する旨をシステムに伝えるために「USE」コマンドを利用します。
SELECTコマンド
USEコマンドを使用する前に、現在の状態を確認しておきましょう。
現在使用中のデータベースを確認するには「SELECT」コマンドを使用します。
SELECT DATABASE();
現在はMySQLにログインしただけなので、下記のようにNULL(未選択状態)が表示されます。
+------------+ | DATABASE() | +------------+ | NULL | +------------+
USEコマンド
では、実際に作成したデータベースを利用するように変更してみましょう。
基本構文は下記の通りです。
USE データベース名;
サンプルの場合は下記のように記述します。
USE test_db;
実行した後、再度SELECTコマンドで使用中となっているか確認してみましょう。
+------------+ | DATABASE() | +------------+ | test_db | +------------+
「test_db」が使用中になっていることをご確認頂けます。
作成済みデータベースの属性を変更するSQLコマンド
データベースの文字コードを変更したい場合「ALTER」コマンドを利用することが可能です。
現在の文字コードを確認する
文字コードを変更する前に、現在のデータベースの文字コード設定を確認しておきましょう。
SHOW CREATE DATABASE データベース名;
サンプルの場合、下記のコマンドで確認します。
SHOW CREATE DATABASE test_db;
実行すると少し長い結果が表示されると思いますが、注目すべきは下記の部分です。
DEFAULT CHARACTER SET utf8mb4
デフォルトの文字コードが「utf8mb4」であることがご確認頂けます。
ALTERコマンド
では実際にデータベースの文字コードに変更を加えてみましょう。
基本構文は下記の通りです。
ALTER DATABASE データベース名 CHARACTER SET 文字コード;
今回のサンプルでは、「ascii」コードに変更してみたいと思います。
ALTER DATABASE test_db CHARACTER SET ascii;
再度SHOWコマンドで変更を確認してみましょう。
下記のようにCHARACTER_SETが「ascii」に変更されていれば成功です。
DEFAULT CHARACTER SET ascii
今回はサンプルとして「ascii」コードに変更しましたが、デフォルトの文字コードで良い場合、下記のコマンドで元に戻しておきましょう。
ALTER DATABASE test_db CHARACTER SET utf8mb4;
データベースの文字コードを変更して影響があるのは、今後作成するテーブルに対してのみです。
既存のテーブルの文字コードが変更されるわけではありませんので、注意が必要です。
作成済みデータベースを削除するSQLコマンド
では最後に作成したデータベースを削除する方法についても確認しておきましょう。
データベースの削除には「DROP」コマンドが利用可能です。
DROPコマンド
DROPコマンドの基本構文は下記の通りです。
DROP DATABASE データベース名;
サンプルの場合、下記のコマンドとなります。
DROP DATABASE test_db;
最初にご紹介した「SHOW」コマンドでデータベース一覧を確認してみましょう。
SHOW DATABASES;
実際に実行した結果が下記の通りです。
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+
サンプル用に作成した「test_db」が一覧から削除されていることをご確認頂けます。
さいごに:データベース作成のSQLコマンドも知識として覚えておこう!
本記事では、データベースの作成・削除・変更用のSQLコマンドをご紹介してきました。
実際の業務においては、データベースの責任者など以外はあまり触る機会のないコマンドではありますが、知識としてはみなさん知っておくべきと言えます。
ぜひ、ご自身の環境で実際に動かしてみて、業務で利用する機会が訪れた際に戸惑わないよう、知識として身に付けておきましょう。
今回はMySQLを使用して解説を行いますので、別のデータベースをご利用の方は、適宜コマンドを読み替えて実行してみてください。