<EXCEL>
当サイトの情報をご利用になる場合は、全て自己責任でお願いします |
| 第7号 2005/07/18 |
<MySQL編 第3回目>
今回は、MySQLでデータを検索・抽出するSELECT文を紹介します。
データを抽出して並べ替える基本的なSELECT文は
SELECT (フィールド名),(フィールド名),,,
FROM(テーブル名)
WHERE (検索条件)
ORDER BY (フィールド名) 並び順,(フィールド名) 並び順,,,
で、検索条件は、
(フィールド名) = (値) 等しい
(フィールド名) > (値) より大きい
(フィールド名) < (値) より小さい
(フィールド名) >= (値) 以上
(フィールド名) <= (値) 以下
(フィールド名) <> (値) 等しくない
で、(値)の代わりに(フィールド名)も使えます。例えば、
(フィールド名1) > (フィールド名2) (フィールド名1)が(フィールド名2)より大きい
です。文字の場合で、ワイルドカード(Excelでの*や?)を使う場合は、= の代わりに
like を使います。またワイルドカードも、Excelでの*(任意の複数文字)は%を、
?(任意の1文字)は_を使います。例えば、フィールド名 tikuで東京を含むデータ
を抽出するときは、
tiku like '%東京%'
となります。ちなみに、含まないは not like になります。(tiku not like '%東京%')
検索条件は AND や OR、または括弧( ) を使用して複数の条件を組み合わせる
ことが出来ます
並び順については、昇順はASC、降順はDESCを指定します。指定しなかった場合は
昇順(ASC)とみなします。
ORDER BY tiku DESC,
並び替える必要がない場合は、ORDER BYの行は不要です。
以上が、基本的なSELECT文です。
ちなみに、SELECT文で抽出したデータをテーブルに入れるには、SELECT文の前に
INSERT INTO (テーブル名)
を追加すればテーブルにデータを追加できます。ただし、主キーを使用している
場合に同じ主キーのデータがある時はエラーが出ますので、同じ主キーのデータ
を無視するのか、置き換えるのかを指定することが出来ます。
(1)同じ主キーのデータを無視する(追加しない)場合、
INSERT IGNORE INTO (テーブル名)
(2)同じ主キーのデータで置き換える(後のデータを優先する)場合、
REPLACE INTO (テーブル名)
をSELECT文の前に追加します。
************************************************************************
<編集後記>
先日、異常データを調べるために久しぶりにAccessを使いました。テーブルを
ダブルクリックするだけで中身を見ることが出来るのは良かったのですが、
いざ集計をしようとするとクエリーが大量に出来て途中で訳が分からなくなって
挫折してしまいました。また、MySQLに比べると計算式の入力もやりにくい事が
追い打ちをかけました。
結局、集計はMySQLで行いました。
MySQLを使い始めた頃は、SQL文を作るのに相当苦労しましたが、今では慣れてし
まい、Accessよりも楽に使えるようになっている自分に気が付いた次第です。
次回は、SELECT文の集計機能を紹介させて頂きます。
************************************************************************ |
|