【MySQL】テーブルを検索しデータを取得する方法|SELECT構文の例
今回は、SQLを利用して、MySQLデータベースのテーブルを検索し、指定した条件を満たすデータを取得する例となります。
例では、データベースはすでに作成し選択している前提としています。
コマンドラインから、データベースを作成・選択する方法については、以下のリンク先を参考にしてみてください。
SQLでテーブルを検索しデータを取得する方法
以下は、テーブルを検索し、条件を満たす行を取得できる基本的なSELECT 構文となり、検索するテーブル・カラムと検索条件を指定します。
SELECT 検索するカラム
FROM 検索するテーブル
WHERE 検索条件;
以下、指定したテーブル内のすべてのカラムを検索し、条件を満たす行を取得する例となります。
指定した文字列を検索する例|LIKE
以下の例では、petテーブルのすべてのカラムを検索し、次の条件を満たす行を取得します。また、すべてのカラムを検索する場合は、検索するカラムに * を指定します。
- カラムnameの値に'ar'の文字列を含む
SELECT *
FROM pet
WHERE
name LIKE '%ar%';
上記の検索条件で利用しているLIKE演算子は、次の文字列を利用できるパターンマッチングとなり、左オペランドが右オペランドの条件にマッチした場合に真を返します。
文字列 | 文字列の意味 |
% | 0 個の文字も含めて、任意の数の文字に一致 |
_ | 正確に1つの文字に一致 |
複数の条件で検索する例|AND
以下の例では、petテーブルのすべてのカラムを検索し、次の条件を満たす行を取得します。
- カラムnameの値が'charlie'と一致
- カラムbirthの値が2020-01-01以上
SELECT *
FROM pet
WHERE
name = 'charlie' AND
birth >= '2020-01-01';
上記の検索条件で利用しているAND演算子は、左右のオペランドが共に条件を満たす場合に真を返します。
指定した範囲で検索する例|BETWEEN ... AND ...
以下の例では、petテーブルのすべてのカラムを検索し、次の条件を満たす行を取得します。
- カラムbirthの値が2020-01-01 から2020-12-31の間
SELECT *
FROM pet
WHERE
birth BETWEEN '2020-01-01' AND '2020-12-31';
上記の検索条件で利用しているBETWEENとANDはセット使用する演算子となり、expr BETWEEN min AND max と表現した場合、expr が min 以上かつ、expr が max 以下の場合に真を返します。
まとめ
以上がコマンドラインからSQLを利用し、MySQLデータベースのテーブルからデータを取得する例となります。
テーブルからデータを取得する方法の詳細や、利用できるその他の演算子などは、文末の参考サイト内を参考にしてみてください。