Skip to content

เชื่อมต่อกับฐานข้อมูล SQLite ใน Python 3

สวัสดีทุกท่านครับ บทความนี้จะพาผู้อ่านไปเชื่อมต่อกับฐานข้อมูล SQLite ใน Python 3 กันครับ

การเรียกใช้ฐานข้อมูล SQLite ใน Python 3 เราต้องเรียกใช้โมดูลมาตรฐาน sqlite3 ด้วยการ import เข้ามา

import sqlite3

ในการเชื่อมต่อฐานข้อมูลเราจะใช้คำสั่ง

sqlite3.connect(database [,timeout ,other optional arguments])

หากต้องการ cursor ฐานข้อมูลใช้คำสั่ง

connection.cursor([cursorClass])

รันคำสั่ง SQL กับฐานข้อมูล SQLite ใช้คำสั่ง

cursor.execute(คำสั่ง sql [, optional parameters])

fetchall ใช้คำสั่ง

cursor.fetchall()

ปิดการเชื่อมต่อกับฐานข้อมูล SQLite

connection.close()

เรามาเริ่มลองเขียนโปรแกรมกันครับ

เปิดฐานข้อมูล SQLite ใน Python 3

#!/usr/bin/python

import sqlite3
conn = sqlite3.connect('1.db')
print("เปิดฐานข้อมูลสำเร็จ")

ผลลัพธ์

เปิดฐานข้อมูลสำเร็จ

และจะได้ไฟล์ฐานข้อมูล 1.db

สร้างตารางฐานข้อมูล SQLite ใน Python 3

#!/usr/bin/python

import sqlite3
conn = sqlite3.connect('1.db')
print("เปิดฐานข้อมูลสำเร็จ")
conn.execute('''CREATE TABLE SAVEONE
       (ID INT PRIMARY KEY     NOT NULL,
       NAME           TEXT    NOT NULL,
       MESSENGE        CHAR(150));''')
print("สร้างตารางสำเร็จ :D ")
conn.close()

ผลลัพธ์

เปิดฐานข้อมูลสำเร็จ
สร้างตารางสำเร็จ 😀

เพิ่มข้อมูล INSERT ลงไปฐานข้อมูล SQLite ใน Python 3

#!/usr/bin/python

import sqlite3
conn = sqlite3.connect('1.db')
print("เปิดฐานข้อมูลสำเร็จ")
conn.execute("INSERT INTO SAVEONE (ID,NAME,MESSENGE )
      VALUES (1, 'ต้นตาล','ทดสอบระบบ :D ')")
conn.execute("INSERT INTO SAVEONE (ID,NAME,MESSENGE )
      VALUES (2, 'วรรณพงษ์','ทดสอบระบบ ครับ  :D ')")
conn.commit()
print("เพิ่มระเบียงข้อมูลสำเร็จ")
conn.close()

ผลลัพธ์

เปิดฐานข้อมูลสำเร็จ
เพิ่มระเบียงข้อมูลสำเร็จ

อ่านข้อมูลด้วยการเลือกตาราง (SELECT)  กับฐานข้อมูล SQLite ใน Python 3

#!/usr/bin/python

import sqlite3
conn = sqlite3.connect('1.db')
print("เปิดฐานข้อมูลสำเร็จ")
cursor = conn.execute("SELECT ID,NAME,MESSENGE  from SAVEONE")
for row in cursor:
   print("ID = ", row[0])
   print("NAME = ", row[1])
   print("MESSENGE = ", row[2])
print("ดำเนินการเสร็จสิ้น")
conn.close()

ผลลัพธ์

เปิดฐานข้อมูลสำเร็จ
ID = 1
NAME = ต้นตาล
MESSENGE =  ทดสอบระบบ 😀

ID = 2
NAME = วรรณพงษ์
MESSENGE =  ทดสอบระบบ ครับ  😀

ดำเนินการเสร็จสิ้น

fetchall ฐานข้อมูล

import sqlite3
import sys
conn = sqlite3.connect('1.db')
with conn:   
    cur = conn.cursor()   
    cur.execute("SELECT * FROM SAVEONE")
    rows = cur.fetchall()
    for row in rows:
        print(row)
input()

ผลลัพธ์

(1, 'ต้นตาล','ทดสอบระบบ 😀 ')
(2, 'วรรณพงษ์','ทดสอบระบบ ครับ  😀 ')

อัปเดรตข้อมูลใหม่โดยใช้คำสั่ง UPDATE กับฐานข้อมูล SQLite ใน Python 3

#!/usr/bin/python

import sqlite3
conn = sqlite3.connect('1.db')
print("เปิดฐานข้อมูลสำเร็จ")
conn.execute("UPDATE SAVEONE set NAME = 'HI' where ID=1")
conn.commit
print("แถวที่อัปเดรตข้อมูลใหม่ :", conn.total_changes)
cursor = conn.execute("SELECT ID,NAME,MESSENGE  from SAVEONE")
for row in cursor:
   print("ID = ", row[0])
   print("NAME = ", row[1])
   print("MESSENGE = ", row[2])
print("ดำเนินการเสร็จสิ้น")
conn.close()
input()

ผลลัพธ์

เปิดฐานข้อมูลสำเร็จ
แถวที่อัปเดรตข้อมูลใหม่ : 1
ID = 1
NAME = HI
MESSENGE =  ทดสอบระบบ 😀

ID = 2
NAME = วรรณพงษ์
MESSENGE =  ทดสอบระบบ ครับ  😀

ดำเนินการเสร็จสิ้น 

ลบข้อมูล (DELETE)  กับฐานข้อมูล SQLite ใน Python 3

#!/usr/bin/python

import sqlite3
conn = sqlite3.connect('1.db')
print("เปิดฐานข้อมูลสำเร็จ")
conn.execute("DELETE from SAVEONE where ID=2;")
conn.commit
print("แถวที่ถูกลบ :", conn.total_changes)
cursor = conn.execute("SELECT ID,NAME,MESSENGE  from SAVEONE")
for row in cursor:
   print("ID = ", row[0])
   print("NAME = ", row[1])
   print("MESSENGE = ", row[2])
print("ดำเนินการเสร็จสิ้น")
conn.close()
input()

ผลลัพธ์

เปิดฐานข้อมูลสำเร็จ
แถวที่ถูกลบ : 2
ID = 1
NAME = HI
MESSENGE =  ทดสอบระบบ 😀

ดำเนินการเสร็จสิ้น

โหลดโค้ดตัวอย่างได้ที่ http://bit.ly/1DXJIOz
อ่านรายละเอียดเพิ่มเติมได้ที่ https://docs.python.org/3/library/sqlite3.html
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

Published on Categories ไม่มีหมวดหมู่Tags

About wannaphong

วรรณพงษ์ ภัททิยไพบูลย์ ผู้ดูแลเว็บ wannaphong.com และผู้เขียนบทความบล็อกนี้ นักศึกษาชั้นปีที่ 1 สาขาวิทยาการคอมพิวเตอร์และสารสนเทศ คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย

1 thought on “เชื่อมต่อกับฐานข้อมูล SQLite ใน Python 3

  1. Ang

    แสดงรูปภาพที่เป็นไฟล์ blob ในฐานข้อมูล ออกมาทาง gui ยังไงเหรอครับ

    Reply

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *