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

SQL โดยใช้ Python


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