การเชื่อต่อฐานข้อมูล Postgres ด้วย Module psycopg2

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderators: mindphp, ผู้ดูแลกระดาน

benzas00123
PHP Super Member
PHP Super Member
Posts: 210
Joined: 06/01/2020 9:58 am

การเชื่อต่อฐานข้อมูล Postgres ด้วย Module psycopg2

Post by benzas00123 » 09/01/2020 3:48 pm

PostgreSQL เป็นระบบจัดการฐานข้อมูล OpenSource ที่ทันสมัยและนิยมใช้กันมากในปัจจุบันมีคนใช้มากที่สุดเป็นอันดับที่ 4 ของระบบจัดการฐานข้อมูล และไม่เสียค่าใช้จ่ายในการใช้งานด้วย

โดยการที่เราจะสามารถติดต่อกับฐานข้อมูลของ PostgreSQL โดยใช้ Python ได้นั้นสิ่งสำคัญเราจะต้องมี deiver ในการติดต่อ ซึ่งในปัจจุบัน Driver ที่ใช้สำหรับการติดต่อกับ PostgreSQL นั้นมีมากมาย แต่ตัวที่คนนิยมใช้กันมากที่สุดคือ psycopg2 โดยต้อง import ตัว driver ตัวนี้ไปใส่ก่อนไม่เช่นนั้นจะไม่สามารถติดต่อกับฐานข้อมูลได้

ขั้นตอนการติดต่อกับฐานข้อมูล
1. Import psycopg2

Code: Select all

import psycopg2 as p


2 สร้างตัวแปร เพื่อทำการเก็บฟังก์ชั่น connect โดยข้อมูลที่จะนำมาใส่ จะต้องตรงกับตัวฐานข้อมูลที่เราสร้าง

Code: Select all

    con = p.connect(
        host = "localhost",
        database="ben01",
        user="postgres",
        password="postgres",)
3.สร้างตัว แปร เก็บ cursor เพื่อใช้เป็นตัวชี้ข้อความที่เราต้องการ

Code: Select all

    cur = con.cursor()
    cur.execute('SELECT version()')
    ver = cur.fetchone()
    print(ver)
4.สร้าง try except เพื่อนำมาใช้เช็ค error
full code

Code: Select all

import psycopg2 as p

try:
    con = p.connect(
        host = "localhost",
        database="ben01",
        user="postgres",
        password="postgres",)

    cur = con.cursor()
    cur.execute('SELECT version()')
    ver = cur.fetchone()
    print(ver)
except p.DatabaseError:
    print('Error %s'%p.DatabaseError)
if con:
    con.close()
โดยเมื่อทำการเรียกใช้ การเชื่อต่อแล้วทุกครั้งจะต้องมีการใช้คำสั่งเพื่อ ปิดการเชื่อมต่อด้วย

Code: Select all

if con:
    con.close()
อ้างอิง
https://www.mindphp.com/%E0%B8%84%E0%B8 ... resql.html
https://www.mindphp.com/vdo-tutorial-py ... resql.html
https://db-engines.com/en/ranking

  • Similar Topics
    Replies
    Views
    Last post

Return to “Python Knowledge”

Who is online

Users browsing this forum: No registered users and 12 guests