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をすること。