MySQL はオープンソースのリレーショナルデータベース管理システム(RDBMS)です。
TINYINT
SMALLINT
MEDIUMINT
INT
INTEGER
BIGINT
SERIAL
FLOAT
DOUBLE
DOUBLE PRECISION
DEC
DECIMAL
FIXED
NUMERIC
CHARACTER VARYING
VARCHAR
CHAR
CHARACTER
DATE
DATETIME
TIMESTAMP
YEAR
BIT
BOOL
BOOLEAN
ENUM
BINARY
VARBINARY
TINYBLOB
TINYTEXT
BLOB
TEXT
MEDIUMBLOB
MEDIUMTEXT
LONGBLOB
LONGTEXT
mysql
mysqladmin
MySQLモニタとは、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]