16
データベース技術 8回(2015.11.171

データベース技術 8(Database_8)

Embed Size (px)

Citation preview

Page 1: データベース技術 8(Database_8)

データベース技術第8回(2015.11.17)

1

Page 2: データベース技術 8(Database_8)

テーブルの作成•基本構文

- CREATE TABLE テーブル名(カラム名1, カラム名2, ...);

•カラムにデータ型を指定してテーブルを作成- CREATE TABLE テーブル名(カラム名1 データ型, カラム名2 データ型, ...);

•テーブルとカラム-名前には任意の名前を指定できる

-テーブルには少なくとも1つのカラムが必要

2

Page 3: データベース技術 8(Database_8)

テーブルの操作•テーブル名の変更

- ALTER TABLE テーブル名 RENAME TO 新テーブル名;

•カラムの追加- ALTER TABLE テーブル名 ADD COLUMN カラム名[ データ型];

•テーブルの削除- DROP TABLE テーブル名;

3

Page 4: データベース技術 8(Database_8)

制約の指定•PRIMARY KEY制約

- INTEGER PRIMARY KEYの設定

- AUTOINCREMENTの設定

•NOT NULL制約

•UNIQUE制約

•DEFAULT制約

•CHECK制約4

Page 5: データベース技術 8(Database_8)

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

Page 6: データベース技術 8(Database_8)

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

Page 7: データベース技術 8(Database_8)

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

Page 8: データベース技術 8(Database_8)

SQLiteの操作•データーベスの作成&接続

•テーブルの作成

•データの追加、更新、削除

•データの取得今日やること

8

Page 9: データベース技術 8(Database_8)

データの追加(1)•全てのカラムに値を指定

- INSERT INTO テーブル名 VALUES(値1, 値2, ...);

-値はカラムの順に指定する

-カラム数と追加データの数が不一致だとエラーになる

•実行例

データの数が不一致エラーになる

9

Page 10: データベース技術 8(Database_8)

データの追加(2)•特定のカラムだけに値を指定しデータを追加

- INSERT INTO テーブル名(カラム1, カラム2, ...) VALUES(値1, 値2, ...);

-値を指定しないカラムはデフォルト値が格納される•実行例

デフォルト値10

Page 11: データベース技術 8(Database_8)

データの更新(1)•既に格納されているデータを変更する

- UPDATE テーブル名 SET カラム名1 = 値1, カラム名2 = 値2, ... WHERE 条件式;

-更新対象のデータは、WHERE句の条件式で指定する

-条件式に一致するデータが複数の場合は、複数の  データが更新される

- WHERE句を省略した場合、全てのデータが更新される

11

Page 12: データベース技術 8(Database_8)

データの更新(2)•実行例

カラム「name」の値が「Tanaka」のデータを更新

12

Page 13: データベース技術 8(Database_8)

データの削除(1)•テーブルに格納済みのデータを削除する

- DELETE FROM テーブル名 WHERE 条件式;

-削除対象のデータは、WHERE句の条件式で指定する

-条件式に一致するデータが複数の場合は、複数の  データが削除される

- WHERE句を省略した場合、全てのデータが削除される

13

Page 14: データベース技術 8(Database_8)

データの削除(2)•実行例

カラム「name」の値が

「no name」のデータを削除

14

Page 15: データベース技術 8(Database_8)

Work:各自のデータベース作成•各自の概念スキーマに基づいたデータベースを 作成しましょう1.データベースを作成する2.概念スキーマに沿ってテーブルを作成する3.テーブルにデータを格納する

•下記を提出する-.schemaコマンドの結果-各テーブル内容(「select * from テーブル名」の結果)-スクリーンショットをまとめて、PDFファイルで提出

15

Page 16: データベース技術 8(Database_8)

参考文献•SQLite入門 http://www.dbonline.jp/sqlite/

16