Python 3.x psycopg2在哪里创建表?
我正在使用Python3.x中的psycopg2库在数据库中创建表。然而,当我访问数据库时,我找不到表。注意:我使用的是postgresql数据库 我在这里创建表:Python 3.x psycopg2在哪里创建表?,python-3.x,postgresql,psycopg2,Python 3.x,Postgresql,Psycopg2,我正在使用Python3.x中的psycopg2库在数据库中创建表。然而,当我访问数据库时,我找不到表。注意:我使用的是postgresql数据库 我在这里创建表: # Accessing database database = psycopg2.connect(database = "db_name", user="db_user", password="db_password", host="db_host", port="5432") # Creating a cursor dbcur
# Accessing database
database = psycopg2.connect(database = "db_name", user="db_user", password="db_password", host="db_host", port="5432")
# Creating a cursor
dbcur = database.cursor()
# Creating a table
dbcur.execute("""create table test (var1 varchar);"")
如果我登录到数据库并写入“\dt”,则不会显示该表
如果我登录到数据库并直接执行查询,则会创建该表,并可以使用“\dt”显示该表
哪里出了问题?我使用python 3.6.x和psycopg2 我使用python代码创建表 当心那个康涅狄格州的犯罪分子
我想到两件事:(1)您是否将(
\c
)连接到了正确的数据库?和(2)您是否提交了事务?谢谢,我错过了连接。提交():)
def createPlayerTable():
conn = None
try:
conn = psycopg2.connect("dbname='mydatabase' user='myuser' host='localhost' port='5432' password='password'")
cur = conn.cursor()
sql = """
CREATE TABLE player (
Date DATE, --01
Num int, --02
Nat VARCHAR(30), --03
Player VARCHAR(30), --04
PlayerID BIGINT, --05
Spacial VARCHAR(30), --06
st VARCHAR(10), --07 Status Yellow, Red
Age VARCHAR(10), --08
Since VARCHAR(30), --09
TSI BIGINT, --10
LS INT, --11
XP INT, --12
Fo INT, --13
Stm INT, --14
Lo INT, --15
MB boolean, --16
KP INT, --17
DF INT, --18
PM INT, --19
WI INT, --20
PS INT, --21
SC INT, --22
SP INT, --23
con BIGINT, --24 Psico
Last DATE, --25
RT NUMERIC(2, 1), --26 Rating
Po VARCHAR(5), --27 Position
Wage BIGINT, --28
G INT, --29
--TC VARCHAR(1), --
--PH VARCHAR(1), --
KP_P NUMERIC(4, 2), --30 KP Position
WB_P NUMERIC(4, 2), --31 WB Position
CD_P NUMERIC(4, 2), --32 CD Position
W_P NUMERIC(4, 2), --33 W Position
IM_P NUMERIC(4, 2), --34 IM Position
FW_P NUMERIC(4, 2) --35 FW Position
) ; """
cur.execute(sql)
conn.commit()
except(Exception, psycopg2.DatabaseError) as error:
print(error)
finally:
if conn is not None:
conn.close()