MySQL はオープンソースのリレーショナルデータベース管理システム(RDBMS)です。
TINYINTSMALLINTMEDIUMINTINTINTEGERBIGINTSERIALFLOATDOUBLEDOUBLE PRECISIONDECDECIMALFIXEDNUMERICCHARACTER VARYINGVARCHARCHARCHARACTERDATEDATETIMETIMESTAMPYEARBITBOOLBOOLEANENUMBINARYVARBINARYTINYBLOBTINYTEXTBLOBTEXTMEDIUMBLOBMEDIUMTEXTLONGBLOBLONGTEXTmysqlmysqladminMySQLモニタとは、MySQLを操作するためのCUIベースのクライアント用プログラムである。
mysql [options] [database]
データベース名を指定する。
オプションを指定する。
MySQLモニタを起動すると、次のようなプロンプトが表示される。
mysql>
MySQLモニタでSQL文を入力するときは、最後にセミコロン(;)又は\Gを入力する。
MySQLのバージョンを確認する。
mysql --version
MySQLのバージョンを確認する。
mysqladmin --version
SQL文をファイルに記述しておき、MySQLモニタから実行することもできる。SQL文を記述したテキストファイルをSQLファイル又はSQLスクリプトと呼ぶ。MySQLモニタからSQLファイルを実行するには、sourceコマンドを実行する。
SOURCE [filename]
MySQLモニタを終了するには、exit、quit または \q コマンドを使用する。
mysql> exit
Bye
MySQLモニタを終了するには、exit、quit または \q コマンドを使用する。
mysql> \q
Bye
MySQLモニタを終了するには、exit、quit または \q コマンドを使用する。
mysql> quit
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属性を使用すると、新しい行を挿入する際に一意の識別子を自動的に生成できる。
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文に次の句を指定することができる。
ENGINE [=] engine_name
テーブルのストレージエンジンを指定する。
| ストレージエンジン | 説明 |
|---|---|
| ARCHIVE | アーカイブストレージエンジン |
| CSV | CSVストレージエンジン |
| InnoDB | 行ロックと外部キーを持つトランザクションセーフテーブル |
| MEMORY | メモリの中だけに格納される |
| MyISAM | バイナリポータルストレージエンジン(MySQLのデフォルト) |
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
DATETIME型の値の取り出しと表示は'YYYY-MM-DD HH:MM:SS'形式で行われる。たとえば、'9999-12-31 23:59:59'などである。
[NATIONAL] CHAR[(M)] [CHARACTER SET charset_name] [COLLATE collation_name]