データベース技術 8(database_8)
TRANSCRIPT
データベース技術第8回(2015.11.17)
1
テーブルの作成•基本構文
- CREATE TABLE テーブル名(カラム名1, カラム名2, ...);
•カラムにデータ型を指定してテーブルを作成- CREATE TABLE テーブル名(カラム名1 データ型, カラム名2 データ型, ...);
•テーブルとカラム-名前には任意の名前を指定できる
-テーブルには少なくとも1つのカラムが必要
2
テーブルの操作•テーブル名の変更
- ALTER TABLE テーブル名 RENAME TO 新テーブル名;
•カラムの追加- ALTER TABLE テーブル名 ADD COLUMN カラム名[ データ型];
•テーブルの削除- DROP TABLE テーブル名;
3
制約の指定•PRIMARY KEY制約
- INTEGER PRIMARY KEYの設定
- AUTOINCREMENTの設定
•NOT NULL制約
•UNIQUE制約
•DEFAULT制約
•CHECK制約4
Work:小テストテーブルの作成•下記の2つのテーブルを作成してみましょう
•manabaの採点を行いました→成績から確認
「sales」表
「sales_detail」表
フィールド名 データ型 制約id INT PRIMARY KEY, NOT NULL, AUTO_INCREMENT
date TEXT NOT NULLcountry INT
フィールド名 データ型 制約report_id INT PRIMARY KEY, NOT NULLitem_id INT PRIMARY KEY, NOT NULLcount INT NOT NULL
先週の
5
Work:テーブルの作成(解答1)•下記のテーブルを作成してみましょう「sales」表フィールド名 データ型 制約
id INT PRIMARY KEY, NOT NULL, AUTO_INCREMENTdate TEXT NOT NULL
country INT
create table sales( id integer primary key autoincrement, date text not null, country int);
6
Work:テーブルの作成(解答2)•下記のテーブルを作成してみましょう「sales_detail」表フィールド名 データ型 制約
report_id INT PRIMARY KEY, NOT NULLitem_id INT PRIMARY KEY, NOT NULLcount INT NOT NULL
create table sales_detail( report_id int not null, item_id int not null, count int not null, primary key(report_id, item_id));
7
SQLiteの操作•データーベスの作成&接続
•テーブルの作成
•データの追加、更新、削除
•データの取得今日やること
8
データの追加(1)•全てのカラムに値を指定
- INSERT INTO テーブル名 VALUES(値1, 値2, ...);
-値はカラムの順に指定する
-カラム数と追加データの数が不一致だとエラーになる
•実行例
データの数が不一致エラーになる
9
データの追加(2)•特定のカラムだけに値を指定しデータを追加
- INSERT INTO テーブル名(カラム1, カラム2, ...) VALUES(値1, 値2, ...);
-値を指定しないカラムはデフォルト値が格納される•実行例
デフォルト値10
データの更新(1)•既に格納されているデータを変更する
- UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2, ... WHERE 条件式;
-更新対象のデータは、WHERE句の条件式で指定する
-条件式に一致するデータが複数の場合は、複数の データが更新される
- WHERE句を省略した場合、全てのデータが更新される
11
データの更新(2)•実行例
カラム「name」の値が「Tanaka」のデータを更新
12
データの削除(1)•テーブルに格納済みのデータを削除する
- DELETE FROM テーブル名 WHERE 条件式;
-削除対象のデータは、WHERE句の条件式で指定する
-条件式に一致するデータが複数の場合は、複数の データが削除される
- WHERE句を省略した場合、全てのデータが削除される
13
データの削除(2)•実行例
カラム「name」の値が
「no name」のデータを削除
14
Work:各自のデータベース作成•各自の概念スキーマに基づいたデータベースを 作成しましょう1.データベースを作成する2.概念スキーマに沿ってテーブルを作成する3.テーブルにデータを格納する
•下記を提出する-.schemaコマンドの結果-各テーブル内容(「select * from テーブル名」の結果)-スクリーンショットをまとめて、PDFファイルで提出
15
参考文献•SQLite入門 http://www.dbonline.jp/sqlite/
16