drush の sql:query コマンドについて:
コマンドヘルプ
データベースにクエリを発行する。
使用例
- drush sql:query "SELECT * FROM users WHERE uid=1"
ユーザーのレコードを一覧表示する。テーブルのプレフィクスを使用している場合は、手作業でテーブル名に付加する必要がある。 - drush sql:query --db-prefix "SELECT * FROM {users}"
ユーザーのレコードを一覧表示する。テーブル名のプレフィクスは自動処理される。
注:波カッコはすべて除去される。 - $(drush sql-connect) < example.sql
SQL 文をファイルから現在のデータベースにインポートする。 - drush sql:query --file=example.sql
SQL 文をファイルからインポートする別の方法。 - drush @d8 ev "return db_query('SELECT * FROM users')->fetchAll()" --format=json
JSON 形式でデータを取得する。https://github.com/drush-ops/drush/issues/3071#issuecomment-347929777 を参照。
引数
- [query]
SQL クエリ。--file を指定した場合は無視される。
オプション
- --result-file[=RESULT-FILE]
ファイルに保存する。ファイルは Drupal ルートからの相対パスで指定する。 - --file=FILE
実行する SQL を記述したファイルへのパス。gzip ファイルを指定できる。 - --file-delete
--file のファイルを実行後に削除する。 - --extra=EXTRA
接続文字列にカスタムのオプション(例:--extra=--skip-column-names)を追加する。 - --db-prefix
クエリの波カッコの置換を有効にする。 - --database[=DATABASE]
settings.php で複数の接続を使用している場合に DB 接続キーを指定する。
(既定値:default) - --target[=TARGET]
指定したデータベース接続内のターゲットの名前。
(既定値:default) - --db-url=DB-URL
Drupal 6 スタイルのデータベース URL。
例:mysql://root:pass@localhost:port/dbname - --show-passwords
CLI 上でパスワードを表示する。デバッグ時に便利。
エイリアス
- sqlq
- sql-query
参考資料
- sql:query(drush.org)