データベースの作成
基本コマンド
データベースの作成はCREATE DATABASEコマンドを使う。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | mysql> create database ??????????_test; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | ??????????_main    | | ??????????_test    | | ??????????_wp1     | +--------------------+<code></code> 4 rows in set (0.10 sec) mysql> | 
文字コードと照合順序
データベースの文字コードと照合順序(COLLATE~照合順序)を指定して作成するコマンド。
CREATE DATABALSE db_name CHARACTER SET char_set COLLATE collation_name;
たとえばutf8mb4の場合の例
| 1 | CREATE DATABALSE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; | 
さくらレンタルサーバー
さくらレンタルサーバーの場合はwebのコントロールパネルでデータベースを作成・削除する方法のみが示されていて、コンソールでのコマンド操作はエラーとなる。
| 1 2 | mysql> create database taustation_temp;                                                      ERROR 1044 (42000): Access denied for user 'taustation'@'%' to database 'taustation_temp' | 
データベースアクセスの権限設定
必要に応じて、ユーザーへのデータベースアクセスの権限を設定する。
GRANT ALL PRIVILEGES ON dbname.* TO dbuser@'localhost'
データベースの削除
データベースの削除にはDROP DATABASEコマンドを使う。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | mysql> drop database ??????????_test; Query OK, 0 rows affected (0.01 sec) mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | ??????????_main    | | ??????????_wp1     | +--------------------+ 3 rows in set (0.11 sec) mysql> | 
存在しないデータベースを削除しようとするとエラーになるが、DROP DATABASE IF EXISTSコマンドを使うと、データベースが存在しない場合もエラーにならない。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | ??????????_main    | | ??????????_test    | | ??????????_wp1     | +--------------------+ 4 rows in set (0.10 sec) mysql> drop database if exists ??????????_test; Query OK, 0 rows affected (0.01 sec) mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | ??????????_main    | | ??????????_wp1     | +--------------------+ 3 rows in set (0.11 sec) mysql> drop database if exists ??????????_test; Query OK, 0 rows affected, 1 warning (0.01 sec) mysql> drop database ??????????_test; ERROR 1044 (42000): Access denied for user 'taustation'@'%' to database 'taustation_foo' mysql> |