📜  使用 Psycopg2 在 PostgreSQL 中插入Python字典

📅  最后修改于: 2022-05-13 01:55:03.086000             🧑  作者: Mango

使用 Psycopg2 在 PostgreSQL 中插入Python字典

在本文中,我们将看到如何使用 Psycopg2 在 PostgreSQL 中插入Python字典。

我们可以通过将字典键作为列名和值作为字典值来插入Python字典。我们导入 Psycopg2 包并使用 psycopg2.connect() 方法形成与 PostgreSQL 数据库的连接。首先,让我们创建一个表,然后将Python字典值插入其中。我们通过使用 cursor.execute() 方法执行 SQL 语句来创建表。

创建表SQL命令:

'''CREATE TABLE DETAILS(employee_id int NOT NULL, employee_name char(20),
         employee_email varchar(30), employee_salary float);'''

创建空表后,使用 .values() 方法从字典中获取表中的值。

空桌

我们遍历字典值并将它们插入到表中。每次插入都会执行以下 SQL 语句。

'''insert into DETAILS(employee_id , employee_name ,
         employee_email , employee_salary) VALUES{};'''

下面是实现:



Python3
import psycopg2
import psycopg2
    
# connection establishment
conn = psycopg2.connect(
   database="geeks",
    user='postgres',
    password='root',
    host='localhost',
    port= '5432'
)
    
  
conn.autocommit = True
cursor = conn.cursor()
  
sql = '''CREATE TABLE DETAILS(employee_id int NOT NULL,\
          employee_name char(20), 
          employee_email varchar(30), employee_salary float);'''
  
  
cursor.execute(sql)
dictionary ={ 'empl1'🙁187643,'sarah',
                       'sarahpaul@gmail.com',65000),
              'empl2'🙁187644,'rahul',
                       'rahul101@gmail.com',75000),
              'empl3'🙁187645,'arjun',
                       'arjun234@gmail.com',70000)
}
columns= dictionary.keys()
for i in dictionary.values():
    sql2='''insert into DETAILS(employee_id , employee_name , 
          employee_email , employee_salary) VALUES{};'''.format(i)
  
    cursor.execute(sql2)
  
sql3='''select * from DETAILS;'''
cursor.execute(sql3)
for i in cursor.fetchall():
    print(i)
  
conn.commit()
conn.close()


输出:

(187643, 'sarah               ', 'sarahpaul@gmail.com', 65000.0)
(187644, 'rahul               ', 'rahul101@gmail.com', 75000.0)
(187645, 'arjun               ', 'arjun234@gmail.com', 70000.0)

插入后的 PostgreSQL 表:

插入后的决赛桌