Database JUNKY

MySQL,MariaDBを中心としたブログです

SQLで変数を使う

他のDBはよくしらないですが、MySQL系のSQLSQL文中にユーザー変数を含めることができます。この手法を理解すると、洗練されたSQLを記述することができます。 SET文を用いる方法と、SELECT ~ INTO を用いる2種類の方法があります

f:id:hit10231023:20160510153222j:plain

代入

SET文を利用する方法と、SELECT INTOを使うやり方を活用しております

SET文を利用する方法

SET @DATE=CURRENT_TIMESTAMP ;
SELECT @DATE AS now_date ;

SELECT INTO を利用する方法

SELECT CURRENT_TIMESTAMP INTO @DATE ;
SELECT @DATE AS now_date ;

複数の変数にSELECT INTO 文でSETする

SELECT CURRENT_TIMESTAMP,CURREN_DATE INTO @DATETIME,@DATE ;

月467円のVPS!

代入/参照

変数を利用した、オートナンバリング

SET @num=0; 
SELECT @num:=@num +1 AS number,id FROM users ORDER BY id DESC LIMIT 10;

変数を検索の値として設定する

SET @num= 1;
SELECT * FROM users WHERE id = @num ;