SQLの基本

基本的な記述ルール

コメント
--行末までコメント
/*
この範囲がコメント
*/
命令の終わりにはセミコロン ; を記述する
識別子

先頭は小文字かアンダーバー。2文字目以降は英文字、数字、アンダーバー
大文字と小文字の区別はない
予約語は使えない

文字列定数

(')シングルクォーテーションで囲む

データ型

文字列型
CHAR[(n)] 最大n文字の固定長文字列
VARCHAR(n) 最大長nの可変長文字列
真数型
INTEGER 符号付き整数
NUMERIC(n,m) n桁の10進数。小数点以下m桁
DECIMAL(n,m)
実数型
FLOAT[(n)] 精度をn桁として指定出来る浮動小数
REAL 浮動小数
DOUBLE PRECISION 倍精度浮動小数
ビット列型
BIT[(n)] 最大nの固定長ビット列
BIT VARYING(n) 最大長nの可変長ビット列
日付型
DATE 日付
TIME 時刻
TIMESTAMP[(f)] 日付と時刻
INTERVAL 期間

演算子

算術演算子
集合演算子
UNION[ALL] 和集合
EXCEPT[ALL] 差集合
INTERSECT[ALL] 積集合
文字列結合演算子

文字列の結合には || を使う

比較演算子
小さい
<= 小さいか等しい
> 大きい
>= 大きいか等しい
= 等しい
!=,<> 等しくない
論理演算子
AND 論理積
OR 論理和
NOT 否定
その他の演算子
EXISTS 存在するかの判定
ANY どれかという修飾をする
SOME ANYの同義語
ALL すべてという修飾をする
IN 候補にあるかの判定
BETWEEN 範囲内であることの判定
LIKE パターンマッチングを行なう

データベースの作成

CREATE DATABASE データベース名;

データベースの削除

DROP DATABASE データベース名;

表を作成する

CREATE TABLE 表名 (列名1 データ型,列名2 データ型,...);

表の削除

DROP TABLE 表名;

制約を設定する

CREATE TABLE 表名(
    列名 データ型 NOT NULL,                         -- NOT NULL制約
    列名 データ型 UNIQUE,                           -- UNIQUE制約
    列名 データ型 CHECK(チェック式),                -- CHECK制約
    列名 データ型 PRIMARY KEY(主キー),              -- 主キー制約
    列名 データ型 REFERENCES 参照先表名(参照先列名) -- 外部キー制約
);

列の追加と削除

ALTER TABLE 表名 ADD  [COLUMN] 列名 データ型; --列の追加
ALTER TABLE 表名 DROP [COLUMN] 列名 データ型; --列の削除

制約の追加と削除

ALTER TABLE 表名 ADD 制約名(列名);       --制約の追加
ALTER TABLE 表名 DROP CONSTRAINT 制約名; --制約の削除

ユーザーの作成

データベースによりユーザー作成のコマンドは違う

ユーザー権限を付与

GRANT 権限 ON オブジェクト名 TO ユーザー名 [WITH GRNT OPTION];
権限の種類 説明
SELECT 表を検索できる
INSERT 表に行を挿入できる
DELETE 表から行を削除できる
UPDATE 表の行を更新できる
REFERENCES 外部キーからの参照を許す
ALL PRIVILEGES 上記の全て

権限の削除

REVOKE 権限 ON オブジェクト名 FROM ユーザー名;

データの入力

INSERT INTO 表名 (列名1,列名2,...) VALUES(値1,値2,...);

データの更新

UPDATA 表名 SET 列名1=値1, 列名2=値2,... WHERE 検索条件;

データの削除

DELETE FROM 表名 WHERE 検索条件;