SlideShare a Scribd company logo
1 of 16
Download to read offline
1
si-2. テーブル定義,
データ型,主キー,SQL
問い合わせ
金子邦彦
SQL 入門演習(SQLite3 を
利用)(全3回)
SQL の入門者へ
https://www.kkaneko.jp/cc/sqlite3/index.html
第2回のアウトライン
• テーブル
• テーブル定義
• データ型
• 主キー
• NULL
• テーブルへのレコードの挿入
• SQL 問い合わせ
2
テーブルの例
3
テーブル名: products
id name price
1 orange 50
2 apple 100
3 melon 500
テーブル定義
4
テーブル定義では,
・テーブル名
・属性の属性名
・属性のデータ型
などを設定して,テーブルを定義する
CREATE TABLE products (
id INTEGER PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
price REAL);
テーブル名: products
id name price
1 orange 50
2 apple 100
3 melon 500
属性のデータ型
5
テーブル
の本体
属性名
それぞれの属性のデータ型
整数 長いテキスト 浮動小数点数
← SQL のキーワード
INTEGER TEXT REAL
id name price
1 orange 50
2 apple 100
3 melon 500
属性のデータ型
6
Access の主なデー
タ型
SQL のキーワー
ド
NULL 空値
短いテキスト CHAR 文字列
長いテキスト TEXT 文字列
数値 INTEGER,
REAL
整数や浮動小数
点数
日付/時刻 DATETIME 日付や時刻など
Yes/No BIT, BOOL ブール値
※ 整数は INTEGER, 浮動小数点数(小数付きの数)は
REAL
※ 短いテキストは半角 255文字分までが目安
それ以上になる可能性があるときは長いテキスト
id name price
1 orange 50
2 apple 100
3 melon 500
主キー
7
通し番号,学生番号のように,1つのテーブルの中で
同じ値が2回以上出ないと前もって分かっている属性
主キー
リレーショナルデータベースの NULL
• NULL は「ヌル」あるいは「ナル」と読む
• リレーショナルデータベースで NULL は,次の場
合に使う
1. 未定,未知,不明(分からない場合)
2. 非存在(もともと存在しない場合)
8
テーブル定義と一貫性制約
9
【SQL プログラム】
id:
主キー (PRIMARY KEY),
NULL になることはない (NOT NULL)
name:
NULL になることはない (NOT NULL)
テーブルの制約について記述.
データベースの一貫性を維持するのに役立つ.
CREATE TABLE products (
id INTEGER PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
price REAL);
テーブル定義 products
10
【SQL プログラム】
CREATE TABLE products (
id INTEGER PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
price REAL);
新しいレコードの挿入
11
テーブル名 値の並び.半角のカンマ「,」で区切る
※ 文字列は半角の「'」で囲む
INSERT INTO products VALUES(4, 'apple', 150);
id name price
1 orange 50
2 apple 100
3 melon 500
id name price
1 orange 50
2 apple 100
3 melon 500
4 apple 150
テーブル名: products
問い合わせ(クエリ)の仕組み
12
データの種類ごとに分かれ
た,たくさんのテーブル
問い合わせ
(クエリ)
のコマンド
問い合わせ(クエリ)
の結果は,テーブル形式の
データ
リレーショナル
データベースシステム
INSERT INTO products VALUES( 1, 'orange', 50 );
INSERT INTO products VALUES( 2, 'apple', 100 );
INSERT INTO products VALUES( 3, 'melon', 500 );
SELECT * FROM products;
レコードの挿入,SQL 問い合わせ
13
【SQL プログラム】
SELECT * FROM products WHERE price > 90;
SQL 問い合わせ
14
【SQL プログラム】
SQL を用いたテーブルの削除
15
drop table products;
【SQL プログラム】
テーブル products の削除
ここで使用した SQL
• テーブル定義
CREATE TABLE ...
• 問い合わせ
SELECT ... FROM ...
SELECT ... FROM ... WHERE ...
• レコードの挿入
INSERT INTO ...
16

More Related Content

Similar to si-2. テーブル定義,データ型,主キー,SQL 問い合わせ

12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと Haruka Ozaki
 
