MySQL

【WordPress】で承認待ちのコメントを一括削除する。

下記SQLを実行。

【MySQL】大量にランダムなデータを作成する際の方法いろいろ。

知っとくと便利なので自分用にメモ。

1 or 2 などの2値をランダムに設定する

※この例だと1 or 2がセットされる。whenthenを増やしていけば複数の値に対応可能。

datetime型をランダムに設定

  • 現在時刻から1年後までの日付をランダムに生成
  • 指定日時から1年間の日付をランダムに生成

※2010-06-06をスタートとした場合

ランダムな文字列を生成する

  • 32文字のランダムな文字列を生成
  • 100文字のランダムな文字列を生成
  • 500文字!

※これ以上はconcat()をマンパワーで足していくくらいしか思い浮かばない。単に長さがほしいだけならrepeat()とかでもいいかも。

100万件のレコードを生成する

※20行繰り返すところがポイント。

【MySQL】使用可能な文字コードを一覧で取得する。

メモ。

こんな感じで取得される。

【MySQL】文字コードと照合順序を指定してデータベースを作成する。

メモ。

例)文字コードutf8、照合順序utf8_unicode_ciで作成する場合。

【MySQL】指定した以外のテーブルをdumpする。

mysqldumpコマンドを使う際、--ignore-tableオプションを用いると、dumpしたくないテーブルを指定することが出来る。

例)

と言った感じ。
複数テーブルを除外したければ--ignore-tableオプションを複数回書いてあげればいい。

例)

※この際テーブル名にデータベース名のプレフィックスを付けてやらないとダメなので注意されたし。

【MySQL】group_concatした結果が文字化けしたりBLOBと言った形で表示されてしまう場合。

主にPHPMyAdminでの話。

group_concatの部分をこうしてやればいい。

【MySQL】Groupしたカラムを条件に指定する。

group by句でグルーピングしたレコードに対して条件を指定したい場合はwhereではなくhavingを用いる。

例)

と言った感じ。

【MySQL】カラム数が多いテーブルをCLI上で綺麗に閲覧する。

CLI上でMySQLにログインしてselectするとテーブルレイアウトのような形で結果が帰ってくるが、カラム数が膨大なテーブルでこれをやるともはや見るに耐えない状態になる。 そういう時はクエリの最後に\Gを付けてやるとクエリ毎に分割されて見やすくなるのでオススメ。

例)

これはかなり見やすい。