MySQL データの検索、SELECT文と演算子
データの検索
SELECT文
SELECT 検索する列名 FROM テーブル名 WHERE 条件 GROUP BY グループ化定義 HAVING グループ化後の検索条件 ORDER BY 並べ替えの定義 ;
指定した列のデータを取り出す
SELECT 検索列名1, 検索列名2 FROM テーブル名;
全ての列のデータを取り出す
SELECT * FROM テーブル名;
重複データを除外してデータを取り出す
SELECT DISTINCT 検索する列名 FROM テーブル名;
算術演算子
列の値を演算子を用いて計算し結果を値にすることが可能
例
SELECT 数値 - 列名 FROM テーブル名;
列名の名前を変更して検索結果を表示
例
SELECT 2021 - 列名 AS 新しい列名, 列名 AS '新しい列名' FROM テーブル名;
連結演算子
mysqlで「 || 」を使用可能にする
SET SESSION sql_mode='PIPES_AS_CONCAT';
列の値同士を連結して新しい列名として検索
SELECT 列名1 || 列名2 AS 新しい列名 FROM テーブル名;
* 「 || 」を使用可能にしていないと新しい列名の値はすべて「 0 」になってしまう
WHERE句
- 「 WHERE 条件; 」で検索する条件を指定できる
- 条件には演算子を用いて指定可能
例
SELECT 列名 FROM テーブル名 WHERE 列名 != 10; // 列名の値が10以外のものを指定
論理演算子
論理演算子 | 説明 |
---|---|
AND | 論理積「 & 」 |
OR | 論理和「 || 」 |
NOT | 否定「 != 」 |
WHERE 条件1 AND(OR) 条件2; WHERE NOT 条件;
優先順位
- NOT
- AND
- OR
文字演算子
文字演算子 | 説明 |
---|---|
BETWEEN ~ AND ・・・ | ~から・・・まで |
IN(~, ~, ...) | ~か~か... |
LIKE ~ | ~が含まれる |
IS NULL | NULLであったら |
BETWEEN演算子
WHERE 列名 BETWEEN 値1 AND 値2;
IN演算子
WHERE 列名 IN (値1, 値2,...);
LIKE演算子
WHERE 列名 LIKE '%値%';//値の前後に任意の文字列 WHERE 列名 LIKE '_値';//値の前に任意の一文字
- 「 % 」= 任意の長さの文字列
- 「 _ 」= 任意の一文字
IS NULL演算子
WHERE 列名 IS NULL; // 列の値にデータが存在しない WHERE 列名 IS NOT NULL; // 列の値にデータが存在する