...

20151116 SQL.pages

by user

on
Category: Documents
13

views

Report

Comments

Transcript

20151116 SQL.pages
データベース論 資料
2015.11
SQL
表1 販売表
表2 客先表
表3 品目表
SQLとは
データベースを操作する(データの読み書き等)目的で作られた言語。文法は英語によく似ている。
もともとは Structured Query Language (構造化クエリ[問い合わせ]言語)の略から来ている。現
在では ISO, ANSI, JIS 等で標準化されている。 SQL 文法で作られた文のことを「クエリ」という。
データベースファイルは,データ管理プログラム経由で操作することが多いが,外部からの基本的な
操作は SQL で行うことが多い。
管理プログラムには, Base が標準で利用する HSQLDB をはじめ,商用の Oracle, Access,
Microsoft SQL Server などに含まれていたり, フリーソフトの MySQL, PostgreSQL, SQLite などがあ
る。
SQL の最大の利点は, RDBMS (relational database management system) の種類にかかわらず,統
一された文法で,データを読み書きできるように定められていることである。
Baseなど
DBフロン
トエンド
DBMS
管理プログラム
データベース
ファイル
web サーバ
php など
データ管理
ファイル隠
アクセス制御など
経
で直接
1/4
で
データベース論 資料
2015.11
SQLでできること/できないこと
SQLでできること:データベースの作成・読み書き・アクセス権の設定など
SQLでできないこ:データベースのバックアップ・格納形式の変更など
SQLの基本文法
文はセミコロン ; で終了すること。命令文の大文字・小文字は区別しない。
テーブル名,フィールド名が日本語の場合は " (ダブルクオート)で囲む。
文字列データの場合は ' (シングルクオート)で囲む。
DB操作
SQL命令
命令文の例
選択
SELECT
SELECT "フィールド名" [FROM "テーブル名"] [WHERE 検索条件];
加えて ORDER BY "フィールド名" ASC/DESC で昇順/降順に並べ替え
挿入
INSERT
INSERT INTO "テーブル名" VALUES(データ, データ, ...);
更新
UPDATE
UPDATE "テーブル名" SET "フィールド名"=値 WHERE 検索条件;
削除
DELETE
DELETE FROM "テーブル名" WHERE 検索条件;
作成
CREATE
CREATE TABLE テーブル名(フィールド名 型, ...);
CREATE VIEW ビュー名 AS SELECT フィールド名 FROM テーブル名 ...;
検索条件の比較演算子
演算子
意味
例
=
等しい
'金額' = 1000
<>
等しくない
'金額' <> 1000
>
より大きい
'金額' > 1000
<
より小さい
'金額' < 1000
>=
以上
'金額' >= 1000
<=
以下
'金額' <= 1000
部分一致(%で囲む)
'住所' LIKE '%東京都%' / ACCESS では % のかわりに *
null との比較
氏名' IS NULL / フィールドに値がない場合
LIKE
IS
検索条件の論理演算子
論理演算子
AND
OR
NOT
意味
例
かつ
'金額' > 1000 AND '金額' < 2000
または
'金額' > 1000 OR '個数' > 2
∼でない
NOT '金額' = 1000
2/4
データベース論 資料
2015.11
検索条件の範囲指定子
範囲指定子
意味
例
BETWEEN 下限 AND 上限
下限から上限までに含まれるデータ
BETWEEN 0 AND 10000
IN (値1, 値2, ,,,)
値のいずれかと等しいデータ
IN (15000, 25000)
SQLの関数
関数名
機能
例
SUM
合計
SELECT SUM("フィールド名") FROM "テーブル名";
AVG
平均
SELECT AVG("フィールド名") FROM "テーブル名";
COUNT
行数
SELECT COUNT("フィールド名") FROM "テーブル名";
MAX
最大値
SELECT MAX("フィールド名") FROM "テーブル名";
MIN
最小値
SELECT MIN("フィールド名") FROM "テーブル名";
Base で SQL を使う
「ツール」メニューの SQL... を選択して SQL 文でデータベースを操作することができる。
また,クエリーの中で SQL 文で編集することができる。
3/4
データベース論 資料
2015.11
(練習) 以下の課題を SQL で書いて Base のクエリーで実行してみなさい。(わからない時は,デザ
イン表示でクエリを作成して,SQLで表示してみる)
1. 1つの表から特定の列(フィールド)のみ取り出す
a) 販売表から,品目番号と販売数量の列(フィールド)のみ取り出した表を作りなさい。
b) 販売表を品目番号の昇順に並べ替えなさい。
2. 1つの表から特定の(条件に合う)行(レコード)のみ取り出す
a) 品目表から在庫が10未満のレコードのみ取り出しなさい。
b) 客先表から住所が東京都の客のレコードのみ取り出しなさい。
c) b) で得られた表から氏名のみの表を取り出しなさい。
3. 表の結合
a) クエリーで販売表と客先表を結合しなさい。
b) クエリーの編集画面で表間のリレーションを切ってクエリを実行してみなさい。どうなるか。
4. レコードの挿入
a) 客先表に自分のデータを挿入しなさい。
5. レコードの更新
a) 4 で挿入したデータの住所を変更しなさい。
6. レコードの削除
a) 4 で挿入したレコードを削除しなさい。
4/4
Fly UP