Microsoft Word - SQL.rtf

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

PowerPoint Presentation

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

PowerPoint プレゼンテーション

Microsoft PowerPoint - db03-5.ppt

Chapter Two

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

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

Microsoft PowerPoint pptx

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

Chapter Two

CMP2-3SQL2b.pptx

Microsoft PowerPoint - 講義補助資料2017.pptx

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

データベースS

,, create table drop table alter table

標準化 補足資料

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

アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2

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

PowerPoint プレゼンテーション

関係データベース

ii II Web Web HTML CSS PHP MySQL Web Web CSS JavaScript Web SQL Web

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

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

Excel2013 データベース1(テーブル機能と並べ替え)

プレポスト【問題】

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター

Basic descriptive statistics

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

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP

PowerPoint プレゼンテーション

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

スライド タイトルなし

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

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

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

クエリの作成が楽になるUDF

問題 1 次の文章は Access データベース およびデータベースの概要について述べたものである にあてはまる適切なものを解答群 { } より選び その記号で答えよ 設問 1. Microsoft Access 2007 データベースのテーブルでは 表す としてデータを { ア. レコードを列 フ

基本サンプル

Microsoft Word - no103.docx

WDI-Slides-05.pptx

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行

基本サンプル

PowerPoint Presentation

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

cmpsys13w14-15_database.ppt

Oracle Database Connect 2017 JPOUG

はじめに 本書では GridDB Advanced Edition における SQL の記述方法および 注意事項について記載しています GridDB Advanced Edition をご使用になる前に 必ずお読みください なお 本書で説明する機能は GridDB Advanced Edition

3 - 正しい SQL ( 方言を排除した SQL 文の記述方法 )

現在 数多くの DBMS が存在しますが SQL の基本的なコマンドは標準化されており どの DBMS でもある程度同じものが利用可能です ただし それぞれの DBMS の機能の違いにより存在しないコマンドがあったり オプション指定が異なる場合があるため まったく同じとは言えません なお DBMS

模擬試験問題(第1章~第3章)

情報科学概論 第6回

基本サンプル

08_takata

tkk0408nari

PowerPoint プレゼンテーション

10th Developer Camp - B5

ICT-Literacy1

Section1_入力用テンプレートの作成

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

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

问题集 ITEXAMPASS 1 年で無料進級することに提供する

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

データベース工学 2011年度資料

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

正誤表(FPT1004)

この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要 があるため Microsoft は記載されている内容を約束しているわけではありません この文書の内容は印刷後も正しいとは保障で きません この文章は情報の提供の

スライド 1

7-1- 基 RDB に関する基礎知識 1 独立行政法人情報処理推進機構

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

Microsoft PowerPoint - KeySQL50_10g_vlo2.ppt

Microsoft PowerPoint - MySQL-backup.ppt

データベースアクセス

PowerPoint プレゼンテーション

Access研修テキスト

Webシステム授業資料

Microsoft Word A08

1. データ - 並べ替え で表のデータを並べ替えする 1.1. フィルターオプション 2000Rev xls のシート 売上表 2000_ 並べ替え を選択します 表中のセルを選択しておいて操作します データ - 並べ替え の順でクリックします 1.2. 並べ替えの項目 昇順 ( 降順

PowerPoint プレゼンテーション

スライド 1

FormPat インポート設定ガイド

Si 知識情報処理

データベース 【1:データベースシステムとは】

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

はじめに コースの概要と目的条件分岐の方法や複雑な集計の手法など SQL のコーディングの幅を広げるためのテクニックについて説明します また パフォーマンスを考慮した記述方法や正しい結果を取得するための記述方法などについても あわせて説明します 本コースでは 実践的な SQL の記述手法を広く浅く紹

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

SQL (2) データベース論 Ⅰ 第 7 回 URL 作成者末次文雄 C

第 1 節 関数とは 関数とは 与えられた文字や数値に対し 定められた処理を行って結果を返す命令のことです 例えば パンをホームベーカリーで作るには 最初に材料となる小麦粉などを入れ 次いでドライイースト 最後に水を入れるという順序があります そして スタートボタンを押すとパンが完成します ホームベ

スライド 1

関数サンプル1

プレポスト【解説】

Microsoft Word - 教科書大1b第12週06.doc

Microsoft Word - wpphpmysql.doc

Excel2013基礎 数式と表編集

関数サンプル2

データベースS 演習資料

Microsoft Word - JDBC検証 docx

スライド タイトルなし

PostgreSQL 9.4 評価検証報告 SRA OSS, Inc. 日本支社高塚遙 :55 ~ 16:30 PostgreSQL 9.4 最新情報セミナー Copyright 2014 SRA OSS, Inc. Japan All rights reserved. 1

Transcription:

データベース資料古原作成 1 データベースとは データ管理の専用システムのことをデータベースと呼ぶ データをさまざまな形で格納し 取り出しやすくしている データベースの種類 カード型データベース リレーショナルデータベース カード型データベースはカードを単位としてデータを入力する カード一枚に各項目があり その内容を記述する カードは表で言えば一行に該当する リレーショナルデータベースでは複数の表を使うことが出来る 表と表に関連 ( リレーション ) を持たせて組み合わせて使用することが出来る 個人がデータを管理するにはカード型データベースでも十分だが 本格的にデータを扱う場合 リレーショナルデータベース形式を使用する 2 DBMS とは? DBMS は Data Base Management System の略であり データベース管理ソフトのことを言う 通常はアプリケーションソフトから DBMS 経由でデータベースを扱う 主な DBMS 製品 Oracle SQL Server オープンソース MySQL PostgreSQL SQLite DBMS の役割 データの整合性管理 マルチユーザ対応 トランザクション処理 データベース操作のインタフェース提供 3 リレーショナルデータベースとは? 表 ( テーブル ) を元にしてテーブルを組み合わせるデータ管理方法 複数の表が集まって一つのデータベースを構成する テーブルの構造 列 ( フィールド ) 項目を表す 行 ( レコード ) 項目の集まり 1 件を表す フィールドフィールドは 項目 を表し その名前 ( フィールド名 ) とどのようなデータを入れるのかを設定する 例えば 商品名 のフィールドは文字列を入れ 空欄が許されないなどの設定を行うことが出来る レコードレコードはデータ一件を表す レコードを区別するためのキー ( プライマリーキー ) が必要になる プライマリーキー通常はどれかの列がプライマリーキー ( 主キー ) を表す プライマリーキーは各行を一意で示すことが出来るデータ 他のレコードと重複しない値を持つ リレーションプライマリーキーを組み合わせて表を関連づける これをリレーションという [ 商品テーブル ] sid: 商品 ID sname: 商品名 tanka: 単価 [ 売り上げテーブル ] uid: 売り上げ ID sid: 売り上げた商品の ID suuryou: 売り上げた数量 hi: 売り上げた日 売り上げテーブルには売り上げの商品名や単価は含まれず ID だけが含まれている この ID を元に商品名 単価を求めることが出来る 1 DBMS を使う意味 プログラムのデータ管理を楽にする データ管理の高速化 ( 分散処理 ) データ管理処理とロジックの分離 スケーラビリティ

4 テーブルの正規化 リレーショナルデータベースがテーブルを組み合わせてデータを扱えるように項目を分けることを正規化という 6 MySQL の操作 6.1 MySQL とは 2 正規化する意味 データの重複をなくす データの整合性を取りやすくする 正規化の手順 同じ項目が行内に複数現れないようにする 計算で求められる項目は省く プライマリーキーをつける 繰り返されるデータは別テーブルにする 売り上げ表 商品名単価数量金額日付 りんご 100 5 500 2009/4/29 みかん 150 3 450 2009/4/29 いちご 200 1 200 2009/4/30 りんご 100 1 100 2009/4/30 みかん 150 2 300 2009/5/01 みかん 150 1 150 2009/5/02 金額は計算できる項目なので省く 商品は繰り返される項目なので別テーブルにする 商品と売り上げの各テーブルにプライマリーキーを付ける 5 SQL とは? SQL=Structured Query Language データベース問い合わせ用の言語 SQL でデータベースに命令を出し その結果を受け取る 命令を出すこと :SQL を発行する クエリを発行する 問い合わせを行う という言い方をする SQL は ANSI や ISO によって標準化されているが 細かい点では DBMS に依存する点もある 世界中で広く利用されている DBMS の一つ オープンソース (GNU ライセンス ) である Web サイトでの利用が多い LAMP (Linux, Apache, MySQL, PHP) の略称が広く知られるほど一般的に使用されている 6.2 MySQL の起動 サービスの起動コントロールパネルの [ 管理ツール ]-[ サービス ] で MySQL を起動させる コマンドプロンプトの起動 1. コマンドプロンプトを起動 2.mysql -u root -p と入力 -b を付けるとビープ音が鳴らない 3. パスワードを入力する コマンドプロンプトでの操作 データベースの一覧表示 show databases; コマンドプロンプトの終了 exit 6.3 基本的な操作 データベースの一覧表示 show databases; 使用するデータベースの変更 use データベース名 ; 現在のデータベースのテーブル一覧表示 show tables; SQL の例 SELECT 商品名 FROM 商品テーブル ; 商品テーブルから 商品名 の列のみを取り出す SQL の意義 DBMS が変わっても原則として SQL の変更の必要がない 複雑な問い合わせが簡単に行える プログラム言語から発行可能

7 SQL 7.4 テーブルの作成 3 7.1 SQL の種類 データ定義文 (DDL=Data Definition Language) CREATE: データベース テーブルの作成 DROP: データベース テーブルの削除 ALTER: データベース テーブルの変更 データ操作文 (DML=Data Manipulate Language) SELECT: レコードの検索 INSERT INTO: レコードの挿入 追加 UPDATE: レコードの変更 DELETE: レコードの削除 7.2 SQL の基本 命令の最後にはセミコロンを付ける 原則として大文字小文字を区別しない テーブル名や列名 数値はそのまま記述する 文字列はシングルクォーテーション (') またはダブルクォーテーション (") で囲む データ型 CHAR 固定長文字列 VARCHAR 可変長文字列 (256 文字まで ) TEXT 最大 65535バイトまでの文字列 INT/INTEGER 整数 (32BIT) DECIMAL 10 進数 ( 最高 65 桁 ) FLOAT 浮動小数点数 DATE 日付 DATETIME 日付と時刻 TIME 時刻 7.3 データベースの作成 データベースの作成 CREATE DATABASE データベース名 ; CREATE DATABASE hanbai; データベースの使用コマンドの対象となるデータベースを切り替える USE データベース名 ; USE hanbai; テーブルの作成 CREATE TABLE テーブル名 ( フィールド名 1 データ型 1 [ 制約 ], フィールド名 2 データ型 2 [ 制約 ], フィールド名 3 データ型 3 [ 制約 ],,,, ); 例 CREATE TABLE shouhin ( sid INT, sname VARCHAR(40), tanka INT); 制約 PRIMARY KEY: プライマリキーとする NOT NULL:NULL を許可しない AUTO_INCREMENT: 自動連番 DEFAULT [ デフォルト値 ]: 初期値設定 テーブルの列情報を表示 DESC テーブル名 ; 7.5 レコード追加 (INSERT) レコードを一件追加する INSERT INTO テーブル名 ( フィールド名,,, ) VALUES ( 値,,,) フィールド名と値を対応させて記述する INSERT INTO shouhin (sid, sname, tanka ) VALUES ( 1, ' りんご ', 200 ); 7.6 レコード検索 (SELECT) SELECT: レコードの検索を行う 全件 全項目表示 SELECT * FROM テーブル名 ; SELECT * FROM shouhin; 項目を指定して表示 SELECT フィールド名 FROM テーブル名 ; SELECT sname,tanka FROM shouhin; 重複を避けて表示 SELECT DISTINCT フィールド名 FROM テーブル名 ; SELECT DISTINCT tanka FROM shouhin;

7.7 WHERE 句 条件を指定して表示 SELECT フィールド名 FROM テーブル名 WHERE 条件 ; SELECT * FROM shouhin WHERE sid=1; 条件では等号や不等号を使うことが出来る 文字列は '' で囲む 文字列の部分条件指定 LIKE 演算子を使用し 文字列を部分検索できる SELECT * FROM shouhin WHERE sname LIKE ' り %'; % は 0 文字以上の文字とマッチング _ は 1 文字の文字とマッチング どちらかの条件にあてはまる WHERE 条件 OR 条件 SELECT * FROM shouhin WHERE sid = 1 OR sid =3; sid が 1 または 3 があてはまる 両方の条件にあてはまる WHERE 条件 AND 条件 SELECT * FROM shouhin WHERE sid >= 1 AND sid <=3; sid が 1 以上でかつ 3 以下があてはまる どれかにあてはまる条件 WHERE フィールド名 IN ( 値, 値,,,); SELECT * FROM shouhin WHERE sid IN (1,3); sid が 1 または 3 があてはまる 7.8 レコード変更 (UPDATE) レコードの内容を変更する UPDATE テーブル名 SET フィールド名 =?, フィールド名 =?,,, WHERE 条件 ; UPDATE shouhin SET tanka = 100 WHERE sid = 1; 注意 : WHERE をつけない場合 全レコードが対象となる 7.9 レコード削除 (DELETE) レコードを削除する DELETE FROM テーブル名 WHERE 検索条件 ; DELETE FROM shouhin WHERE sid = 3; 注意 : WHERE をつけない場合 全レコードが対象となる 7.10 並べ替え SELECT の結果を並べ替えて表示 ORDER BY SELECT フィールド名 FROM テーブル名 ORDER BY フィールド名並べ替え順 ; [ 並べ替え順 ] には昇順の場合 ASC 降順の場合 DESC を指定する 注 :ORDER BY は WHERE の後に付ける SELECT * from shouhin ORDER BY tanka ASC; tanka の昇順で並べ替え 7.11 計算と関数 計算 SQL ではフィールド名同士で計算 ( 四則演算 ) を行うことが出来る SELECT tanka*2 FROM shouhin; tanka を二倍にして表示を行っている 関数 SQL では関数を使用することが出来る 集計関数 SUM 合計 COUNT 個数 ( 括弧内にDISTINCTをつけて重複排除 ) MAX 最大値 MIN 最小値 AVG 平均値 tanka の合計を取得 SELECT SUM(tanka) FROM shouhin; 4

日付 時刻関数 CURDATE 現在の日付 CURTIME 現在の時刻 YEAR 年を返す MONTH 月を返す DAY 日を返す 7.14 テーブルの結合 2 つのテーブルを WHERE を用いて結合 SELECT フィールド名 FROM テーブル 1, テーブル 2 WHERE テーブル 1. キー項目 = テーブル 2. キー項目 ; 5 今日の日付で売り上げ挿入 INSERT INTO uriage (sid,suuryou,hi) VALUES(2,2,CURDATE()); 売り上げがあった日 SELECT DAY(hi) FROM uriage; 7.12 グループ化 グループ分けして集計を行う SELECT 関数 ( フィールド名 ) FROM [ テーブル名 ] GROUP BY [ グループ分けするフィールド名 ]; SELECT hi,sum(suuryou) from uriage GROUP BY hi; hi によってグループ分けし suuryou の合計を計算 集計結果に条件付け :HAVING SELECT 関数 ( フィールド名 ) FROM テーブル名 GROUP BY グループ分けするフィールド名 HAVING 条件 ; SELECT hi,sum(suuryou) from uriage GROUP BY hi HAVING SUM(suuryou) > 5 hi によってグループ分けし suuryou の合計が 5 より大きいものを表示 7.13 別名 フィールド名への別名出力列の名前を変えることが出来る SELECT フィールド名 As 別名 FROM 以下のようなテーブルがあるとする 売り上げテーブル (uriage) uid プライマリーキー sid 商品 ID suuryou 販売数量 hi 売り上げ日付 これを shouhin テーブルと結合するには 以下のように行う SELECT * FROM shouhin,uriage WHERE shouhin.sid = uriage.sid; 条件を付けるには AND でつなげる SELECT * FROM shouhin,uriage WHERE shouhin.sid = uriage.sid AND uriage.sid=1; 7.15 サブクエリ SELECT 文を WHERE 句内で使うことが出来る SELECT フィールド名 FROM テーブル名 WHERE フィールド名演算子 ( SELECT フィールド名 FROM テーブル名 2 ); 5/1 に販売された商品名 SELECT sname FROM shouhin WHERE sid = (SELECT sid FROM uriage WHERE hi ='2009/05/01'); 複数ある場合 IN 演算子を使う SELECT hi,sum(suuryou) As goukei FROM uriage GROUP BY hi ORDER BY goukei; SUM(suuryou) に goukei という別名を付与 注意 :As は省略も可能 単に空白で区切って別名を書く テーブル名への別名テーブルにも同様に別名をつけることが出来る SELECT * FROM shouhin A WHERE A.sid = 1; テーブル shouhin に A という別名を付与

8 データベースの管理 8.1 その他の DDL テーブルの削除 DROP TABLE テーブル名 ; DROP TABLE shouhin; テーブル列の追加 ALTER TABLE テーブル名 ADD フィールド定義 ; ALTER TABLE shouhin ADD cid INT; テーブル : 列の削除 ALTER TABLE テーブル名 DROP フィールド名 ; テーブル :PRIMARY KEY の追加 ALTER TABLE テーブル名 ADD PRIMARY KEY( フィールド名 ); ALTER TABLE shouhin ADD PRIMARY KEY(sid); テーブルの変更 ALTER TABLE テーブル名 CHANGE 旧フィールド名新フィールド名定義 ; AUTO_INCREMENT に変更 ALTER TABLE shouhin CHANGE sid sid INT AUTO_INCREMENT; 8.2 データのインポート LOAD DATA INFILE ファイル名 INTO TABLE テーブル名 8.3 バックアップ ファイルにデータベースの内容をバックアップコマンドプロンプトから mysqldump -u root -p データベース名 > ファイル名 mysqldump -u root -p hanbai > hanbai.sql 復元 mysql -u root -p データベース名 < ファイル名 mysql -u root -p hanbai < hanbai.sql 注 : 復元先でデータベースはあらかじめ CREATE しておく 8.4 ファイルの SQL 実行 SOURCE ファイル名 SOURCE c:\work\sql.txt 注 : セミコロンはいらない 9 その他の SQL 9.1 NULL について NULL = データが何も入っていない状態通常の比較では何と比較しても FALSE になる 6 テーブルはあらかじめ作成しておくファイルはタブ区切り形式 (utf-8) 一行一レコード 注 : 改行コードを LF のみにする LOAD DATA INFILE 'c:\\work\\test.txt' INTO TABLE shouhin; NULL であるかどうかを調べるには IS NULL を行う NULL でないかどうかを調べるには IS NOT NULL を行う 9.2 最後に挿入した ID 最後に挿入したレコードの ID は以下で取得できる SELECT LAST_INSERT_ID(); 9.3 件数と開始位置の指定 SELECT でレコードを取得する際に その開始位置と件数を以下のように指定する LIMIT 開始位置, 件数 SELECT * FROM shouhin LIMIT 20,10 20 件目から 10 件表示