復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO

Similar documents
復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO

Microsoft Word - Android_SQLite講座_画面800×1280

PowerPoint Presentation

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

SQLite データベース IS04 組み込み 1

結合演算 ( 復習 ) データベース論 (9) R 社員番号 氏名麻生太郎安部晋三与謝野馨森喜朗 部門経理課営業課総務課営業課 S 部門経理課営業課総務課 電話 問合せ言語と SQL(2) R S 社員番号

Microsoft PowerPoint pptx

WDI-Slides-05.pptx

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None

10th Developer Camp - B5

1,.,,,., RDBM, SQL. OSS,, SQL,,.

Chapter Two

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版  

Microsoft Word - SQL.rtf

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058

,, create table drop table alter table

CodeGear Developer Camp

関係データベース

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

プレポスト【問題】

Windows ユーザー名に全角が含まれている場合は インストールできません のエラーが表示される場合の対処法 手順 1 管理者権限のある Windows ユーザーでログインした上で 以下の処理を行ってください 画面左下の 旗のマークを左クリックし 続いて表示される一覧から 設定 ( 左側に歯車のよ

PowerPoint プレゼンテーション

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

CMP2-3SQL2b.pptx

Oracle Database Connect 2017 JPOUG

1 ex01.sql ex01.sql ; user_id from (select user_id ;) user_id * select select (3+4)*7, SIN(PI()/2) ; (1) select < > from < > ; :, * user_id user_name

データベースアクセス

共有フォルダ接続手順 1 共有フォルダ接続ツールのダウンロード 展開 CSVEX のトップページから共有フォルダ接続ツールの zip ファイルをダウンロードします ダウンロードした zip ファイルを右クリックして すべて展開 を選択します (Windows 環境では zip ファイルを解凍しなくて

MxLogonサーバサイドツールキット用UI

取引上手くん 9 のインストール時にエラーが表示される際の対処法 ~Windows8 Windows8.1~ 本ドキュメントは Windows8/8.1 のパソコンにおいて 取引上手くん 9 のインストールが正常にできなかった場合の対処 法をまとめたものです なお インストールの手順そのものにつきま

SQL 基礎 (6) JOIN 句 - データの結合 作成日 : 2016/02/22 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2016/02/22 新規作成 西村 はじめに この資料では 下記のような JOIN によるテーブル ( データ ) の結合について簡単に説明します INNE

PostgreSQL Plus 管理者ガイド

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

データベースS 演習資料

Taro php.jtdc

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

WEBシステムのセキュリティ技術

Webシステム授業資料

HeartCoreインストールマニュアル

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10

PowerPoint プレゼンテーション

DBMSリポジトリへの移行マニュアル

Windows ユーザー名に全角が含まれている場合は インストールできません のエラーが表示される 手順 1 管理者権限のある Windows ユーザーでログインした上で 以下の処理を行ってください 左下のスタートボタンをクリックし メニューが表示されましたら コントロールパネル をクリックしてくだ

Microsoft PowerPoint - db03-5.ppt

PowerPoint Presentation

Chapter Two

~モバイルを知る~ 日常生活とモバイルコンピューティング

Microsoft Word - SSL-VPN接続サービスの使い方

~モバイルを知る~ 日常生活とモバイルコンピューティング

連絡先

目次 1. HLA Fusion 3.0 がインストール可能な環境 HLA Fusion 3.0 のインストール HLA Fusion 3.4 のインストール 初期設定用データベース接続 ( 初めての方のみ ) 既存データベースのUpg

テーブルの確認 sqlite>.tables.tables コマンドでデータベース内のテーブル一覧を表示する テーブルスキーマの表示 sqlite>.schema mytable.schema コマンドで指定のテーブルのスキーマを表示できる テーブル出力の整形.explain コマンドを使うと テー

目次 1. データモデルと SQL( 復習 ) 2.SQL の特徴 3.SQL の文法 4. データ定義 ( 基本編 ) 5.DB 管理 ( 基本編 ) 6. データ操作 ( 基本編 ) 7. レポート課題 8. 参考書ほか

データベース暗号化ツール「D’Amo」性能検証

Microsoft Word - tutorial3-dbreverse.docx

HeartCoreインストールマニュアル(PHP版)

情報処理概論(第二日目)

HeartCore(PHP 版 ) インストール手順について説明いたします なお 本資料は 例として下記内容を前提として説明しております 環境情報 対象 OS: Linux ( ディストリビューション : Red Hat Enterprise Linux Server) APサーバ : Apache

仕様書用テンプレート

SOLIDWORKS Electrical SQL 接続の可否確認 SQL サーバーにアクセスできない場合 SQL サーバー ( のサービス ) が正常に起動しているか プロトコルが正常に動作しているか 使用するポートが開放されているか SQL ログインユーザーの情報に誤りは無いかなど その原因は多

VB実用Ⅲ⑩ フリーデータベースⅡ

mySQLの利用

Calpont InfiniDBマルチUM同期ガイド

Attain3 インストール説明書

東大センターにおけるスーパーコンピューター利用入門

今さら聞けない!? Oracle入門 ~後編~

Microsoft Word - MOPatch-1.doc

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

Microsoft Word - Win-Outlook.docx

< 付録A: ソフトウェアアップデート >

<4D F736F F D CA08CC082AA B835E B D C58B9194DB82B382EA82DC82B582BD2E646F63>

VPN ユーザを管理し、RV016、RV042、RV042G および RV082 VPN ルータの速い VPN を設定して下さい

WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル ( 標準 MySQL+ 非 SSL ) 作成 :2014 年 2 月 Ver.1.1

Taro13-006linux4.jtdc

PowerPoint プレゼンテーション

ELC 5.3

NSS利用者マニュアル

インストールガイド ネットワーク PA システムマネージャー AI-1000SM このたびは TOA ネットワーク PA システムマネージャーをお買い上げいただき まことにありがとうございます 本書は AI-1000SM ネットワーク PA システムマネージャーをセットアップするための手順書です 正

オフィス・デポジャパン株式会社 御中

JAIST Cloud Service利用ガイド

Windows 版 SAS 9.3 ライセンス適用の手引き

OpenCAE-GIFU _pptx

SOC Report

スライド 1


第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部

PowerPoint プレゼンテーション

Sequel のすすめ 私が SQL を嫌いな理由 とみたまさひろ RubyHiroba Sequel のすすめ - 私が SQL を嫌いな理由 Powered by Rabbit 2.0.7

モデリング操作ガイド (データベースモデリング編)

ソフトウェアの更新ユーザーガイド

PowerPoint プレゼンテーション

Microsoft Word - JDBC検証 docx

手順例_Swivel_SSL証明書

事前準備ガイド 概要 IBM Z の概要 IBM Z は メインフレーム コンピューターのハードウェア ブランドです IBM Z は 5つのオペレーティング システム (OS) をサポートします IBM Z は 1 台で数千もの OS を稼働させることができます z/os は IBM Z 独自の O

_IMv2.key

はじめに

cmpsys13w14-15_database.ppt

SMB スイッチ CLI に SSH を使用してアクセスするか、または Telnet で接続して下さい

intra-mart ワークフローデザイナ

Microsoft Word - MyWebPortalOffice_SQL2005_2008_Upgrade.doc

Transcription:

SQLite SQLite3 http://www.ns.kogakuin.ac.jp/~ct13140/prog/ オープンソース ( フリー )RDBMS 実装の 1 個 http://www.sqlite.org/ 現在,3.6 が最新版. SQLite 2.x と SQLite 3.x が有名. 特徴 RDBMS サーバプロセスの起動が不要. 1 データベース,1 ファイル で格納.. つまり お手軽 な RDBMS. SQLite の業務での使用はまれ. 使い方や SQL 文法は他の実装と類似. 勉強には ( ほとんど ) 問題ない. 問題点 : 型付けが弱い. ユーザが無く,GRANT などがない. 起動と終了 起動と終了 SQLite3-2 www.ns.kogakuin.ac.jp では以下にある /home/ct13140/bin/sqlite3 起動方法 ( データベースと接続 ) /home/ct13140/bin/sqlite3 DB ファイル指定ファイルにデータ保存. 無ければ新規作成. 終了方法 ( データベースと切断 ).exit 上記は, 山口が個人的にインストールしたものです. 年度末までは, 存在することを保証します. それ以降は, 予告無く削除することもありえます. >/home/ct13140/bin/sqlite3 ~/a.db SQLite version 3.6.20 Enter ".help" for instructions Enter SQL statements terminated with a ";".help.backup?db? FILE Backup DB (default "main") to FILE ( 略 ) width:.exit > というプロンプトが表示されている間は, SQLite3 と接続中. 接続 接続中 切断 操作 SQLite3-3 復習 (SQL 文 ) 0/6 SQLite3-4 赤字がユーザの入力である. 以下のような表を作るとする. id name email 0 fukuda fukuda@kantei.gr.jp 1 abe abe@kantei.gr.jp Integer 型 text 型 復習 (SQL 文 ) 1/6 データベースに接続する. データベースにつないでいない状態で sqlite3 データベースファイル名 これは SQLite 特有のコマンド. データベースとの接続を切断する..exit SQLite 特有のコマンド. text 型 SQLite3-5 データベースの作成 データベースにつないでいない状態で sqlite3 データベースファイル名 ファイルが存在したら 既存 DB に接続, 存在しなかったら 新規 DB 作成 これは SQLite 特有のコマンド. データベースの削除 データベースにつないでいない状態で rm データベースファイル名 これは Unix 一般のファイル削除コマンド. 復習 (SQL 文 ) 2/6 存在する表の一覧を表示.tables SQLite 特有のコマンド. SQLite3-6 SQLite3-7 SQLite3-8

復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO 表名 VALUES (...); 復習 (SQL 文 ) 5/6 SQLite3-9 復習 ( 型 ) SQLite3-10 表内のデータを変更する UPDATE 表名 SET 列名 = 値 WHERE 条件 ; Integer 型 : 整数型 Real 型 : 浮動小数点型 TEXT 型 : 文字列型 SQLite に, CHAR 型, VARCHAR 型はない. BLOB 型 : Binary Large OBject 値をそのままバイナリで格納. 操作 0/21 SQLite3-11 操作 1/21 SQLite3-12 PuTTY で green.ns.kogakuin.ac.jp に login する Host Name (or IP address) に green.ns.kogakuin.ac.jp と, Port に 22 と入力し Open をクリック. Security Alert が表示されたら Yes を押す. login as に対してユーザ名を, password に対してパスワードを入力. 注意 : ここで使用するユーザ名とパスワードは, 工学院大学計算機 (Windows) に logon する時に使用するものです. 自分用データベースの作成 & 接続. ct13140@green[100]:/home/ct13140/bin/sqlite3 ~/a.db SQLite version 3.6.20 Enter ".help" for instructions Enter SQL statements terminated with a ";" このように表されればデータベースに接続中. 操作 2/21 SQLite3-13 操作 3/21 SQLite3-14 データベースとの接続を切断する..exit ct13140@green[101]: 表示が でなくなれば, 切断成功. 上の例では, 表示が ct13140@green[101]: に代わっている. 再度自分用データベースに接続する. ct13140@green[101]:/home/ct13140/bin/sqlite3 ~/a.db SQLite version 3.6.20 Enter ".help" for instructions Enter SQL statements terminated with a ";" このように表されればデータベースに接続中. SQLite3-15 SQLite3-16

操作 4/21 操作 5/21 存在する表を調べる ( データベース接続中 )..tables 何も表示されずにプロンプト (sqlite) が表示されたら, 表はない ということ. 表 usertbl を作る ( データベース接続中 ). CREATE TABLE usertbl (...> id integer,...> name txt,...> email txt...> ); 操作 6/21 SQLite3-17 使用した SQL 文は CREATE TABLE usertbl (id integer, name text, email text); 途中の改行はあってもなくてもよい. 最後の ;( セミコロン ) を忘れない様に. 操作 7/21 SQLite3-18 存在する表を調べる ( データベース接続中 )..tables usertbl 表に SELECT を実行する ( データベース接続中 ). 現在, 表は空のはずである. SELECT * FROM usertbl; 操作 5 で作成した表が表示されれれば成功. 何も成功されなければ, 成功 操作 8/21 SQLite3-19 操作 9/21 SQLite3-20 表にデータを入力する ( データベース接続中 ). INSERT INTO usertbl VALUES (0, 'fukuda', 'fukuda@kantei.go.jp'); SELECT * FROM usertbl; 0 fukuda fukuda@kantei.go.jp SELECT を実行して, 表の中身を確認してみる. これがデータの挿入命令. 表示は特に変化なし. 途中改行はあってもなくてもよい. 表にデータを入力する ( データベース接続中 ). INSERT INTO usertbl VALUES (1, 'abe', 'abe@kantei.go.jp'); INSERT INTO usertbl VALUES (2, 'koizumi', 'koizumi@kantei.go.jp'); SELECT * FROM usertbl; 0 fukuda fukuda@kantei.go.jp 1 abe abe@kantei.go.jp 2 koizumi koizumi@kantei.go.jp 操作 10/21 SQLite3-21 操作 11/21 SQLite3-22 表 diarytbl を作る ( データベース接続中 ). CREATE TABLE diarytbl (diaryid Integer, userid Integer, year Integer, month Integer, day Integer, sentence txt);.tables diarytbl usertbl 日記記事 1 個ごとに 1 行の表とする. diaryid: 日記記事の通し番号 Userid: 日記を書いたユーザの ID year,month,day: 日記の日付 sentence: 日記本文 SQLite3-23 表 diarytbl にデータを挿入する ( データベース接続中 ). INSERT INTO diarytbl VALUES (0, 0, 2007, 1, 1, 'gantan deshita'); INSERT INTO diarytbl VALUES (1, 0, 2007, 7, 29, 'senkyo deshita'); INSERT INTO diarytbl VALUES (2, 2, 2005, 8, 8, 'kaisan shita'); SELECT * FROM diarytbl; 0 0 2007 1 1 gantan deshita SQLite3-24

操作 12/21 現状の確認 ( データベース接続中 ). SELECT * FROM usertbl; 0 fukuda fukuda@kantei.go.jp 1 abe abe@kantei.go.jp 2 koizumi koizumi@kantei.go.jp SELECT * FROM diarytbl; 0 0 2007 1 1 gantan deshita 操作 13/21 現状の確認 ( データベース接続中 ). SELECT * FROM diarytbl WHERE userid=0; 0 0 2007 1 1 gantan deshita 操作 14/21 SQLite3-25 操作 15/21 SQLite3-26 現状の確認 ( データベース接続中 ). UPDATE diarytbl SET sentence='ganjitu deshita' WHERE diaryid=0; SELECT * FROM diarytbl; 0 0 2007 1 1 ganjitu deshita 表内の列の順番は全く保証されていないので, 順番は RDBMS が勝手に決めてくる. 必ずしこの順になるとは限らない. SQLite3-27 操作 16/21 内部結合 ( データベース接続中 ). SELECT * FROM usertbl INNER JOIN diarytbl ON usertbl.id = diarytbl.userid; 0 fukuda fukuda@kantei.go.jp 0 0 2007 1 1 ganjitu deshita 0 fukuda fukuda@kantei.go.jp 2 koizumi koizumi@kantei.go.jp 内部結合 ( データベース接続中 ). SELECT * FROM usertbl CROSS JOIN diarytbl; 0 fukuda fukuda@kantei.go.jp 0 0 2007 1 1 ganjitu deshita 0 fukuda fukuda@kantei.go.jp 0 fukuda fukuda@kantei.go.jp 1 abe abe@kantei.go.jp 0 0 2007 1 1 ganjitu deshita 1 abe abe@kantei.go.jp 1 abe abe@kantei.go.jp 2 koizumi koizumi@kantei.go.jp 0 0 2007 1 1 ganjitu deshita 2 koizumi koizumi@kantei.go.jp 2 koizumi koizumi@kantei.go.jp userid = 2 の横に, userid=0 の書込を置いても, 意味が無い. 操作 17/21 SQLite3-28 表内のデータの削除 ( データベース接続中 ). DELETE FROM diarytbl WHERE diaryid=0; SELECT * FROM diarytbl; 操作 18/21 SQLite3-29 操作 19/21 SQLite3-30 表の削除 ( データベース接続中 ). DROP TABLE diarytbl;.tables usertbl データベースとの接続を切断 ( データベース接続中 )..exit ct13140@green[102]: 表を削除すると, 表内のデータは全て消失するので注意. SQLite3-31 SQLite3-32

操作 20/21 注意事項 データベースの削除. ct13140@green[102]:rm ~/a.db ct13140@green[103]: データベースを削除すると, データベース内の全てのデータが失われるので注意!! 頻繁に行う作業ではありません. 注意事項 SQLite3-33 RDBMS に接続中は, と表示されるのが正常な状態です....> などと表示されたのなら コマンド入力途中 という変な状態です. これを正常に戻すには ;[Ent] などを押すと,( 入力文はエラーとなるが ) 元に戻せる. フィールド制約 :NOT NULL SQLite3-34 DB のデータを読むには, DB ファイルへの読込権限が必要. DB にデータを書き込むには, DB のファイルへの書込権限と, DB のファイルのディレクトリへの書込権限が必要 Web などで使用するときは後者を要注意! NOT NULL 制約 NULL 値を入れられなくなる CREATE TABLE tbl0(id integer, name text NOT NULL, email text); INSERT INTO tbl0 VALUES (0,'sane',NULL); INSERT INTO tbl0 VALUES (1,NULL,'sane@sane.com'); Error: constraint failed 正常に実行される. エラーとなる. フィールド制約 :UNIQUE SQLite3-35 フィールド制約 :DEFAULT SQLite3-36 UNIQUE 制約 同じ値を複数行に入れられなくなる CREATE TABLE tbl1(id integer UNIQUE, name text, email text); DEFAULT 制約 入力略時には,DEFAULT 値が採用される. CREATE TABLE tbl2(id integer, name text, email text DEFAULT 'a@a.com'); INSERT INTO tbl1 VALUES (0,'sane','sane@sane.com'); INSERT INTO tbl1 VALUES (0,'yasu','yasu@sane.com'); Error: constraint failed 正常に実行される. エラーとなる. INSERT INTO tbl2 (id,name) VALUES (0,'sane'); select * from tbl2; 0 sane a@a.com フィールド制約 :PRIMARY KEY SQLite3-37 フィールド制約 :CHECK SQLite3-38 PRIMARY KEY 制約 自動的に一意の値が割り振られる. ただし, 削除してしまった行の値は再利用される. CREATE TABLE tbl3(id integer PRIMARY KEY, name text, email text); INSERT INTO tbl3 VALUES (NULL,'sane', 'sane@sane.com'); INSERT INTO tbl3 (name,email) VALUES ('yasu','yasu@sane.com'); SELECT * FROM tbl3; 1 sane sane@sane.com 2 yasu yasu@sane.com SQLite3-39 CHECK 制約 値に制限をかけられる. CREATE TABLE tbl4(id integer CHECK(id>0), name text, email text); INSERT INTO tbl4 VALUES (1,'sane', 'sane@sane.com'); 正常に実行される. INSERT INTO tbl4 VALUES (0,'yasu', 'yasu@sane.com'); Error: constraint failed エラーとなる. SQLite3-40

フィールド制約 :ANTOINCREMENT SQLite コマンド 一意なIDの自動割り振り CREATE TABLE usertbl2 (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, email TEXT);.tables usertbl usertbl2 INSERT INTO usertbl2 (name, email) VALUES ('sane','sane@sane.com'); INSERT INTO usertbl2 (name, email) VALUES ('yasu','yasu@sane.com'); INSERT INTO usertbl2 VALUES (NULL, 'hoge', 'hoge@sane.com'); SELECT * FROM usertbl2; 1 sane sane@sane.com 2 yasu yasu@sane.com 3 hoge hoge@sane.com PRIMARY KEY かつ AUTOINCREMENT にしておくと, 一度削除された値が再利用されることがない. 無料で RDBMS の勉強をするには SQLite3-41 (DB ではなく ) DBMS を制御するコマンド.help : ヘルプメッセージを表示.dump : データベースをダンプ例 : シェルにて sqlite3 a.db.dump sqlite3 b.db.quit :SQLite を終了.tables : 表の一覧を表示例 :.tables,.tables us%.databases : データベース一覧を表示.schema : 表のスキーマ ( 型など ) を表示. SQLite3-42 講義ツールを使用 ( 本学サーバ +SQLite3) 年度末まで有効.SQLite3 の型の問題などがある. 本学情報処理演習室 Microsoft Access. おすすめしない.Access は SQL を使いづらい. 自分の Windows 機に無料 RDBMS を install 例 :Windows 版 MySQL,Windows 版 PostgreSQL 自分の PC に無料 OS と無料 RDBMS を install 例 :Linux+MySQL,Linux+PostgreSQL SQLite3-43