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

Other

[MySQL]HeidiSQLでうっかり重いクエリを流してフリーズしてしまったときの確認事項。

どもです。

MySQLの操作でHeidiSQLを使用した際の失敗談。

HeidiSQLを使用し、とあるクエリをとあるDBに流しました。
そのクエリは今まで他のDBにも流したことがあるもので、1分以内に結果が返る程度のものでした。

しかし、今回はDBの状態が芳しくなく、HeidiSQLが停止してしまうほど重いクエリになってしまいました。... 全文を読む »

[MySQL]該当レコード群の最新○件のみをUPDATE(JOIN編)

どもです。
MySQLではUPDATE句でもORDER BYやLIMITを使用できるため、条件に合う最新○件のレコードを更新、という処理が可能です。

が、UPDATEにJOINを使用すると、Incorrect ... 全文を読む »

[Eclipse] svn: Can't connect to host

どもです。

EclipseであるプロジェクトをSVNに同期化しようとしたところ、以下のエラーが出ました。

svn: Can't connect
... 全文を読む »

[MySQL]Havingで絞り込む場合は大人しく一時テーブルを使おうという話。

どもです。

あるGROUPに対し、日付の最大値が指定の期間内である、という抽出をしたくなりました。

HAVING MAX(日付) >= 
... 全文を読む »

[MySQL]別名(エイリアス)とサブクエリの関係性

MySQLにてサブクエリをWHEREに使用した検索を行います。

SELECT *
FROM tableA
... 全文を読む »

[MySQL]範囲データを検索する

どもです。

データ側に日付データを持ち、検索は範囲検索で行う、というのはよくある話。

MySQLでいうと、こう。

カラム名 >= 
... 全文を読む »

[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
... 全文を読む »