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

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

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

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

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

Top