涼風コンピュータblog

涼風 ・Rubyist, RubyやRuby on Railsに詳しくなっていきたいです

ドットインストールでMySQL入門

本日はドットインストールで、MySQL入門はやりました。SQLは初めてではないですが、10年ぐらい触ってないので、ああそういえばそんなのあったねとか、知らなかったとかがありました。

  • likeで"_"を指定すると1文字マッチするものを抽出する
select * from users where email like '%@school.__';

%は任意の文字列にマッチします。以下があった場合に

abc@school.jp

xyz@school.jp

a@school.com

"_"を2つ指定しているので、2文字であるjpの以下がヒットする

abc@school.jp

xyz@school.jp

  • ランダムに1レコード抽出する

order by rand()でランダムにソートし、limit に1を設定すると無作為に1 レコード抽出できる

select * from table order by rand() limit 1;

ただし、件数が多いとよくないみたい

MySQL の order by rand()

order by randで検索したら、またしてもnaoyaさん登場でした

  • 日付の差分を日数で返すdatediff()関数
select name, datediff(now(), day) from table;

now()が現在時刻で、dayがレコードに記録された日付とします

#15までやりました