MySQL

MySQL はオープンソースのリレーショナルデータベース管理システム(RDBMS)です。

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を入力する。

MySQLのバージョンを確認する。

mysql --version

mysqladmin

MySQLのバージョンを確認する。

mysqladmin --version

source

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

SOURCE [filename]

exit

MySQLモニタを終了するには、exit、quit または \q コマンドを使用する。

mysql> exit
Bye

\q

MySQLモニタを終了するには、exit、quit または \q コマンドを使用する。

mysql> \q
Bye

quit

MySQLモニタを終了するには、exit、quit または \q コマンドを使用する。

mysql> quit
Bye

show warnings

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');

ENGINE

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

ENGINE [=] engine_name
engine_name

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

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

TINYINT

TINYINT[(M)] [UNSIGNED] [ZEROFILL]
M
表示幅(桁数)
UNSIGNED
符号なしの値
ZEROFILL
表示幅に満たない桁数の場合は0で埋める。

FLOAT

FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
M
桁数の合計
D
小数点以下の桁数
UNSIGNED
符号なしの値
ZEROFILL
表示幅に満たない桁数の場合は0で埋める。

DECIMAL

DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
M
精度(桁数の合計)
D
スケール(小数点以下の桁数)
UNSIGNED
符号なしの値
ZEROFILL
表示幅に満たない桁数の場合は0で埋める。

DATETIME

DATETIME型の値の取り出しと表示は'YYYY-MM-DD HH:MM:SS'形式で行われる。たとえば、'9999-12-31 23:59:59'などである。

CHAR

[NATIONAL] CHAR[(M)] [CHARACTER SET charset_name] [COLLATE collation_name]
charset_name
文字セット
collation_name
文字セットの照合