[detabaseクエリ]MySql
$ docker-compose exec db bash
mysql -u root stampshot(local)
データベースの確認
mysql > show databases;
mysql > show tables;
mysql > show table status;(テーブル一覧詳細)
mysql > desc [テーブル名](テーブル設計)
-
mysql > SELECT Host, User, Password FROM mysql.user;(ユーザー情報取得)
-
mysql > SHOW FULL COLUMNS FROM [テーブル名];(ユーザー情報取得詳細)
-
mysql > SHOW VARIABLES LIKE 'general_log';(一般ログが有効になっているか確認)
-
mysql > SHOW VARIABLES LIKE "%log%";(データベースログファイルの場所を確認)
log_error | /var/log/mysql/mysqld.log
→ ターミナルやコマンドプロンプトから以下のようにしてログ内容を確認できます。
cat /var/log/mysql/mysql.log -
mysql > use test_db;
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'your_database_name' (ここにデータベース名を指定)
AND TABLE_NAME = 'your_table_name'; -
mysql > SELECT COUNT(*) AS total_count FROM your_table_name;(テーブルのデータ数)
-
mysql > SELECT * FROM your_table_name ORDER BY id DESC LIMIT 5;(最後の5個のデータを取得)
▽(ダンプをとる)
- $ mysqldump -u [ユーザー名] -p -x test_db > [出力ファイル名](test_dbデータベース対象)
- $ mysqldump -u [ユーザー名] -p -x test_db users > [出力ファイル名](usersテーブル対象)
拡張子は何でもよかったと思います。(「***.dump」とか)
Discussion