psycopg2はpythonからPostgreSQLに接続するためのライブラリ
C言語で書かれたlibpgのラッパー
ライブラリのインストール
$ pip install psycopg2
データベース作成
postgres=# create database mydb;
CREATE DATABASE
テーブル作成
postgres=# \c mydb
You are now connected to database “mydb” as user “postgres”.
CREATE TABLE users(
id SERIAL,
email varchar(255) NOT NULL,
password varchar(255) NOT NULL,
PRIMARY KEY(id)
);
mydb=# \dt
List of relations
Schema | Name | Type | Owner
——–+——-+——-+———-
public | users | table | postgres
(1 row)
import psycopg2 connection = psycopg2.connect(host='localhost', user='postgres', password='password', database='mydb') with connection: with connection.cursor() as cursor: sql = "INSERT INTO users(email, password) VALUES(%s, %s)" cursor.execute(sql, ('webmaster@python.org', 'very-secret')) connection.commit()
mydb=# select * from users;
id | email | password
—-+———————-+————-
1 | webmaster@python.org | very-secret
(1 row)
withを使わずに記述することも可能。その場合は、自動的に閉じないため明示的に閉じる必要がある
import psycopg2 connection = psycopg2.connect(host='localhost', user='postgres', password='password', database='mydb') cursor = connection.cursor() sql = "INSERT INTO users(email, password) VALUES (%s, %s)" cursor.execute(sql, ('webmaster2@python.org', 'much-secret')) connection.commit() cursor.close() connection.close()
なるほど、psqlに接続するためのライブラリってことね