21 ธันวาคม 2557

Published 12/21/2557 by with 0 comment

เชื่อมต่อกับฐานข้อมูล 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() 
ผลลัพธ์
เปิดฐานข้อมูลสำเร็จ
สร้างตารางสำเร็จ :D

เพิ่มข้อมูล 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 =  ทดสอบระบบ :D

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

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

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, 'ต้นตาล','ทดสอบระบบ :D ')
(2, 'วรรณพงษ์','ทดสอบระบบ ครับ  :D ')


อัปเดรตข้อมูลใหม่โดยใช้คำสั่ง 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 =  ทดสอบระบบ :D

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

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

ลบข้อมูล (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 =  ทดสอบระบบ :D

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

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

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)