我能够连接Python 3.4和Postgres,但我查询没有成功执行。例如,下表未创建
import psycopg2
from psycopg2 import connect
try:
conn = psycopg2.connect("dbname='postgres' user='postgres' host='localhost' password='postgres'")
print("Database connected!")
cur = conn.cursor()
cur.execute("""CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
)""")
except:
print("I am unable to connect to the database")
答案 0 :(得分:1)
添加
conn.commit()
运行execute
后。
关系数据库具有事务的概念,它发生(如果有的话)“原子地”(全有或全无)。您需要commit
一笔交易才能真正实现这一目标;在你完成之前,你可以保留rollback
的选项,如果你在路上发现了一些东西,就不会对数据库进行任何更改。