SQL学習のためテーブルを作ってデータを入れる
基本操作の習熟のため、先日セットアップしたPostgreSQLにSQLでテーブル作成、データをインサートしていく方法を記録する。
テーブルの作成
create tableを使用する。
今回作りたいテーブル
user_id | user_name | dept_no | start_date | end_date |
個人番号。一意制約を付ける。 | 氏名 | 部署名 | 採用年月日 | 終了年月日 デフォルト値を設定 |
1 2 3 4 5 |
create table if not exists user_table ( "user_id" integer primary key --① ,"user_name" character varying --② ,"dept_no" integer ,"start_date" integer ,"end_date" integer DEFAULT '99999999' --③ ); |
①integer 整数型 primery key カラムに一意制約をつける
②character varying 文字列型
③DEFAULT ‘99999999’ デフォルト値を’99999999′ に設定する。
※if not exists テーブルがなければ作成する。すでに指定したテーブルが存在する場合はエラーになるので、if not exists を指定してエラーを回避。
データの挿入
inert 文を使ってデータを挿入する
csvインポートって方法もあるけど今回はSQLでテストデータを入れる書き方
1 2 3 4 5 6 |
INSERT INTO user_table (user_id,user_name, dept_no,start_date) VALUES (1,'太郎', 1,to_char(current_date,'yyyymmdd')::integer) , (2,'花子', 2, to_char(current_date,'yyyymmdd')::integer) , (3,'次郎', 2, to_char(current_date,'yyyymmdd')::integer) , (4,'三郎', 1, to_char(current_date,'yyyymmdd')::integer); |
end_dateはデフォルト値を設定したので、指定しなくてもよい。
結果を確認
1 2 3 4 5 6 7 8 9 |
<span style="font-size: 16px;"><code>SELECT * FROM user_table 実行結果 ------------------------------------------------------ "user_id","user_name","dept_no","start_date","end_date" 1,"太郎",1,20220126,99999999 2,"花子",2,20220126,99999999 3,"次郎",2,20220126,99999999 4,"三郎",1,20220126,99999999</code></span> |
もっと簡単な方法がいくつもある
今回はSQLの練習もかねて一例を紹介。次回はcsvインポートでデータを作る方法も記録していく。
コメント