第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.

Slides:



Advertisements
Similar presentations
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
Advertisements

DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
SQLite3
インターネット技術特論 H:SQLite3 山口 実靖
情報理工学部 情報システム工学科 ラシキアゼミ 3年 H 井奈波 和也
データベース工学および演習 第5章 リレーショナルデータベース言語SQL
PostGIS - 1 (入門編).
SQL データベースアクセスのための文法と MySQL
3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室.
MySQLに接続するデータベースプログラム
Excel による データベース入門 Ver /9.
6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
ACCESSによる データベースアプリケーション開発実習 日本工業大学 情報工学科 “データベースの実際” 教材
Accessによる SQLの操作 ~実際にテーブルを操作してみよう!~.
SQL J2EE I 第3回 /
RDBMSについて 2年7組  小鹿 慎太郎.
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
マイクロソフト Access を使ってみよう 第5回
マイクロソフト Access を使ってみよう 第1回
データベース設計 第9回 Webインタフェースの作成(1)
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
マイクロソフト Access を使ってみよう 第4回
データベースとJavaをつなげよう! ~JDBC~
15.同時実行制御,トランザクション, データベースの回復
2004/05/13 3-4 データ型(カラムタイプ) について 発表者:藤村元彦 自然言語処理研究室.
11.Webサイトとデータベース, Webサイト+ブログシステムの開設手順例
SQL パフォーマンス チューニング ~ カバーリングインデックス/クエリヒントの利用~
JDBC J2EE I 第4回 /
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
3-10. MySQLシステムの管理  2004年6月10日  大北高広                01T6010F.
第1回.リレーショナルデータベースを使ってみよう
第1回.リレーショナルデータベースを使ってみよう
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
SQL パフォーマンス チューニング ~ プランガイドの利用~
マイクロソフト Access での SQL 演習 第5回 副問い合わせ
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
JDBC データベース論 第12回.
Javaによる Webアプリケーション入門 第7回
09 06/23 PHP と SQL (MySQL) の連携 その1
3-6.インデックスについて 3-7.関数と併用されることの 多いMySQLコマンド
3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟.
「Webデータベースの構築技術」正誤表 ページ 項目 誤記 訂正 18 表1.4 アクセス 権限の削除 ・・・テーブル名 TO ユーザ名
マイクロソフト Access での SQL 演習 第4回 並べ替え(ソート)
講義ノート共有データベース NoteTotter?
マイクロソフト Access を使ってみよう 第2回
WinSCPのインストール方法
データベース設計 第8回 クライアント=サーバーモデル(2)
マイクロソフト Access を使ってみよう 第3回
JDBC J2EE I (データベース論) 第5回 /
情報処理Ⅱ 第2回:2003年10月14日(火).
マイクロソフト Access での SQL 演習 第2回 集計,集約
3.リレーショナルデータベース,主キー, SQL
JDBC ソフトウェア特論 第3回.
再帰CTE を使って遊ぼう 大阪#9 2012/04/14.
関係データベースとSQL MZ Platform講習会(上級).
リレーショナル・データベース J2EE I (データベース論) 第2回 /
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
データベース第3回目 意味ごとにテーブルを分ける
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
第1回.リレーショナルデータベースを使ってみよう
アウトライン Shiny の仕組み R システムに準備済みのオブジェクト Shiny のインストール Shiny のプログラム.
地理情報システム論 第6回 GISによる処理技法 GIS入門(2)
SQL J2EE I (データベース論) 第3回 /
JSONの概要, Cloud FireStore で JSON を扱う
TList リスト構造とは? 複数のデータを扱うために、 データの内容と、次のデータへのポインタを持つ構造体を使う。
クリエイティブ リサーチ 2019/05/20 日本工学院八王子専門学校 M.Katsube.
SQL データベース論 第11回.
Presentation transcript:

第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認

作成するテーブル (table) id product_name type cost created_at 1 Fukuoka apple 行 (row) と呼ぶ id product_name type cost created_at 1 Fukuoka apple apple 50 2018-05-07 11:04:53 2 Kumamoto orange L orange 30 2018-05-07 11:04:54 3 Kumamoto orange M 20 2018-05-07 11:04:55 4 Fukuoka melon melon NULL 2018-05-07 11:04:56 列 (column) と呼ぶ

事前準備.SQLite コマンドライン・インタフェースのダウンロード ① SQLite の Web ページを開く. http://www.sqlite.org/

