LoginSignup
2
2

More than 5 years have passed since last update.

MySQLテスト

Posted at

前書き

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同士の結合とか気軽にできたっけ・・・とかちょっと試しておきたかったのでした。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2