ในบทความนี้ เราจะมาเรียนรู้การใช้ SQL กับฐานข้อมูล Python และ SQLite Python มีโมดูลในตัวเพื่อเชื่อมต่อกับฐานข้อมูล SQLite เราจะใช้โมดูล sqlite3 เพื่อเชื่อมต่อ Python และ SQLite
เราต้องทำตามขั้นตอนด้านล่างเพื่อเชื่อมต่อฐานข้อมูล SQLite กับ Python ดูขั้นตอนและเขียนโปรแกรมได้เลย
- นำเข้าโมดูล sqlite3
- สร้างการเชื่อมต่อโดยใช้ sqlite3.connect(db_name) วิธีการที่ใช้ชื่อฐานข้อมูลเป็นอาร์กิวเมนต์ มันสร้างไฟล์ขึ้นมาหนึ่งไฟล์หากไม่มีชื่อที่ระบุ อย่างอื่นจะเปิดไฟล์ด้วยชื่อที่กำหนด
- รับวัตถุเคอร์เซอร์จากการเชื่อมต่อโดยใช้ conn.cursor() เป็นตัวกลางระหว่างฐานข้อมูล Python และ SQLite เราต้องใช้วัตถุเคอร์เซอร์นี้เพื่อรันคำสั่ง SQL
สามขั้นตอนข้างต้นช่วยให้เราสร้างการเชื่อมต่อกับฐานข้อมูล SQLite ขั้นตอนเหล่านี้คล้ายกับฐานข้อมูลใดๆ ใน Python ดูโค้ดด้านล่างหากคุณมีความสับสนในขั้นตอนข้างต้น
# importing the module import sqlite3 # creating an connection conn = sqlite3.connect("tutorialspoint.db") # db - database # Cursor object cursor = conn.cursor()
ตอนนี้เราเชื่อมต่อกับฐานข้อมูล มาสร้างฐานข้อมูลโดยใช้คำสั่ง SQL โดยทำตามขั้นตอนด้านล่าง
- เขียนโค้ด SQL เพื่อสร้างตารางที่มีชื่อและประเภทคอลัมน์
- รันโค้ดโดยใช้ cursor.execute() เพื่อสร้างตารางในฐานข้อมูล
- เขียนโค้ด SQL เพื่อแทรกแถวบางแถวลงในตาราง และดำเนินการตามขั้นตอนข้างต้น
- ยอมรับการเปลี่ยนแปลงเพื่อบันทึกในไฟล์โดยใช้วิธี conn.commit()
- ปิดการเชื่อมต่อโดยใช้วิธี conn.close()
# importing the module import sqlite3 # creating an connection conn = sqlite3.connect("tutorialspoint.db") # db - database # Cursor object cursor = conn.cursor() # code to create a databse table create_table_sql = """ CREATE TABLE students ( id INTEGER PRIMARY KEY, first_name VARCHAR(20), last_name VARCHAR(30), gender CHAR(1) ); """ # executing the above SQL code cursor.execute(create_table_sql) # inserting data into the students table insert_student_one_sql = """INSERT INTO students VALUES (1, "John", "Hill", "M");""" cursor.execute(insert_student_one_sql) insert_student_two_sql = """INSERT INTO students VALUES (2, "Jessy", "Hill", "F");""" cursor.execute(insert_student_two_sql) insert_student_three_sql = """INSERT INTO students VALUES (3, "Antony", "Hill", "M");""" cursor.execute(insert_student_three_sql) # saving the changes using commit method of connection conn.commit() # closing the connection conn.close()
หากคุณไม่ได้รับข้อผิดพลาดใดๆ หลังจากรันโค้ดด้านบน คุณก็พร้อมแล้ว
จะดูข้อมูลจากตารางฐานข้อมูลได้อย่างไร? มาเขียนโค้ดตามขั้นตอนกันเถอะ
- เชื่อมต่อกับฐานข้อมูล
- สร้างวัตถุเคอร์เซอร์
- เขียนแบบสอบถาม SQL เพื่อรับข้อมูลที่คุณต้องการจากตาราง
- ดำเนินการเลย
- วัตถุเคอร์เซอร์จะมีข้อมูลตามที่คุณต้องการ รับโดยใช้เมธอด fetchall()
- ดูข้อมูลโดยการพิมพ์
หากมีข้อสงสัย สามารถดูโค้ดด้านล่างได้
# importing the module import sqlite3 # creating an connection conn = sqlite3.connect("tutorialspoint.db") # db - database # Cursor object cursor = conn.cursor() # SQL query to get all students data fetch_students_sql = """ SELECT * FROM students; """ # executing the SQL query cursor.execute(fetch_students_sql) # storing the data in a variable using fetchall() method students = cursor.fetchall() # a list of tuples # printing the data print(students)
หากคุณรันโปรแกรมข้างต้น คุณจะได้ผลลัพธ์ที่คล้ายกับผลลัพธ์
ผลลัพธ์
[(1, 'John', 'Hill', 'M'), (2, 'Jessy', 'Hill', 'F'), (3, 'Antony', 'Hill', 'M')]
บทสรุป
ตอนนี้ คุณพร้อมที่จะทำงานกับฐานข้อมูลใน Python แล้ว ฝึกฝนมากขึ้นเพื่อให้ได้มากขึ้น หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น