psycopg2 表在哪里创建?
psycopg2 where are tables created?
我正在使用 python 3.x 中的 psycopg2 库在数据库中创建 table。但是,当我访问数据库时,找不到 tables。注意:我使用的是 postgresql 数据库。
这里我创建 table:
# 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”,它不会显示 table。
如果我登录数据库并直接执行查询,则会创建 table 并可以使用“\dt”显示。
我哪里错了?
我用的是python3.6.x和psycopg2.
我用 python 代码创建了 table。
注意 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()
我正在使用 python 3.x 中的 psycopg2 库在数据库中创建 table。但是,当我访问数据库时,找不到 tables。注意:我使用的是 postgresql 数据库。
这里我创建 table:
# 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”,它不会显示 table。
如果我登录数据库并直接执行查询,则会创建 table 并可以使用“\dt”显示。
我哪里错了?
我用的是python3.6.x和psycopg2.
我用 python 代码创建了 table。
注意 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()