前書き
MySQLを触るのが久しぶりだったのとかで、ちょっと色々実験がてらメモ。
とりあえずディレクトリ移動
$ mkdir ~/mysql-test
$ cd ~/mysql-test/
データベース作成
$ echo CREATE DATABASe test1 > create_test1.sql
$ mysql -u root -p < create_test1.sql
Enter password:
特に結果などなく終了。
データベース一覧
$ echo show databases > show_databases.sql
$ mysql -u root -p < show_databases.sql
Enter password:
Database
information_schema
mysql
performance_schema
test1
テストテーブル作成
$ echo "CREATE TABLE test1.person (id int, name varchar(20), code int)" > create_table_test1.person.sql
$ mysql -u root -p < create_test1.person.sql
Enter password:
desc見てみる
$ mysql -u root -p -e "desc test1.person"
Enter password:
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| code | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
ちょっと逐一保存するのが面倒になったので直接。
テストデータ作成
$ cat insert_test1.person.sql
INSERT INTO test1.person (id, name, code) VALUES (1, 'Tanaka', 10);
INSERT INTO test1.person (id, name, code) VALUES (2, 'Suzuki', 10);
INSERT INTO test1.person (id, name, code) VALUES (3, 'Sato', 11);
$ mysql -u root -p < insert_test1.person.sql
Enter password:
$ cat select_test1.person.sql
SELECT * FROM test1.person
$ mysql -u root -p < select_test1.person.sql
Enter password:
id name code
1 Tanaka 10
2 Suzuki 10
3 Sato 11
テストデータ2作成
$ cat create_test2.sql
CREATE DATABASE test2;
CREATE TABLE test2.code (id int, name varchar(20));
INSERT INTO test2.code (id, name) VALUES (10, 'hoge');
INSERT INTO test2.code (id, name) VALUES (11, 'fuga');
$ mysql -u root -p < create_test2.sql
Enter password:
$ mysql -u root -p -e "SELECT * FROM test2.code"
Enter password:
+------+------+
| id | name |
+------+------+
| 10 | hoge |
| 11 | fuga |
+------+------+
結合してSELECT
$ mysql -u root -p -e "SELECT * FROM test1.person p LEFT JOIN test2.code c ON p.code = c.id"
Enter password:
+------+--------+------+------+------+
| id | name | code | id | name |
+------+--------+------+------+------+
| 1 | Tanaka | 10 | 10 | hoge |
| 2 | Suzuki | 10 | 10 | hoge |
| 3 | Sato | 11 | 11 | fuga |
+------+--------+------+------+------+
実験終了
ほとんど自分用メモみたいなものですが、違うDB同士の結合とか気軽にできたっけ・・・とかちょっと試しておきたかったのでした。