開発ツール
データベースのクライアント
sqlite3・psql・mysql・redis-cli で、データベースにつないで問い合わせる。
どれも Ubuntu には最初から入っていないので、見出しの下のコマンドで入れてから使います。Docker で動かしているデータベースなら、docker exec -it <コンテナ> psql … のようにコンテナの中のクライアントを使う手もあります。
sqlite3ファイル1つのデータベース
Ubuntu には最初から入っていません。 で入れられます。
ファイル1つで動く手軽なデータベース SQLite を操作します。
$ sqlite3 app.db
sqlite> .tables -- テーブルの一覧
sqlite> .schema users -- テーブルの定義
sqlite> .headers on
sqlite> .mode column
sqlite> SELECT * FROM users LIMIT 10;
sqlite> .quit
$ sqlite3 app.db "SELECT count(*) FROM users;"
$ sqlite3 -csv -header app.db "SELECT * FROM users" > users.csv
$ sqlite3 app.db .dump > backup.sqlpsqlPostgreSQL
Ubuntu には最初から入っていません。 で入れられます。
PostgreSQL に接続して SQL を実行します。
$ psql -h localhost -U postgres -d mydb
$ psql "postgres://user:pass@host:5432/mydb"
$ psql -c "SELECT now();" mydb
$ pg_dump -Fc mydb > mydb.dump # バックアップ
$ pg_restore -d mydb mydb.dump| psql のコマンド | 意味 |
|---|---|
\l | データベースの一覧 |
\c mydb | 接続先を変える |
\dt | テーブルの一覧 |
\d users | テーブルの定義 |
\x | 縦長表示の切り替え |
\q | 終了 |
mysqlMySQL / MariaDB
Ubuntu には最初から入っていません。 で入れられます。
MySQL / MariaDB に接続して SQL を実行します。
$ mysql -h 127.0.0.1 -u root -p mydb
$ mysql -u root -p -e "SHOW DATABASES;"
$ mysqldump -u root -p mydb > mydb.sql
$ mysql -u root -p mydb < mydb.sqlredis-cliRedis
Ubuntu には最初から入っていません。 で入れられます。
Redis に接続して、キーの読み書きや状態の確認をします。
$ redis-cli ping
$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> SET key value
127.0.0.1:6379> GET key
127.0.0.1:6379> KEYS 'user:*' # 本番では SCAN を使う
$ redis-cli --scan --pattern 'session:*' | head
$ redis-cli monitor # 送られてくるコマンドを見る