事前準備.SQLite コマンドライン・インタフェースのダウンロード ②「Download」をクリック ③ Windows 版のダウンロード

事前準備.SQLite コマンドライン・インタフェースのダウンロード ④ ダウンロードした .zip ファイルを展開(解凍) sqlite3.exe を使う

SQLite データベースの新規作成 データベース論理名: C:\SQLite\mydb で,SQLite データベースの新規作成 ① 前もって Windows で C:\SQLite というディレクトリ(フォルダ)を作成しておく ② sqlite3.exe を実行 ③ 新しい画面が開くので確認

SQLite データベースの新規作成 データベース論理名: C:\SQLite\mydb で,SQLite データベースの新規作成 ④ 「.open --new」で,SQLite データベースの新規作成 .open --new C:\\SQLite\\mydb ・このファイルがすでに存在するときは,いったん削除 され,空のファイルが新規作成される ・このファイルが存在しないときは, 新しい SQLite データベースのファイルが新規作成される

SQL を用いたテーブル定義と制約の記述 【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 を用いたテーブルへの行の挿入 【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 問い合わせの発行と評価結果の確認 【SQL プログラム】 SELECT * FROM products;

SQL 問い合わせの発行と評価結果の確認 【SQL プログラム】 SELECT * FROM products WHERE type = 'orange';

SQL 問い合わせの発行と評価結果の確認 【SQL プログラム】 SELECT * FROM products WHERE cost > 25;

SQL 問い合わせの発行と評価結果の確認 【SQL プログラム】 SELECT * FROM products;

SQL 問い合わせの発行と評価結果の確認 【SQL プログラム】 SELECT * FROM products; SELECT * FROM products WHERE type = 'orange'; SELECT * FROM products WHERE cost > 25;

SQLite コマンドライン・クライアントの終了 次のコマンドを実行 .exit

ここで使用した SQL CREATE TABLE ... SELECT ... FROM ... SELECT ... FROM ... WHERE ... INSERT INTO ...

SQLのデータ型 NULL 空値 (a NULL value) integer 符号付きの整数 (signed integer) real 浮動小数点値 (floating point value) char, text 文字列 (text string) datetime 日付や時刻など   bool ブール値 BLOB バイナリラージオブジェクト  など

リレーショナルデータベースの NULL NULL は「ヌル」あるいは「ナル」と読む リレーショナルデータベースで NULL は,  次の場合に使う  1. 未定,未知,不明(分からない場合)  2. 非存在(もともと存在しない場合)

テーブル定義とは リレーショナルデータベースにおいて、 ・テーブル名 ・各フィールドのフィールド名(属性名) ・各フィールドのデータ型 などを定義すること.主キーの指定,制約の指定も行う

SQL でのテーブル定義 create table <テーブル名> ( <属性名> <データ型名> [<列制約>], … [<テーブル制約>], ); ※ 列制約とテーブル制約は省略可能,複数可能  ※ テーブルの削除は drop table

列制約 ◆ 一貫性制約 primary key 主キー not null 非空 unique 一意 ◆ 一貫性制約 primary key 主キー not null 非空 unique 一意 references <テーブル名> (<属性名>, ...) 参照整合性制約 check (<式>) 更新時にチェック ※ check は SQLite 固有の機能 ◆ デフォルト値,自動インクリメント default(<式>) デフォルト値 autoincrement 自動インクリメント

一貫性制約のうち複数の属性に関わるものは,テーブル制約の形で記述 ◆ 一貫性制約 primary key (<属性名の並び>) 主キー unique (<属性名の並び>) 一意 check (<式>) 更新時にチェック ※ check は SQLite 固有の機能

テーブルへの行の挿入 insert into <テーブル名> values (<式>, ...); 指定された値で,1行挿入 insert into <テーブル名> (<属性名>, ...) values (<式>, ...); 指定された値を,指定された属性名に格納して 1行挿入

BEGIN TRANSACTION, COMMIT, ROLLBACK トランザクションとはデータベースの処理単位 begin transaction データベース更新の前に発行 commit 「begin transaction」以降の全ての データベース更新操作を確定 rollback データベース更新操作を破棄

ロールバック (rollback) のイメージ 操作1、操作2、操作3 と操作していて、 最初に戻したくなったら・・・ begin transaction rollback コマンド 操作1 データベース管理 システム 操作2 操作3 rollback