Pengenalan kepada modul Psycopg2 dalam Python

WBOY
Lepaskan: 2023-08-19 16:01:05
ke hadapan
3281 orang telah melayarinya

Pengenalan kepada modul Psycopg2 dalam Python

Kami tahu bahawa Python ialah bahasa pengaturcaraan yang digunakan untuk melaksanakan pelbagai tugas dalam bidang seperti Analisis Data, AI, Pembelajaran Mesin dan sebagainya. Dan jelas sekali, terdapat modul berbeza dengan fungsi khas yang membantu kami melakukan kerja.

Begitu juga, kod Python berinteraksi dengan pangkalan data PostgreSQL melalui modul yang dipanggil "modul Psycopg2". Ia adalah penyesuai pangkalan data PostgreSQL yang popular untuk Python. Modul ini memberikan kami satu set fungsi dan kelas untuk membantu kami dengan sambungan pangkalan data, pemprosesan hasil dan pelaksanaan pertanyaan.

Ciri utama modul Psycopg2 dalam Python

  • Sambungan Pangkalan Data: Modul Psycopg2 dalam Python disertakan dengan fungsi "connect()". Fungsi ini membantu mewujudkan sambungan ke pangkalan data PostgreSQL. Kami boleh menghantar parameter seperti nama pangkalan data, nama pengguna, kata laluan dan hos ke fungsi ini yang akan membantu kami menyambung ke pangkalan data pilihan kami

  • Pelaksanaan Pertanyaan: Modul Psycopg2 membolehkan kami memasukkan pertanyaan SQL terhadap pangkalan data PsycopgSQL yang disambungkan. Kaedah "execute()" membantu kami melaksanakan pernyataan SQL, seperti SELECT untuk mengakses data dan INSERT, UPDATE dan DELETE untuk operasi data.

  • Precompiled Statements: Mengoptimumkan pertanyaan SQL ialah ciri yang sangat berguna bagi modul Psycopg2. Hanya menyediakan pertanyaan SQL sekali lebih awal dan melaksanakannya beberapa kali dengan parameter yang berbeza boleh membawa kepada peningkatan besar dalam prestasi.

  • Pengurusan urus niaga: Psycopg2 menyediakan kami fungsi yang membantu untuk menguruskan urus niaga, melakukan perubahan dalam urus niaga dan mengembalikan segala-galanya, adalah lebih mudah dengan modul ini memastikan integriti dan konsistensi data dengan mengumpulkan beberapa operasi pangkalan data ke dalam satu unit.

  • Pengendalian Ralat: Psycopg2 mengendalikan ralat dan pengecualian yang berkaitan dengan pangkalan data, dan memberikan kami mesej dan maklumat ralat terperinci yang membantu kami menyahpepijat isu dengan sambungan pangkalan data atau pelaksanaan pertanyaan.

  • .
  • Penukaran jenis data
  • : Psycopg2 secara automatik akan menukar objek Python kepada jenis data sepadan yang disokong oleh PostgreSQL. sebaliknya. Ia menyokong pelbagai jenis data PostgreSQL terbina dalam seperti integer, rentetan, tarikh, JSON, dll.
  • Pemasangan Modul Postgre2 dalam Python

  • Di sini, kami akan menggunakan arahan pip untuk memasang modul Psycopg2 Kami perlu memastikan bahawa versi terkini pip sedang digunakan dalam terminal, kami perlu menaip perkara berikut.
pip install -U pip
pip install psycopg2-binary
Salin selepas log masuk

Arahan ini akan memasang versi binari Pycopg2 yang tidak memerlukan sebarang prasyarat terbina atau masa jalan.

Cara menggunakan modul

Modul Psycopg2 mempunyai banyak aplikasi, seperti mewujudkan sambungan antara kod Python dan pangkalan data PostgreSQL Berikut ialah kod yang melakukan perkara itu:

Contoh

import psycopg2

DB_NAME = "tkgafrwp"
DB_USER = "tkgafrwp"
DB_PASS = "iYYtLAXVbid-i6MV3NO1EnU-_9SW2uEi"
DB_HOST = "tyke.db.elephantsql.com"
DB_PORT = "5692"

try:
   conn = psycopg2.connect(database=DB_NAME,
                user=DB_USER,
                password=DB_PASS,
                host=DB_HOST,
                port=DB_PORT)
   print("Database connected successfully")
except:
   print("Database not connected successfully")
Salin selepas log masuk

