今回はDB基礎について記事にしたいと思います。
まずはテーブルを作成します。
テーブルとは、データベース内でデータを整理して保存するための基本的な構造です。表のような形をしていて、**行(row)と列(column)**で構成されています。
データ型
Javaと同じようにデータベースにもデータ型が存在します。データ型は列に対して指定します。また、登録できる文字数や小数点以下第何位まで登録するかといったサイズ、精度指定も行います。
属性 データ型 解説
文字 VARCHAR 最大サイズ指定可変長文字列
文字 CHAR 固定長文字列
文字 TEXT 制限なし可変長文字列
数値 INTEGER 4バイト整数型
数値 DECIMAL 可変精度数値型
日付 DATE 日付型
制約
データベースに格納される制約条件をつけるもの
制約名: NOT NULL
説明: NOT NULL制約は、単一の列に対して定義されるルールで、この列のNULL値(値がない)の入力を禁止するという制約。つまり、テーブルのすべての行で必ずその列にNULL以外の値が登録されるように制限する制約。
制約名: 一意性 (UNIQUE)
説明: 一意性制約は、列、または複数の列の組み合わせに対して定義されるルールで、それらの列で値が一意(ユニーク)であるデータに限りデータの挿入・更新を許可する制約。UNIQUE KEYとも呼ばれる。
制約名: 主キー (PRIMARY KEY)
説明: 主キー制約は、列、または複数の列の組み合わせに対して定義されるルールで、表の中の行を一意(ユニーク)に識別するための制約。一意性制約と違って、主キーは一つのテーブルに一つしか設定できない。また、主キー制約は、一意性制約にNOT NULL制約が加わったものとして見ることができる(つまり、定義された列、または複数の列は重複が許されず、NULLも許されない)。
制約名: 外部キー (FOREIGN KEY)
説明: 外部キー制約は、テーブルとテーブルの間をテーブル内の列(または列の組み合わせ)で参照という関連付けを定義するルールをいう。外部キー制約はテーブル同士の関連付けを行い、子テーブルは親テーブルを参照し、子テーブルの参照列を外部キーと呼ぶ。親テーブルと子テーブルの間でデータの整合性を保つ。子テーブルに入力される値は親テーブルに存在する値かNULLでなければならない。参照整合性制約やREFERENCE KEYなどとも呼ばれる。
制約名: チェック (CHECK)
説明: チェック制約は、入力条件を定義した制約で、列に条件を満たす値のみ入力が許可される。
構文
SELECT カラム名, カラム名, ... FROM テーブル名;
SELECT: これは「選ぶ」という意味です。どのデータを取り出したいかを指定する命令です。
カラム名: ここには、取り出したい情報(データ)の種類を書きます。たとえば、名前や年齢といったデータです。複数の種類をコンマ(,)で区切って書くことができます。
FROM テーブル名: どこからデータを取り出すか、つまりデータが保存されている場所(テーブル)を指定します。
例:
もし「生徒」というテーブルに「名前」と「年齢」のデータが保存されていたとします。この場合、名前と年齢の情報を取り出したいなら、こう書きます。
SELECT 名前, 年齢 FROM 生徒;
SELECT文、WHERE句、INSERT文
SELECT文: データベースから必要なデータを取り出すために使います。
WHERE句: SELECT文などで、特定の条件に合うデータだけを取り出すための部分です。
INSERT文: 新しいデータをデータベースに追加するための方法です。
データ操作言語 (DML: Data Manipulation Language文)
SELECT文
表に登録されているデータの取得を行う。
INSERT文
表にデータを登録する。
UPDATE文
表に登録されているデータの更新を行う。
DELETE文
表に登録されているデータの削除を行う。
トランザクション制御文
COMMIT文
トランザクションの確定を行う。
ROLLBACK文
トランザクションの取消を行う。
データ定義言語 (DDL: Data Definition Language文)
CREATE文
データベースのオブジェクトを作成する。
ALTER文
データベースのオブジェクトの定義を変更する。
DROP文
データベースのオブジェクトを削除する。
データ制御言語 (DCL: Data Control Language文)
GRANT文
オブジェクトを操作する権限をユーザーに付与する。
REVOKE文
オブジェクトを操作する権限をユーザーから剥奪する。
簡単にデータベースの基礎についてまとめてみました。