ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้ SQL ด้วย Python โดยใช้ SQLite ฐานข้อมูล มีโมดูลในตัวเพื่อเชื่อมต่อกับฐานข้อมูล 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 เพื่อสร้างตารางที่มีชื่อและประเภทคอลัมน์
- 3รันโค้ดโดยใช้ 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_nameVARCHAR(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", );""" 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 แล้ว ฝึกฝนมากขึ้นเพื่อให้ได้มากขึ้น หากคุณมีข้อสงสัยในบทช่วยสอน ให้พูดถึงในส่วนความคิดเห็น