WHERE句で、MySQLから指定したデータを抽出する方法を記します。
MySQLでWHERE句を使ってデータ抽出がベンリ
ついに...データベースを操るっぽいことやっていきます!
今回は以下テーブルからデータ抽出を行ってみます↓
textの「ディッシュ」、ティッシュが正解です!(なおせw
1. MySQLからテーブルを選択してSQLタブを開く
phpMyAdminを開き、データ抽出の対象となるテーブルを選択。
SQLタブを選択します。
SQLを入力する画面が開きます。
2. データ抽出するテーブルを選択しインライン編集画面を開く
SQLの入力画面に以下を入力し実行し、
SELECT * FROM mytable;
対象のテーブルを表示します。
3. WHERE句でデータを抽出する
同じ画面で[インラインを編集する]をクリックし、
SQL文の編集画面を開き、
WHERE句でデータ抽出します。試しに「idが2のレコードを抽出するSQL文」をかいて実行してみました。
SELECT * FROM mytable WHERE id='2';
idが2のレコードデータが抽出されました!
SQL抽出の部分がオレンジ枠で囲まれます(赤枠で見づらくてごめんなさい)
色んなカラムのデータレコードを抽出してみる
この記事用の例に挙げたテーブルには、
以下のような項目と内容を定めています。なんでこのテーブルの中から、適当に他のデータも抽出してみます。
項目 | 定義されてる内容 |
---|---|
id | 1,2,3,4 |
text | コップ,ディッシュ,スマホ,水 |
price | 250,150,150,200 |
keyword | [赤い,丸い,小さい][緑,四角い,紙][青い,四角い,小さい][青い,液体] |
textから「コップ」のレコードを抽出する
カラムのtextから「コップ」の入ったレコードを抽出するには、以下を入力して実行。
SELECT * FROM mytable WHERE text='コップ'
コップに該当するレコードが抽出されました。
priceが150以下を抽出する
カラムpriceから「150」以下のレコードを抽出するには、以下を入力して実行。
SELECT * FROM mytable WHERE price<=150;
はい。なんとなくパターンが見えてきました。
しかし!keywordの抽出では、LIKE演算子を利用して抽出していくのでidやtext、priceのような抽出方法ではエラーになってしまうんですよね〜
まとめ
なのでkeywordの抽出方法は、すみません次回に持ち越します。

追記:別記事「MySQLのWHEREとLIKE演算子でデータ検索する方法」にまとめました。
>MySQLでカラム追加・削除をする方法(phpMyAdmin)