Note to Self

自分用のメモ置き場

MySQL

MySQLでn分前を取得する

わすれがちなのでメモ 参考 更新されて10分以内のデータを取得する SELECT * FROM 'テーブル名' WHERE 'カラム名' >= CURRENT_TIMESTAMP + INTERVAL - 10 MINUTE その他 n分以外にも、n年等任意の条件に変更することができる unit 説明 YEAR 年 MONTH 月 DAY…

MySQLで特定のカラムが存在しないテーブル名を特定する

「deleteDate」が無いテーブルを特定したかったが、苦戦したのでメモ USE information_schema; SELECT temp1.table_name FROM ( SELECT DISTINCT table_name FROM columns WHERE table_schema = 'DB名' AND column_name != 'deleteDate' ) AS temp1 LEFT OUT…

MySQLで半角カタカナを全角に変換する

MySQLで半角カタカナを全角に変換する 便利な関数は無いため、ストアドファンクションを作成し対応 DROP FUNCTION IF EXISTS kanaToKANA; DELIMITER // CREATE FUNCTION kanaToKANA (data TEXT) RETURNS TEXT DETERMINISTIC BEGIN DECLARE kana1_len, kana2_…

MySQLで副問い合わせによって取得した複数のキーでデータを削除する

MySQLで副問い合わせによって取得した複数のキーでデータを削除する MySQLで副問い合わせによって取得した複数のキーでデータを削除したい 主キー(id)に serialNo を追加し、複合主キーにしようとしたが、serialNo に同じ値が入っており、主キー制約を変更…

MySQLでランダムに指定件数分データを取得する

MySQLでランダムに指定件数分データを取得する ORDER BY に RAND() 関数を使用し、LIMIT 句で取得件数を指定する 例)hoge テーブルからランダムに10件取得する SELECT * FROM hoge ORDER BY RAND() LIMIT 10;

MySQLでランダムな整数値を取得する方法

ランダムな整数値を取得する方法 MySQLで INT 型のレコードの値をランダムに更新する 例)id列を 0 ~ 10で更新する UPDATE hoge SET id = ROUND(RAND() * 10); 例)id列を 1 ~ 10で更新する(最低値を1にする) UPDATE hoge SET id = ROUND(1 + RAND() * 9)

MySQLで生年月日から年齢を計算する

MySQLで生年月日から年齢を計算する MySQLで生年月日から年齢を計算する ※birthday は DATE 型のカラムとする SELECT (YEAR(CURDATE()) - YEAR(birthday)) - (RIGHT(CURDATE(), 5) < RIGHT(birthday, 5)) AS age FROM hoge; または SELECT TIMESTAMPDIFF(YEA…

CentOS 6でMySQL 5.7をインストールする

-- 古いバージョンを削除 yum remove mysql* -- インストール yum install https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm yum -y install mysql-community-server -- バージョン確認 mysqld --version -- MySQL のアップグレード…