ど素人から毛を生やす。<延>

Other

[MySQL]トリガーを使用して別テーブルに値を保存する

どもです。

あるDBに登録された電話番号が、ハイフンがあったりなかったりします。
これを検索するとき、ハイフンを問わず検索できるようにしたい。

SELECT * 
... 全文を読む »

[MySQL]サブクエリの実行結果をCASEで比較したい話。(ユーザ定義変数)

どもです。
本日の要件は、PHPで書くなら、こう。

$tmp  = サブクエリを使った重い処理;
... 全文を読む »

[MySQL]○年と○日 という日付指定がしたかった話。

どもです。

MySQLにて、「現在の日付から1年」~「現在の日付から1年と1週間」という条件でのデータ取得が行いたくなりました。

で、調べてみたところ、この○年と○日、あるいは○ヵ月と○日、といった指定方法は、MySQLにはクリティカルなものが存在しないらしい。
PostgreSQL、Snowflakeなどでは可能らしいですが、いずれもMySQLではできませんでした。

ということで、不格好ですが... 全文を読む »

[MySQL]INSERT ... ON DUPLICATE KEY UPDATE 構文を SELECT UPDATE ... GROUP BY で使う

どもです。

以前、MySQLで「キーが存在していたらUPDATE、していなかったらINSERT」を行う関数として「INSERT … ON ... 全文を読む »

[MySQL]該当レコード群の最新1件のみをUPDATE

どもです。毎度の備忘的記事。

WHERE指定した条件でUPDATEを行いたいけれど、更新対象はその条件の最新1レコードのみにしたい。
という場合、連番のIDや更新日時など、どのレコードが最新なのか判断基準になるカラムがあれば、簡単に可能という話。

UPDATE [対象テーブル] 
... 全文を読む »

[MySQL]頭文字で GROUP BY して COUNT

どもです。
やりたかったことは件名の通りなのですが、ググってもなかなか出てこなかったので備忘録的に記録しておくことにします。

SELECT SUBSTRING([対象カラム], 1, 
... 全文を読む »

[MySQL]レコードが存在するテーブルを抽出

どもです。

テーブルがたくさんあるけど、使われていないテーブルもたくさんあるDBで、使われている=レコードが存在するテーブルのみ抽出したかった。

参考:
[Qiita]MySQLで全テーブルのレコード数を一覧表示する

これWHEREに追記したらレコードが存在するテーブルだけ抽出できそうですね。... 全文を読む »

MySQLの実行順に関するぼやき。

某解説サイトにSQLの実行順
①FROM
②WHERE
③GROUP BY... 全文を読む »

MySQLは比較法を変更しないと大文字小文字を区別しない話

どもです。

一般的なプログラム言語では、アルファベットの大文字小文字は別の文字として扱われます。

が、MySQLでは同じ文字として扱われます。
そういえば僕も可読性が上がるので、普段から「select」でなく「SELECT」といった書き方をしています。

さて、今回はこの仕様をすっかり忘れていたおかげで嵌ってしまった話です。... 全文を読む »

MySQLの行の並びってキーの昇順だったのか。

どもです。

重複不可のコードの羅列が欲しかったので、プライマリキーのみのMySQLテーブルを作りました。

すると、特に登録時にソートをした覚えがないのに、テーブルの中の値がキーの昇順で入っているようです。
ORDER BY ... 全文を読む »

wkhtmltopdf で下に余白ができた話。

どもです。

wkhtmltopdf を使用した既存のPDF出力サービスの改修。
これまでA5横で出力していた2種類のPDFを、A4縦の1枚にまとめてPDFする機能の追加です。

下にかなりの余白ができている…... 全文を読む »

errors in crontab file, can't install. エラーは bad のところを確認

どもです。

cron を新規登録しようと思ったのですが、:wq すると今まで見たことのない

crontab:
... 全文を読む »

[MySQL]複数列を条件付きUPDATE

どもです。
MySQLにて。

UPDATEの際、「条件を満たすなら更新を適用」ならWHEREの方に条件を書けば良い。
しかし更新対象列が複数ある中で、「この列(カラム)の更新には条件をつけたい」場合では、WHEREでは全体の条件となるため不可となります。

解:SET内で、CASE-WHENが使用可能です。... 全文を読む »

[MySQL]SUMしてUPDATE

どもです。
要件としては、以下。

TABLE01
ID quantity
... 全文を読む »

[MySQL]親ごとに枝番をAUTO_INCREMENT

どもです。
ちょっとした小話。

MySQLにて。


+-----------+---------+
| 
... 全文を読む »

PHPやJSやMySQLの対偶とか補集合とか

どもです。
自分では対偶で認識していたのですが、人に教えるには補集合の方が分かり易いぞ。
となったので、次の機会のために図に残しておきます。

基本

い &&

... 全文を読む »

[MySQL]複数行のUPDATEを1回のSQL実行で済ませたい。

どもです。

MySQLで複数の行を更新したい場合、多くの場合は

foreach($array as $id 
... 全文を読む »

[MySQL]JOIN対象のセルが空の場合は指定の値でJOINしたい。

結論から言えば、IFやIFNULLはFROMでフツーに使えるゾ☆って話。


SELECT
 β.name
FROM
 α
 
... 全文を読む »

[MySQL]空文字 or NULL を一息で判別したかった話

どもです。
MySQL初心者です。

カラムAにデータが入っていたらAを、入っていなかったらBの内容を取得したかったのですが、
「入っていない状態」は空文字とNULLの2パターンが想定される。
DB構成としてアカンくないか、NULL許容させんなや、などとツッコミはありますが、古いDBに文句言っても仕方ない。... 全文を読む »

[MySQL]プライマリキーとユニークキーを取得する。

どもです。
MySQLにて。

ユニークキーに設定されているカラム情報を抜き出す、という動作の需要がありまして。
ちょいと覚えておきたい内容だったので、備忘録しときます。

SHOW
... 全文を読む »