SQL
データベースの参照
データベースの参照にはSELECT文を使います。
SELECT * FROM テーブル名;
テーブル名:参照するテーブルの名前
*:すべての行のすべての列
SELECT 列名 FROM テーブル名;
テーブルから指定した列だけを取り出す。
特定の列を取り出すことを射影と呼びます。
特定の行だけを読みだすには
年齢が30歳以上の人だけとか、男性だけとかある条件を満たす行だけを取り出すことができます。特定の行を取り出す操作を選択と呼ぶことがあります。
条件式の書き方
SELECT <列名リスト> FROM <表名> WHERE <条件式>;
比較演算子
< 条件より小さい
> 条件より大きい
<= 条件より小さいか同じ
>= 条件より大きいか同じ
条件と同じ
<> 条件と異なる
実行例
SELECT * FROM 商品 WHERE 商品コード=100;
商品コードが100の行を取り出します。
実行例
SELECT * FROM 商品 WHERE 商品コード>=200;
商品コードが200以上の行を取り出します。
※時間やテキストを条件式にするには、値の部分をクォーテーションなどで囲むなどの決まりがあります。これはデータベースの種類やOSによって異なります。
あいまい検索ができる演算子
BETWEEN<A>AND<B> 条件Aと条件Bの間
IN 条件のいずれかと一致
LIKE 条件を含む
実行例
SELECT * FROM 商品 WHERE 単価 BETWEEN 1000 AND 1999;
商品表から単価が1000円台の行を取り出します。
実行例
SELECT * FROM 商品 WHERE 商品コード IN(10,20,30);
商品表から商品コードが10、20、30のどれかと一致する行を取り出します。
実行例
SELECT * FROM 商品 WHERE 商品名 LIKE '%大きい%';
商品表から商品名に’大きい’という文字列を含む行を取り出します。
%をワイルドカード文字といい、データベースによって使える記号が異なります。
行の挿入
INSERT INTOコマンド
行を追加するにはINSERT INTOコマンドを使います。
VALUES句
表に一行ずつ追加するときは、設定する値を書くのに、VALUES句を使います。
INSERT INTO <表名> (<列名リスト>) VALUES (<値のリスト>);
実行例
INSERT INTO EMP (EMPNO,ENAME,JOB) VALUES (1111,'YAMADA','SE');
カッコが二つあり、左のカッコには値を設定する列名を書き、右のカッコにはそこに入れる値をリストします。
データの更新
UPDATEコマンド
データの更新にはUPDATEコマンドを使います。
UPDATE <表名> SET <代入式のリスト>;
実行例
UPDATE 商品 SET 単価=単価 * 1.1;