データベース

【データベース】SQL

SQLとは?

関係データベース言語であるSQLは、関係データモデルに基づく標準のデータベース言語であり、データ定義言語(DDL)データ操作言語(DML)データ制御言語(DCL)の3つがある。

SQLの特徴

①関係データも出るへの準拠

関係データベースモデルに基づいて定義された言語です

②公的機関による標準化

公的機関によって標準化されているために、どのRDBMS製品にも使用されています。

③管理機能の実装

テーブルの危機管理機能も標準化されています。

④セット処理への対応

データに1件ずつアクセスするだけでなく、条件を満たす複数のデータに対して一括して操作を行えます。

関係データモデルとSQLの用語の対応

関係データモデル SQL
関係(リレーション) 表(テーブル)
タプル
属性(アトリビュート)
定義域(ドメイン) 定義域(ドメイン)

データ定義言語(DDL)

データベースにデータを格納するには、まずデータの入れ物をどのような構造にするかを定義する必要があります。以下の命令により構造決定します。

命令 意味
CREATE TABLE テーブルの作成
CREATE VIEW ビューの作成

CREATE TABLE

データ型
分類 データ型 説明
文字列型 CHAR(n) n文字の固定長文字列
NCHAR(n) n文字の国際化対応文字列
VARCHAR(n) 最大n文字の可変長文字列
整数型 NUMBER(p.q) q桁の小数部を持つp桁の10進数
INT 符号付き整数
REAL 符号つき浮動小数
日付/時間型 DATE 日付(年月日)
TIME 時間(時分秒)
TIMESTAMP タイムスタンプ
テーブルの制約
制約 説明
UNIQUE テーブルの中で値が一意であることを保証される。NULL値は複数の行に存在しても良い。
NOT NULL NULL値は許可しない。この制約を定義した列には、必ず値を設定する必要がある。
PRIMARY KEY 主キー制約を定義する。UNIQUEとNOT NULLの制約を持っている
CHECK 設定可能な値の範囲などを指定できる
DEFAULT 値を明示せずに行を追加する場合m自動的に設定される値を指定できる
FOREIGN KEY 外部キー制約を定義する。指定したテーブルの列に存在しない値を設定できないと言う制約をかけることができる。
CREATE VIEW

テーブルとビューの違い

ビューとは、CREATE TABLE で定義された実テーブルから作成される仮想的なテーブルのことです。ビューはあくまでも仮想テーブルなので、その中にデータは存在しません。ビューは実テーブルをどのように見るのかを定義したものと言えます。

参照:https://www.techscore.com/tech/sql/SQL9/09_01.html/

データ操作言語(DML)

表内のデータの参照・更新・追加・削除などを行えます。

命令 意味
SELECT データの参照
INSERT データの追加
UPDATE データの変更
DELETE データの削除
SELECT文

SELECT  列名 → どの列から抽出するかを指定
FROM  表名 →  どの表から抽出するかを指定
WHERE  条件式 → どのような条件で抽出するかを指定

良く使われるので、以下のように覚えておきましょう!
Select – From – Where – Group by – Having – Order by

・SELECT * で全ての列を抽出します。

・SELECT 列名 FROM テーブル名 WHERE LIKE 列名 ‘文字列’ で対象の列に対して、文字列検索が行えます。このLIKEの文字列には、ワイルドカードが使用できます。

ワイルドカード文字 意味
% 0文字以上の任意の文字列
_ (アンダーバー) 任意の1文字

・SELECT 氏名,担任 FROM 学生,担任 WHERE 学生.クラス=担任.クラスで2つのテーブル(学生と担任)を連結し表を作成する。学生テーブルのクラス列と担任テーブルのクラス列が等しい行が表の要素となる。

INSERT文

 

UPDATE文

 

DELETE文

 

データ制御言語(DCL)

データベースのアクセス権などと定義します。

GRANT 権限の付与
REVOKE 権限の取り消し
GRANT文

 

REVOKE文