我在python 3.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 = database.cursor()
# Creating a table
dbcur.execute("""create table test (var1 varchar);"")
如果我登录数据库并写入" \ dt"它没有显示表格。
如果我登录数据库并直接执行查询,则会创建表格并使用" \ dt"显示。
我哪里错了?
答案 0 :(得分:1)
我使用的是python 3.6.x和psycopg2。
我用python代码创建表。
注意conn.commit()
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()