トップページ -> インストール,設定,利用 -> SQLite 3 とSQL 演習 -> SQLite 3 のインストール,データベース作成,テーブル定義とレコード挿入(Ubuntu 上)
[サイトマップへ], [サイト内検索へ]

SQLite 3 のインストール,データベース作成,テーブル定義とレコード挿入(Ubuntu 上)

SQLite は,パブリックドメイン組み込み型のデータベース管理システム・ソフトウエアです.

この Web ページでは,SQLite 3 コマンドライン・インタフェースのダウンロードと実行を行う. SQLite 3 コマンドライン・インタフェースの中にすでに データベース管理システムが組み込まている.

SQLite の利点を大胆にまとめると,

のことを考えなくても使える.通信しないので,ファイヤウオールの設定で悩むこともない.以上が利点である.

SQLite の SQL に関する詳しい説明は:

SQLite コマンドライン・クライアントに関する詳しい説明は:


SQLite バージョン 3 コマンドライン・インタフェースのインストール(Ubuntu 上)

■ Ubuntu での実行手順例

sudo apt -yV install sqlite3

[image]

SQLite3 の起動と終了,ヘルプの表示,エンコーディングの確認

Linux の端末 (terminal) で,次の操作を行う.

  1. SQLite の起動

    このとき,データベース名として /var/tmp/mydb を指定する.SQLite の流儀で,データベース名はファイル名になる.

    ※ データベース名はなんでも良いが、英文字と数字のみを使うのが良い.

    ※ データベース名は「../hoge」のような相対パス形式でもいいし,カレントディレクトリを使うつもりで「hoge2」のようにしてもいい.

    sqlite3 /var/tmp/mydb
    

    [image]
  2. ヘルプの表示

    .help」で,ヘルプが表示される.

    .help 
    

    [image]
  3. 現在使用中のデータベースについての,文字のエンコーディングの確認 (encoding)

    PRAGMA encoding;」で,エンコーディングが表示される.

    PRAGMA encoding;
    

    [image]
  4. SQLite 3 の終了

    .exit」で終了.

    .exit
    

    [image]

空のデータベースの新規作成

ここでの設定

  1. SQLite を実行する.
    sqlite3
    

    [image]
  2. データベースの新規作成

    空のデータベースを作成したいので次のように操作.

    「--new 」を付けているので,すでにデータベースファイルが存在するときは,その中身を空にする.

    .open --new /var/tmp/hoge.db
    

    [image]
  3. 「.exit」を実行して,SQLite 3 を終了.
    .exit
    

    [image]

テーブル定義

ここで定義するテーブル: P(id, name, weight)

  1. SQLite を実行する.
    sqlite3
    

    [image]
  2. データベースの新規作成

    空のデータベースを作成したいので次のように操作.

    「--new 」を付けているので,すでにデータベースファイルが存在するときは,その中身を空にする.

    .open --new /var/tmp/hoge.db
    

    [image]
  3. SQL を用いたテーブル定義

    create table order_records (
        id            integer primary key not null,
        year          integer not null CHECK ( year > 2008 ),
        month         integer not null CHECK ( month >= 1 AND month <= 12 ),
        day           integer not null CHECK ( day >= 1 AND day <= 31 ),
        customer_name text not null,
        product_name  text not null,
        unit_price    real not null check ( unit_price > 0 ),
        qty           integer not null default 1 check ( qty > 0 ),
        created_at    timestamp not null default (datetime('now', 'localtime')),
        updated_at    timestamp not null default (datetime('now', 'localtime')),
        check ( ( unit_price * qty ) < 200000 ) );
    
    create trigger order_records_update after update on order_records
    begin
        update order_records set last_updated_at = (datetime('now', 'localtime')) where id = new.id; 
    end;
    

    [image]
  4. SQL を用いたレコード挿入

    begin transaction;
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 1, 2020, 7, 26,  'kaneko', 'orange A', 1.2, 10 );
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 2, 2020, 7, 26,  'miyamoto', 'Apple M',  2.5, 2 );
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 3, 2020, 7, 27,  'kaneko',   'orange B', 1.2, 8 );
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price) values( 4, 2020, 7, 28,  'miyamoto',   'Apple L', 3 );
    commit;
    

    [image]
  5. 確認表示

    select * from order_records;
    

    [image]
  6. 更新し確認表示

    begin transaction;
    update order_records set unit_price = 11.2 where id = 1;
    commit;
    select * from order_records;
    
  7. 「.tables」を実行して,テーブルが定義できたことを確認.
    .tables 
    

    [image]
  8. 「.exit」を実行して,SQLite 3 を終了.
    .exit
    

    [image]

本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]