MySQL, SQL

ソート条件を付けない場合、以下のように出力されるテーブルでageがNULLのレコードは常に最下位にしてソートさせたい。
+—-+———+——+
| id | name | age |
+—-+———+——+
| 1 | 名前1 | NULL |
| 2 | 名前2 | 20 |
| 3 | 名前3 | ...

MySQL, SQL

MySQLで任意の順番にソートをするにはfieldを使う

idname1一郎2二郎3三郎4四郎5五郎6六郎7七郎8八郎9九郎

というテーブルがあるとする。

とすれば、

id123456789

という一覧が返ってくる

とすると

id123789456

という結果が返ってくる。

なぜか、fieldで指定していないIDが最初に表示され、最後にfieldで指定したレコードが順番に並ぶようだ。

希望としては ...

MySQL, SQL

MySQL で ビットマスク を扱う

MySQL, SQL

先ほど、仕事でなぜか違うデータが抽出されるんだけど…という不具合を報告され

よくよく調査したら、

という条件を見つけた。

前任者は、2001_1001_202_100とか、2001_1001_202_の後にコードが付いたデータを抽出したかったのであろうが

この条件だと2001_1001_2023というデータもヒットしてしまう。

これは、likeでは「_」は任意の一文字を意味する記号であるからである。

仕方が無いの ...

MySQL, SQL

MySQLにはmysqldumpというダンプツールがあるが、CSVファイルでデータを出力できると、加工もしやすい。

また、CSV出力時には基本、SQL構文での出力となるため、条件指定も容易になる。

書き方としては

FIELDSオプション

TERMINATED BY
項目の区切り文字を指定する
ENCLOSED BY
項目を囲む文字(たとえばダブルクォーテーション)
ESCAPED BY
エスケープする文字を ...

MySQL, SQL

MySQLでユーザを削除する手順

権限を削除

REVOKEで、削除したいユーザの権限を削除する

REVOKE構文について

参考に、guestユーザの権限を削除する実際の構文は

ユーザを削除