Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

SQL โดยใช้ Python และ SQLite


ในบทความนี้ เราจะมาเรียนรู้การใช้ 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 แล้ว ฝึกฝนมากขึ้นเพื่อให้ได้มากขึ้น หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น