データベース04 - SQL(SELECT:基本)
データベース04 - SQL(SELECT:基本)データベース04 - SQL(SELECT:基本)
データベース04 - SQL(SELECT:基本)Kenta Oku
 
20080617 05 Mysql
20080617 05 Mysql20080617 05 Mysql
20080617 05 Mysqlstiq 2e
 
データベース技術 8(Database_8)
データベース技術 8(Database_8)データベース技術 8(Database_8)
データベース技術 8(Database_8)Yuka Obu
 
今更だけどSqLite触ってみたよ
今更だけどSqLite触ってみたよ今更だけどSqLite触ってみたよ
今更だけどSqLite触ってみたよKeisuke Oohata
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性Ohyama Masanori
 

Similar to si-2. テーブル定義,データ型,主キー,SQL 問い合わせ (6)

12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
 
データベース04 - SQL(SELECT:基本)
データベース04 - SQL(SELECT:基本)データベース04 - SQL(SELECT:基本)
データベース04 - SQL(SELECT:基本)
 
20080617 05 Mysql
20080617 05 Mysql20080617 05 Mysql
20080617 05 Mysql
 
データベース技術 8(Database_8)
データベース技術 8(Database_8)データベース技術 8(Database_8)
データベース技術 8(Database_8)
 
今更だけどSqLite触ってみたよ
今更だけどSqLite触ってみたよ今更だけどSqLite触ってみたよ
今更だけどSqLite触ってみたよ
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
 

More from kunihikokaneko1

cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い kunihikokaneko1
 
cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション  cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション kunihikokaneko1
 
cs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスcs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスkunihikokaneko1
 
cs-5. 人工知能の概要
cs-5. 人工知能の概要 cs-5. 人工知能の概要
cs-5. 人工知能の概要 kunihikokaneko1
 
cs-4. プログラミング入門
cs-4. プログラミング入門cs-4. プログラミング入門
cs-4. プログラミング入門kunihikokaneko1
 
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスcs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスkunihikokaneko1
 
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 kunihikokaneko1
 
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタcs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタkunihikokaneko1
 
mi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンmi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンkunihikokaneko1
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線kunihikokaneko1
 
mi-6. 画像分類システム
mi-6. 画像分類システムmi-6. 画像分類システム
mi-6. 画像分類システムkunihikokaneko1
 
mi-5. ディープラーニング
mi-5. ディープラーニングmi-5. ディープラーニング
mi-5. ディープラーニングkunihikokaneko1
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習kunihikokaneko1
 
mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例kunihikokaneko1
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要kunihikokaneko1
 
Coding Standards of C++ について
 Coding Standards of C++ について  Coding Standards of C++ について
Coding Standards of C++ について kunihikokaneko1
 
co-3. サブクラス、継承
co-3. サブクラス、継承co-3. サブクラス、継承
co-3. サブクラス、継承kunihikokaneko1
 
co-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しco-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しkunihikokaneko1
 

More from kunihikokaneko1 (20)

cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い
 
cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション  cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション
 
cs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスcs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンス
 
cs-5. 人工知能の概要
cs-5. 人工知能の概要 cs-5. 人工知能の概要
cs-5. 人工知能の概要
 
cs-4. プログラミング入門
cs-4. プログラミング入門cs-4. プログラミング入門
cs-4. プログラミング入門
 
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスcs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
 
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
 
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタcs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
 
mi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンmi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョン
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
 
mi-6. 画像分類システム
mi-6. 画像分類システムmi-6. 画像分類システム
mi-6. 画像分類システム
 
mi-5. ディープラーニング
mi-5. ディープラーニングmi-5. ディープラーニング
mi-5. ディープラーニング
 
mi-4. 機械学習
mi-4. 機械学習mi-4. 機械学習
mi-4. 機械学習
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習
 
mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要
 
kaneko202304.pptx
kaneko202304.pptxkaneko202304.pptx
kaneko202304.pptx
 
Coding Standards of C++ について
 Coding Standards of C++ について  Coding Standards of C++ について
Coding Standards of C++ について
 
co-3. サブクラス、継承
co-3. サブクラス、継承co-3. サブクラス、継承
co-3. サブクラス、継承
 
co-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しco-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出し
 

si-2. テーブル定義,データ型,主キー,SQL 問い合わせ