MySQLはオープンソースの関係データベース管理システムである。

目次

MySQLモニタ

MySQLモニタとは、MySQLを操作するためのCUIベースのクライアント用プログラムである。

mysql [options] [database]
database

データベース名を指定する。

options

オプションを指定する。

-?
--help
ヘルプメッセージを表示する。
-b
--nobeep
ビープ音(エラー音)を鳴らさない。
-h hostname
--host=hostname
ホスト名
-ppassword
--password[=password]
サーバに接続するMySQLユーザのパスワード。-ppasswordの間にスペースは空けられないので注意。
-u username
--user=[username]
サーバに接続するMySQLユーザ名。

MySQLモニタを起動すると、次のようなプロンプトが表示される。

mysql>

MySQLモニタでSQL文を入力するときは、最後にセミコロン(;)又は\Gを入力する。

SQL文をファイルに記述しておき、MySQLモニタから実行することもできる。SQL文を記述したテキストファイルをSQLファイル又はSQLスクリプトと呼ぶ。MySQLモニタからSQLファイルを実行するには、sourceコマンドを実行する。

SOURCE [filename]

MySQLモニタを終了するには、exitquit又は\qコマンドを使用する。

mysql> exit
Bye

警告の表示

SQLを実行して警告が発生した場合、SHOW WARNINGSコマンドを実行すると警告の詳細が表示される。

mysql> source demo_data.sql
Query OK, 1 row affected, 3 warnings (0.00 sec)

mysql> show warnings;
+---------+------+----------------------------------------------------------+
| Level   | Code | Message                                                  |
+---------+------+----------------------------------------------------------+
| Warning | 1264 | Out of range value for column 'created' at row 1         |
| Warning | 1264 | Out of range value for column 'enrollment_date' at row 1 |
| Warning | 1264 | Out of range value for column 'regination_date' at row 1 |
+---------+------+----------------------------------------------------------+
3 rows in set (0.00 sec)

mysql>

AUTO_INCREMENTの使用

AUTO_INCREMENT属性を使用すると、新しい行を挿入する際に一意の識別子を自動的に生成できる。

create table employee (
    empno MEDIUMINT NOT NULL AUTO_INCREMENT,
    name CHAR(20),
    PRIMARY KEY (empno)
);

insert into employee (name)
values ('Horiuch Marina'), ('Iida Raura');

MySQLのCREATE TABLE文

MySQLでは、CREATE TABLE文に次の句を指定することができる。

ENGINE [=]	engine_name
engine_name

テーブルのストレージエンジンを指定する。

MySQLのストレージエンジン
ストレージエンジン 説明
ARCHIVE アーカイブストレージエンジン
CSV CSVストレージエンジン
InnoDB 行ロックと外部キーを持つトランザクションセーフテーブル
MEMORY メモリの中だけに格納される
MyISAM バイナリポータルストレージエンジン(MySQLのデフォルト)
このエントリーをはてなブックマークに追加