SQLで役に立った構文をメモするページ
ロゴ
「Web 開発」に関連する記事一覧

SQLで役に立った構文をメモするページ

2012/05/04
(2018/11/05 最終更新)
SQLite SQL 

SQLの基本的なことを含む、役に立った構文をメモするページです。

複数段階の条件でソートする

ORDER BY 条件1, 条件2, .. というように複数条件を記述することで複数段階のソートが可能です。


SELECT * FROM my_table ORDER BY color='赤' DESC, color='青' DESC, color='緑' DESC, color='無' DESC

レコード内の特定文字列の置換

SQLでレコード内の文字列の中で特定の文字列のみを別の文字列に置き換えたいときはREPLACE(列名, 置き換えたい文字, 置き換え後の文字)を用います。

ドメイン変更などでサイトURLが変わってしまったとき、画像などのリンク先のURLを一気に置換したいときにとても便利です。例えば、main_dataテーブルのarticle列の文字列の中でwestsidepure.comという文字列をpuarts.comという文字列に置換して更新したいときはUPDATEを併用して次のように書きます。


UPDATE main_data SET article=REPLACE(article, 'westsidepure.com', 'puarts.com');

--tagの前後に"|"を付与してから、","を"|"に変換する(例えば"hoge,fuga"を"|hoge|fuga|"に変換)
UPDATE main_data SET tag=REPLACE(CONCAT("|",tag,"|"), ",", "|");

ある文字を含むレコードを探す

SQLである文字列を含む要素を見つけるにはWHERE [項目名] LIKE [%含む文字列%]を使う。


--例1: entry_dataテーブルからdate項目が2011で始まる要素を持つレコードを全て選択
SELECT* FROM entry_data WHERE date LIKE '2011%'

--例2: date項目に/10/を含む要素を持つレコードを全て選択
SELECT * FROM entry_data WHERE date LIKE '%/10/%'

--例3: UPDATEを使ってentry_dataテーブルのdate項目が2012で始まる要素を持つレコードのvisibility項目を1に更新する 
UPDATE entry_data set visibility=1 WHERE date LIKE '2012%'


    このエントリーをはてなブックマークに追加    

関連記事

にほんブログ村 ゲームブログ ファイアーエムブレムへ にほんブログ村 デザインブログ コンピュータグラフィックスへ

0.0463 sec
Copyright(C)2006-2018 wsp All Rights Reserved