Di sini kita dapat melihat bahawa nama pangkalan data, pengguna pangkalan data, kata laluan, hos dan port telah disimpan dalam pembolehubah yang berbeza. Kemudian, untuk menjadikan kod itu sekukuh yang mungkin, kami menggunakan cuba dan terima blok. Di dalam blok try, kami menggunakan fungsi "connect()" untuk menyambungkan kod Python ke pangkalan data PostgreSQL. Fungsi ini menggunakan semua maklumat yang kami simpan dalam pembolehubah yang berbeza

Selepas menyambung ke pangkalan data, kami pasti mahu dapat melakukan beberapa operasi berguna pada pangkalan data. Kita boleh menggunakan kod Python untuk menjana pertanyaan SQL! Coretan kod berikut akan menunjukkan perkara ini:

Contoh

import psycopg2

DB_NAME = "tkgafrwp"
DB_USER = "tkgafrwp"
DB_PASS = "iYYtLAXVbid-i6MV3NO1EnU-_9SW2uEi"
DB_HOST = "tyke.db.elephantsql.com"
DB_PORT = "5692"

conn = psycopg2.connect(database=DB_NAME,
                user=DB_USER,
                password=DB_PASS,
                host=DB_HOST,
                port=DB_PORT)
print("Database connected successfully")

cur = conn.cursor()
cur.execute("""
CREATE TABLE Employee
(
   ID INT  PRIMARY KEY NOT NULL,
   NAME TEXT NOT NULL,
   EMAI TEXT NOT NULL
)
""")
conn.commit()
print("Table Created successfully")
Salin selepas log masuk

Di sini, kami mencipta kursor menggunakan fungsi "

kursor()

" dan kemudian menyimpannya dalam pembolehubah cur Kemudian kami memformat rentetan berbilang baris dan kami menaip pertanyaan SQL yang akan masuk ke dalam pangkalan data kita kita gunakan fungsi commit() untuk menggunakan perubahan ini pada pangkalan data.

Memasukkan data ke dalam jadual sedia ada juga boleh! Terdahulu kami mencipta jadual dan kemudian kami memasukkan data ke dalam jadual. Coretan kod berikut akan menunjukkan kepada kami: Contoh

import psycopg2

DB_NAME = "tkgafrwp"
DB_USER = "tkgafrwp"
DB_PASS = "iYYtLAXVbid-i6MV3NO1EnU-_9SW2uEi"
DB_HOST = "tyke.db.elephantsql.com"
DB_PORT = "5692"

conn = psycopg2.connect(database=DB_NAME,
                user=DB_USER,
                password=DB_PASS,
                host=DB_HOST,
                port=DB_PORT)
print("Database connected successfully")

cur = conn.cursor()
cur.execute("""
   INSERT INTO Employee (ID, NAME, EMAIL) VALUES
   (1, 'Virat Kohli','viratk@gmail.com'),
   (2,' Lionel Messi','leomessi87@gmail.com')
 """)
conn.commit()
conn.close()
Salin selepas log masuk

Di sini, kami menggunakan fungsi execute() untuk melaksanakan pernyataan SQL untuk memasukkan data ke dalam jadual sedia ada.

Selain memasukkan data ke dalam pangkalan data sebenar dan memaparkannya pada pelayan, kami juga boleh memaparkan data dalam terminal Python. Tetapi pertama, kita perlu memasang modul yang dipanggil "mysqlx". Modul ini juga sangat membantu apabila bekerja dengan pangkalan data SQL. Ini kodnya:

Contoh

from mysqlx import Rows
import psycopg2

DB_NAME = "tkgafrwp"
DB_USER = "tkgafrwp"
DB_PASS = "iYYtLAXVbid-i6MV3NO1EnU-_9SW2uEi"
DB_HOST = "tyke.db.elephantsql.com"
DB_PORT = "5692"

conn = psycopg2.connect(database=DB_NAME,
                user=DB_USER,
                password=DB_PASS,
                host=DB_HOST,
                port=DB_PORT)
print("Database connected successfully")

cur = conn.cursor()
cur.execute("SELECT * FROM Employee")
rows = cur.fetchall()
for data in rows:
   print("ID :" + str(data[0]))
   print("NAME :" + data[1])
   print("EMAIL :" + data[2])

print('Data fetched successfully and shown on the terminal!')
conn.close()
Salin selepas log masuk
Di sini kita mempunyai baris yang diambil daripada modul "mysqlx". Kemudian, dengan menggunakan gelung for, kami mengulangi setiap baris jadual. Dengan cara ini kita mendapat semua data untuk setiap baris.

Atas ialah kandungan terperinci Pengenalan kepada modul Psycopg2 dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan