SQLAlchemy Core - การเชื่อมต่อกับฐานข้อมูล

ในบทที่แล้วเราได้พูดถึงนิพจน์ภาษาใน SQLAlchemy ตอนนี้ให้เราดำเนินการตามขั้นตอนที่เกี่ยวข้องกับการเชื่อมต่อกับฐานข้อมูล

คลาสเครื่องยนต์เชื่อมต่อ Pool and Dialect together เพื่อจัดหาแหล่งฐานข้อมูล connectivity and behavior. อ็อบเจ็กต์ของคลาส Engine ถูกสร้างอินสแตนซ์โดยใช้create_engine() ฟังก์ชัน

ฟังก์ชัน create_engine () ใช้ฐานข้อมูลเป็นอาร์กิวเมนต์เดียว ฐานข้อมูลไม่จำเป็นต้องกำหนดที่ใดก็ได้ แบบฟอร์มการเรียกมาตรฐานต้องส่ง URL เป็นอาร์กิวเมนต์ตำแหน่งแรกโดยปกติจะเป็นสตริงที่ระบุภาษาถิ่นของฐานข้อมูลและอาร์กิวเมนต์การเชื่อมต่อ โดยใช้รหัสที่ระบุด้านล่างเราสามารถสร้างฐานข้อมูลได้

>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///college.db', echo = True)

สำหรับ MySQL databaseใช้คำสั่งด้านล่าง -

engine = create_engine("mysql://user:pwd@localhost/college",echo = True)

ที่จะกล่าวถึงโดยเฉพาะ DB-API เพื่อใช้สำหรับการเชื่อมต่อไฟล์ URL string มีรูปแบบดังนี้ -

dialect[+driver]://user:password@host/dbname

ตัวอย่างเช่นหากคุณใช้ไฟล์ PyMySQL driver with MySQLใช้คำสั่งต่อไปนี้ -

mysql+pymysql://<username>:<password>@<host>/<dbname>

echo flagเป็นทางลัดในการตั้งค่าการบันทึก SQLAlchemy ซึ่งทำได้ผ่านโมดูลการบันทึกมาตรฐานของ Python ในบทต่อ ๆ ไปเราจะเรียนรู้ SQL ที่สร้างขึ้นทั้งหมด หากต้องการซ่อนเอาต์พุต verbose ให้ตั้งค่าแอตทริบิวต์ echo เป็นNone. อาร์กิวเมนต์อื่น ๆ ของฟังก์ชัน create_engine () อาจเป็นภาษาถิ่นเฉพาะ

ฟังก์ชัน create_engine () จะส่งกลับไฟล์ Engine object. วิธีการที่สำคัญบางประการของคลาส Engine ได้แก่ -

ซีเนียร์ วิธีการและคำอธิบาย
1

connect()

ส่งคืนวัตถุการเชื่อมต่อ

2

execute()

ดำเนินการสร้างคำสั่ง SQL

3

begin()

ส่งกลับตัวจัดการบริบทที่ส่งการเชื่อมต่อกับธุรกรรมที่สร้างขึ้น เมื่อดำเนินการสำเร็จธุรกรรมจะถูกผูกมัดมิฉะนั้นจะถูกย้อนกลับ

4

dispose()

การจำหน่ายพูลการเชื่อมต่อที่ใช้โดยเครื่องยนต์

5

driver()

ชื่อไดรเวอร์ของภาษาถิ่นที่เครื่องยนต์ใช้

6

table_names()

แสดงรายการชื่อตารางทั้งหมดที่มีอยู่ในฐานข้อมูล

7

transaction()

เรียกใช้ฟังก์ชันที่กำหนดภายในขอบเขตธุรกรรม