個人的SQL文法メモ

個人的文法メモ

主にPostgreSQLで利用するSQL文法をコピペできるようにまとめておく記事です。

Advertisement

select文

select 列名
from テーブル名

selectの後に取得したい列名を入力し、fromの後に列名を取得するテーブル名を入力します。

selectに”*”を指定することでテーブル内全ての列を取得することができます。

別名

select 列名 as 別名
from テーブル名 as 別名

列名やテーブル名のあとにasをつけ、別名を記述することで別名で表示することもできます。

PostgreSQLなどの場合はasを省略することも可能ですが、基本的に付けておいたほうがわかりやすいですし後々便利です。

order by句

order by 列名 並び順

order by、列名、並び順の順に記述することで列を指定した並び順に並べ替えることができます。

昇順の場合は”asc”、降順の場合は”desc”と記述します。order byはデフォルトで昇順が適用されるので”asc”は省略可能です。

update文

update テーブル名
set 列名 = 更新内容

selectの後にテーブル名を入力し、setの後に変更したい列名、”=”、更新内容を記述します。

ただし、この状態で実行すると全件更新されてしまうので基本的にwhere句で条件を絞って利用します。

delete文

delete
from テーブル名

deleteを記述し、fromの後にテーブル名を記述します。

ただし、この状態で実行すると全データを削除しまうので基本的にwhere句で条件を絞って利用します。

where句

where 条件式

whereの後に絞り込み条件を記述します。

select文、update文、delete文で利用することができます。

null判定

where 式 is null
where 式 is not null

nullであることを判定する場合は”is null”と記述します。

逆にnullではないことを判定する場合は”is not null”と記述します。

パターンマッチング

where 式 like パターン文字列

式の後にlike、パターン文字列を記述することでパターンマッチングが可能です。

パターン文字としては”%”と”_”が利用でき、”%”が0文字以上の文字列、”_”が1文字の文字列となります。

例えば”佐藤%”と記述すると佐藤に続いて0文字以上ある文字列になりますし、”佐藤_郎”と記述すると佐藤に続いて一文字あり、郎で終わる文字列となります。

範囲判定

where between 式 and 式

式の前にbetween、式、and、式と記述することで範囲判定が可能です。

複数条件

where 条件式 and 条件式
where 条件式 or 条件式

andやorを利用することで複数条件を利用できます。

andは条件式両方が真の場合に真になり、orは条件式のどちらかが真ならば真になります。

insert文

insert
into テーブル名(列名)
values (値)

insertを記述し、intoの後にテーブル名、かっこ内に列名を記述、values()内に追加する値を記述します。

なお、テーブル内全ての列へ順番通りに値を追加する場合は列名の記述が不要です。

create table文

create
table テーブル名(
列名 データ型
)

createを記述し、tableの後にテーブル名、かっこ内に列名とデータ型を記述します。

データ型(PostgreSQL)

integer 4バイト符号あり整数
bigint 8バイト符号あり整数
real 4バイト浮動小数点数
double precision 8バイト浮動小数点数

char(n) 最大桁数nの固定長文字列
varchar(n) 最大桁数nの可変長文字列
text 制限なし可変長文字列

date 日付

主キー制約

列名 データ型 primary key

primary keyをつけると主キー制約を指定する事ができます。

複合主キー

primary key(列名1, 列名2)

create table文の最後にprimary key(列名1, 列名2)を記述することで複数の列を主キーとして指定可能です。

外部キー制約

列名 データ型 references 参照先テーブル名(参照先列名)

referencesの後に参照先テーブル名、かっこ内に参照先列名を指定することで外部キー制約をかけることができます。

drop table文

drop
table テーブル名

drop tableの後にテーブル名をつけるとテーブルを削除することができます。

作成済みテーブル一覧表示(PostgreSQL)

\dt

作成済みのテーブルを一覧表示することができます。

入力中SQL文リセット(PostgreSQL)

\r

入力中のSQL文をリセットすることができます。

Advertisement

私がより複雑なSQL文を書くようになったら更新されます。