トップページ -> 研究道具箱と教材 -> SQL 入門(演習で学ぶ)
[サイトマップへ]  

SQL 入門(演習で学ぶ)

SQLの基本機能を演習で理解するという内容です。

  1. 第1回: リレーショナルデータベースを使ってみよう

    ■ 説明資料: [HTML], [PDF], [PPT]

    【実習内容】

    • SQLite データベースの新規作成
      .open C:\SQLite\mydb 
      
    • SQL を用いたテーブル定義
      create table P (
        id integer primary key not null, 
        name text, 
        weight read );
      
    • SQL を用いたテーブルの削除
      drop table P;
      
    • SQLite コマンドライン・クライアントの終了
      .exit
      

  2. 第2回: テーブル定義と一貫性成約の記述,テーブルへの行の挿入,SQL問い合わせ

    ■ 説明資料: [HTML], [PDF], [PPT]

    【実習内容】

    • SQL を用いたテーブル定義と制約の記述
      create table products (
        id integer primary key not NULL,
        product_name text unique not NULL,
        type text not NULL,
        cost real,
        created_at datetime not NULL
      ); 
      
    • SQL を用いたテーブルへの行の挿入
      BEGIN TRANSACTION;
      INSERT INTO products VALUES( 1, 'Fukuoka apple', 'apple', 50, datetime('now') );
      INSERT INTO products VALUES( 2, 'Kumamoto orange L', 'orange', 30, datetime('now') );
      INSERT INTO products VALUES( 3, 'Kumamoto orange M', 'orange', 20, datetime('now') );
      INSERT INTO products VALUES( 4, 'Fukuoka melon', 'melon', NULL, datetime('now') );
      COMMIT; 
      
    • SQL 問い合わせの発行と評価結果の確認
      SELECT * FROM products;
      SELECT * FROM products WHERE type = 'orange';
      SELECT * FROM products WHERE cost > 25;
      
  3. 第3回: テーブルの結合

    ■ 説明資料: [HTML], [PDF], [PPT]

    【実習内容】

    • テーブルの準備(SQL を用いたテーブル定義,SQL を用いたテーブルへの行の挿入)
      create table R (
        A text, 
        B text );
      begin transaction;
      insert into R values('a','b');
      insert into R values('d','a');
      insert into R values('a','d');
      commit;
      
      create table S (
        B text, 
        C text, 
        D text );
      begin transaction;
      insert into S values('b', 'c', 'f');
      insert into S values('d', 'e', 'a');
      insert into S values('d', 'e', 'c');
      commit;
      
    • SQL を用いた結合問い合わせ
      select * 
      from R, S
      where R.B = S.B;
      
      select * 
      from R, S
      where R.B = S.B and C = 'e';
      
      select A, D 
      from R, S
      where R.B = S.B;
      

(参考) CGI プログラムのサンプル