コスギデンサン >> 情報系メモ >> Python

Python - PostgreSQL(Psycopg)メモ - INSERT, UPDATE, DELETEしてみる 2017/4
Version 3.6.1 on CentOS7

使用するテーブル

INSERT
import psycopg2import psycopg2

# SELECTメソッド
def do_select(sql):
    cur.execute(sql)
    for row in cur:
            print(row)

# main
constr = "host=localhost port=5432 dbname=dbname user=user password=password"
conn = psycopg2.connect(constr)

cur = conn.cursor()

# INSERTテスト
print("----- INSERT -----")
sql = "INSERT INTO test_table_1 (test_1_memo) VALUES ('テスト1')"
cur.execute(sql)

# SELECTテスト
sql = "SELECT * FROM test_table_1"
do_select(sql)

# UPDATEテスト
print("----- UPDATE -----")
sql = "UPDATE test_table_1 SET test_1_memo='テスト2'"
cur.execute(sql)

# SELECTテスト
sql = "SELECT * FROM test_table_1"
do_select(sql)

# DELETEテスト
print("----- DELETE -----")
sql = "DELETE FROM test_table_1"
cur.execute(sql)

# SELECTテスト
sql = "SELECT * FROM test_table_1"
do_select(sql)

conn.rollback()
実行結果
----- INSERT -----
(1, 'テスト1', False, datetime.datetime(2017, 5, 1, 22, 48, 26, 872896), None, None)
----- UPDATE -----
(2, 'テスト2', False, datetime.datetime(2017, 5, 1, 22, 48, 26, 872896), None, None)
----- DELETE -----
※カーソルに対してINSERT, UPDATE, DELETEを行う。
※デフォルトではAUTO_COMMIT=FALSEなので、最後は必ずCOMMITかROLLBACKをすること。