退職後の菜園入門 家庭菜園の栽培日記

初心者の方へ 野菜の育て方 ヒントとポイント

PHP初心者 selectの使い方 列と行

データを抽出するときの select について考えてみます。

テーブルの列と行の再確認です。
縦が列で横が行です。
列には列名がついていますが行には行番号はついていません。
id というのはデータの一部で行番号ではありません。

列を取り出すという表現をします。
この意味がよくわかりませんでした。

この表の場合、idが102でヒットしたとき pw列はtokugawa102でname列は徳川家康でsdrs列は岡崎ということになります。

列を取り出すということは、該当する行のその列の値を取り出すということでした。

データは配列になっていて、配列の内容は行ということです。


select文は二通りあるようです。

1)select * from customer
2)select * from customer where id=5

1)の*は縦列のデータはすべてということです。
ここを name, address とするとcustomerテーブルのname列とaddress列の値だけをとりこみます。

select 列名 from テーブル という書式になっています。

2)のselect * from customer where id=5は上と同じですが、whereでid列の指定しています。

idが5の行のすべての列の値を配列にするということです。
idでなくここはnameなど、どの列の指定もできます。

select name from customer where id=5とすると、id列が5の行のname列の値をとりこみます。

私の作ったユーザーテーブルでテストしてみます。

下のようなselect文を書いています。

アスタリスクですべてのデータを指定しています。


このようにすべてのデータが表示されます。
すべてのデータというのは、どの行もすべての列名の値を取得しているということです。
一番上のnameなどの列名はあとから書き加えたものです。

配列の一行目は
[
 [ id列の一行目の値] [ name列の一行目の値 ] [ address列の一行目の値] [ mail列の一行目の値][ password列の一行目の値]
]
となっています。

こんどは内容を変えて抽出してみます。


抽出する列をnameとaddressにしました。

結果は下のような表示になりました。
名前と住所だけになっています。

次はwhereをいれてみます。
id列の値が3の行のname列の値とmail列の値を表示します。


id列が3の行のname列の値とmail列の値をとりこんでいます。

このようにid列が3の行のname列の名前とmail列のメールが表示されました。
idが3と、一行の指定なので一行しか表示されません。

長くなりましたが、データは配列になっている。
配列は行をあらわしている。
行は列の値を持っている。
ということでした。