PostgreSQL 13に連番型(serial)の使い方

環境
Windows10 64 bit
PostgreSQL 13.2
説明
連番型:
smallserial 1~32767
serial  1~2147483647
bigserial 1~9223372036854775807
操作例
1.「testdb」データベースを作成します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
postgres=# create database testdb;
CREATE DATABASE
postgres=# create database testdb; CREATE DATABASE
postgres=# create database testdb;
CREATE DATABASE

2.「testdb」データベースに接続します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
postgres-# \c testdb
データベース"testdb"にユーザ"postgres"として接続しました。
testdb-#
postgres-# \c testdb データベース"testdb"にユーザ"postgres"として接続しました。 testdb-#
postgres-# \c testdb
データベース"testdb"にユーザ"postgres"として接続しました。
testdb-#

3.「usertbl」テーブルを作成します(連番型が設定されたカラムuidが含まれます)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=# create table usertbl (uid serial, uname varchar(10));
CREATE TABLE
testdb=# create table usertbl (uid serial, uname varchar(10)); CREATE TABLE
testdb=# create table usertbl (uid serial, uname varchar(10));
CREATE TABLE

4.テーブルにデータを追加します
uidカラムのデータ型が連番型のserialですので、uidは値を指定せすデータを追加します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=# insert into usertbl (uname) values ('大森');
INSERT 0 1
testdb=# insert into usertbl (uname) values ('山崎');
INSERT 0 1
testdb=# insert into usertbl (uname) values ('大阪');
INSERT 0 1
testdb=# insert into usertbl (uname) values ('大森'); INSERT 0 1 testdb=# insert into usertbl (uname) values ('山崎'); INSERT 0 1 testdb=# insert into usertbl (uname) values ('大阪'); INSERT 0 1
testdb=# insert into usertbl (uname) values ('大森');
INSERT 0 1
testdb=# insert into usertbl (uname) values ('山崎');
INSERT 0 1
testdb=# insert into usertbl (uname) values ('大阪');
INSERT 0 1

5.usertblテーブルのデータを取得します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
testdb=# select * from usertbl;
uid | uname
-----+-------
1 | 大森
2 | 山崎
3 | 大阪
(3)
uidカラムには自動的に連続した数値が格納されています
testdb=# select * from usertbl; uid | uname -----+------- 1 | 大森 2 | 山崎 3 | 大阪 (3 行) uidカラムには自動的に連続した数値が格納されています
testdb=# select * from usertbl;
 uid | uname
-----+-------
   1 | 大森
   2 | 山崎
   3 | 大阪
(3 行)
uidカラムには自動的に連続した数値が格納されています

 

PostgreSQL

Posted by arkgame