個人的SQL文法メモ
主にPostgreSQLで利用するSQL文法をコピペできるようにまとめておく記事です。
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文をリセットすることができます。
私がより複雑なSQL文を書くようになったら更新されます。
-
前の記事
両側に空白を作る 2020.07.28
-
次の記事
Webサイトをスマホ対応にする 2020.07.30