MySQL 備忘録
最近,DB による getGeneratedKeys の挙動の差 を調べるために, ほぼ初めて (?) MySQL を使用しました.
これはその際に使ったコマンド等の備忘録です.
MySQL の起動とクライアントからの接続
Docker を使って MySQL を起動します.
Docker Hub にある公式イメージ の説明の通りに使わせてもらいます.
MySQL 起動:
$ docker run -d --rm --name mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=test_db mysql:8.0.3
ここでは,
- MYSQL_ROOT_PASSWORD は root
- 作成するデータベース名は test_db
とします.
上記で起動した MySQL にクライアントから mysql コマンドで接続します:
$ docker run -it --link mysql:mysql --rm mysql:8.0.3 sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
MySQL 起動コマンドを実行した直後だと,まだ接続できる状態になっておらずエラーとなることがあります.
クライアント接続後の操作
データベース一覧を表示する:
$ SHOW DATABASES;
テーブルを作成する.列 id
は自動採番にする:
$ CREATE TABLE test_db.test_table (id BIGINT AUTO_INCREMENT , value TEXT, INDEX(id));
存在するテーブルの一覧を取得する:
$ SHOW TABLES FROM test_db;
テーブルを削除する:
$ DROP TABLE test_db.test_table;
データを挿入する
$ INSERT INTO test_db.test_table (value) VALUES ('TEST_VALUE1');
データを取得する
$ SELECT * FROM test_db.test_table;