โดยทั่วไป นักพัฒนาจะใช้เชลล์สคริปต์เพื่อทำงานฐานข้อมูลโดยอัตโนมัติ เช่น การส่งออกและนำเข้าข้อมูล การรวบรวมสถิติฐานข้อมูล (DB) การตรวจสอบพื้นที่ตาราง เซสชันการบล็อก การล็อก DB และอื่นๆ
ภาพรวม
Python® ได้กลายเป็นหนึ่งในภาษาการเขียนโปรแกรมที่ได้รับความนิยมมากที่สุดในช่วงเจ็ดปีที่ผ่านมา โพสต์นี้ครอบคลุมถึงโมดูล DB ต่างๆ ที่ใช้ใน Python สำหรับกลไกฐานข้อมูลต่างๆ และแสดงวิธีใช้โมดูล PyMongo เพื่อสืบค้นและแทรกข้อมูลลงใน MongoDB®collection
แนะนำโมดูล Python
Python เป็นภาษาโปรแกรมเชิงวัตถุและระดับสูง มีโมดูลที่หลากหลายสำหรับการใช้งานที่แตกต่างกัน เช่น การพัฒนาเว็บ วิทยาศาสตร์ข้อมูล การดูแลระบบ Linux® และอื่นๆ ตารางต่อไปนี้แสดงรายละเอียดเกี่ยวกับกลไกจัดการฐานข้อมูลและโมดูล Python ที่เกี่ยวข้อง:
กลไกจัดการฐานข้อมูล | โมดูล Python |
---|---|
Oracle | cx_oracle |
PostgreSQL | psycopg2 |
MongoDB | pymongo |
MySQL | mysql.connector และ pymysql |
แคสแซนดรา | ไดรเวอร์ Cassandra |
CX_ORACLE
cx_oracle
เป็นโมดูล Python ที่ให้คุณเข้าถึงฐานข้อมูล Oracle และปฏิบัติตามข้อกำหนด API ฐานข้อมูล Python โมดูลนี้เข้ากันได้กับ Oracle Database 11.2,12c, 18c,19c และ 21c
PSYCOPG2
psycopg2
เป็นโมดูล Python ที่ให้คุณเข้าถึงฐานข้อมูล PostgreSQL และปฏิบัติตามข้อกำหนด API ฐานข้อมูล Python คุณลักษณะสำคัญประการหนึ่งคือ เปิดใช้งานแอปพลิเคชันแบบมัลติเธรดที่เปิดเคอร์เซอร์หลายตัวเพื่อทำการแทรกและอัปเดตพร้อมกันได้
ปิงโก้
pymongo
เป็นโมดูลที่ให้คุณเข้าถึงฐานข้อมูล mongo และดำเนินการสืบค้นฐานข้อมูลบนอ็อบเจ็กต์ฐานข้อมูล MongoDB เช่น คอลเล็กชัน เอกสาร และอื่นๆ
MYSQL.CONNECTOR
mysql.connector
เป็นโมดูลที่ให้คุณเข้าถึงฐานข้อมูล MySQL และปฏิบัติตามข้อกำหนด API ฐานข้อมูล Python เปิดใช้งานการสืบค้นฐานข้อมูล
CASSANDRA-DRIVER
cassandra-driver
เป็นไดรเวอร์ Python สำหรับฐานข้อมูล Apache® Cassandra® และเข้ากันได้กับภาษาการสืบค้น Cassandra (CQL) เมื่อใช้โมดูลนี้ คุณจะเชื่อมต่อและค้นหาฐานข้อมูลของ Cassandra ได้
สาธิต PyMongo
การเขียนโปรแกรม Python ดำเนินการ CRUD (สร้าง อ่าน อัปเดต และลบ) ที่แตกต่างกันใน MongoDB ขั้นตอนต่อไปนี้แสดงวิธีการดาวน์โหลด pip
, ติดตั้ง pymongo
โมดูล และเขียนและรันสคริปต์ Python ด้วย PyMongo:
-
เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบเวอร์ชันของ Python บนเซิร์ฟเวอร์ Linux ของคุณ:
# python --version Python 2.7.18
-
ใช้คำสั่งต่อไปนี้เพื่อติดตั้ง pip และ PyMongo:
# yum install python-pip # pip install pymongo
-
เปิดตัวแก้ไขข้อความที่คุณเลือกและเขียนสคริปต์ Python ต่อไปนี้ (mongo-crud.py ) เพื่อดำเนินการ CRUD ในคอลเล็กชันใน MongoDB:
#!/usr/bin/python from pymongo import MongoClient client = MongoClient(host = 'localhost:27017', username="dba", password="user123") mongodbinfo = client.server_info() print ("Printing MongoDB Server Information") print (mongodbinfo) print ("##################################################") print ("Mongo DB version") print ("db version:", mongodbinfo["version"]) print ("##################################################") db = client.empdb empdetails = db.employeedetails print ("Existing collection information") printcollection = empdetails.find() for i in printcollection: print (i) print ("##################################################") print ("Adding one document to the collection") details = {"name": "Andy", "designation": "Clerk"} newentry = empdetails.insert_one(details) print (" newentry:", newentry) printcollection1 = empdetails.find() for i in printcollection1: print (i) print ("##################################################") print ("Performing a search on the collection") search = empdetails.find_one({ 'name' : 'Jack'}) print (search) print ("##################################################") print ("Adding multiple documents to the collection") entry1 = {"name": "Cathy", "designation": "Data Operator"} entry2 = {"name": "Susan", "designation": "Operations Manager"} newentries = empdetails.insert_many([entry1, entry2]) printcollection2 = empdetails.find() for i in printcollection2: print (i)
-
รันสคริปต์ Python โดยรันคำสั่งต่อไปนี้ ผลลัพธ์จะคล้ายกับภาพต่อไปนี้:
# python mongo-crud.py
บทสรุป
Python เป็นหนึ่งในภาษาการเขียนโปรแกรมที่ได้รับความนิยมมากที่สุดในปี 2020 โดยมีการใช้งานที่หลากหลาย Python ให้ทางเลือกแก่วิศวกรฐานข้อมูลแทนการใช้สคริปต์เชลล์สำหรับการทำงานอัตโนมัติของฐานข้อมูล
เรียนรู้เพิ่มเติมเกี่ยวกับบริการฐานข้อมูลของเรา
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณสามารถเริ่มการสนทนากับเราได้