PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Nhắm mục tiêu các giá trị cụ thể từ API JSON và chèn vào Postgresql, sử dụng Python

Đầu tiên, giải nén ids vào danh sách các bộ giá trị:

ids = list((item['id'],) for item in data['issues'])
# example ids: [('41508',), ('41509',)]

Tiếp theo, sử dụng hàm extras.execute_values ​​():

from psycopg2 import extras

query = """
    INSERT into Countries (revenue)
    VALUES %s;
"""
extras.execute_values(cursor, query, ids)

Đối số thứ hai của hàm thực thi (query, vars_list) phải là một chuỗi trong khi data là một đối tượng mà các phần tử không thể được truy cập bằng các chỉ mục số nguyên.

Do hiệu suất, hàm đầu tiên thực hiện một truy vấn duy nhất với nhiều đối số, trong khi hàm thứ hai thực thi nhiều truy vấn như đối số.

Lưu ý rằng theo mặc định đối số thứ ba của execute_values() là danh sách các bộ giá trị, vì vậy chúng tôi đã trích xuất ids theo cách này.

Nếu bạn phải chèn giá trị vào nhiều cột, mỗi bộ trong danh sách phải chứa tất cả các giá trị cho một hàng được chèn, ví dụ:

values = list((item['id'], item['key']) for item in data['issues'])

query = """
    INSERT into Countries (id, revenue)
    VALUES %s;
"""
extras.execute_values(cur, query, values)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham gia ba bảng với một trong số chúng không có khóa chính

  2. Cách biết múi giờ của dấu thời gian trong postgresql 8.3

  3. Tập lệnh thử nghiệm cho đồng thời giao dịch cho postgresql

  4. Làm thế nào để thiết kế một lược đồ cơ sở dữ liệu để lưu trữ văn bản bằng nhiều ngôn ngữ?

  5. PostgreSQL Logical Replication Gotchas