จะขอสรุปเนื้อหาเกี่ยวกับการใช้งาน Python ร่วมกับ Oracle Database 12C ส่วนประกอบสำคัญในการติดตั้งและใช้มีดังนี้
- Python 3.4 หรือ สูงกว่า สามารถดาวน์โหลดได้ที่ https://www.python.org/downloads/windows/ให้เลือกติดตั้ง Python bit ใช้ไฟล์ python-3.6.4-amd64.exe สำหรับระบบปฎิบัติการวินโดวส์ 64 บิต
- Oracle client libraries หรือ Oracle 12c Instant Client versions 12.1, 12.2 สำหรับระบบปฎิบัติการ Linux, Windows และ macOS สามารถดาวน์โหลด์ฟรีได้ที่ Oracle Instant Client
- Oracle Database 12c
- cx_Oracle 6 เป็น Python extension module ใช้สำหรับในการเข้าถึง Oracle Database
- การติดตั้ง Python 64 bit การติดตั้ง Oracle 12C Instant Client สามารถดูได้จากเอกสารเพิ่มเติม ได้ที่นี้
- การใช้ Python กับ Oracle Database 12c สามารถทำได้ดังตัวอย่างตัวไปนี้
-
- ให้ทำการเชื่อมโยงติดต่อกับ Oracle ตามคำสั่งดังนี้
cx_Oracle module จะเป็นตัวเชื่อมต่อระหว่าง Python กับOracle Databse โดยผ่านการใช้คำสั่ง connect() ซึ่งผู้ใช้จะต้องทำการกรอก username password และ connection string ในที่นี้ เราจะใช้ user: hr ในการเข้าสู่ระบบ และใช้ IP address local host ของเครื่องเรา คือ 127.0.0.1 และ Database service ชื่อ “orcl” ส่วน คำสั่ง close() เป็นการปิดการเชื่อมต่อ
- การสร้างคำสั่งคิวรีอย่างง่าย
สามารถทดลองสร้างคำสั่งและดูผลลัพธ์ ตามตัวอย่างดังนี้
เมธอด cursor() จะเป็นการเปิดเคอร์เซอร์เพื่อจัดการจับจองเนื้อที่หน่วยความจำ และการอ่านข้อมูลจากฐานข้อมูลตามคำสั่ง select ที่กำหนดไว้ เมธอด execute() เป็นการประมวลผลคำสั่งตามที่เขียนโปรแกรมไว้ และ ส่วนคำสั่ง loop fetch จะเป็นการวนรอบดึงข้อมูลตามแถวที่เคอร์เซอร์ชี้และแสดงผลลัพธ์ข้อมูลที่ละแถวออกมา ผู้อ่านควรศึกษาเรื่อง PL/SQL เพิ่มเติม
จากภาพด้านบนจะเป็นการใช้เมธอด fetchone() เป็นการคืนค่าข้อมูล 1 แถว ในรูปแบบ tuple แต่ถ้าต้องการให้คือค่าหลายใน รูปแบบ a list of tuples สามารถใช้เมธอด fetchmany() ตามตัวอย่างรูปด้านล่างนี้
ผลลัพธ์
ต่อมาเป็นการใช้เมธอด fetchall() เป็นการคืนค่าแถวทั้งหมด และแสดงผลลัพธ์ในรูปแบบอาเรย์ หรือ a list of tuples แต่ละ tuple จะประกอบด้วยข้อมูล 1 แถว
แต่ถ้าต้องการให้แสดงแยกแต่ละ tuple สามารถเขียนคำสั่งได้ดังนี้
เนื้อหาเหมาะสำหรับผู้ที่มีพื้นฐานระบบฐานข้อมูล และ การใช้งานด้าน PL/SQL มาก่อน