일반적으로 개발자는 데이터 내보내기 및 가져오기, 데이터베이스(DB) 통계 수집, 테이블스페이스 모니터링, 세션 차단, DB 잠금 등과 같은 데이터베이스 작업을 자동화하기 위해 셸 스크립트를 사용합니다.
개요
Python®은 지난 7년 이상 동안 가장 인기 있는 프로그래밍 언어 중 하나가 되었습니다. 이 게시물은 다양한 데이터베이스 엔진을 위해 Python에서 사용되는 다양한 DB 모듈을 다루고 PyMongo 모듈을 사용하여 MongoDB® 컬렉션에 데이터를 쿼리하고 삽입하는 방법을 보여줍니다.
파이썬 모듈 소개
Python은 객체 지향 및 고급 프로그래밍 언어입니다. 웹 개발, 데이터 과학, Linux® 관리 등과 같은 다양한 구현을 위한 광범위한 모듈이 있습니다. 다음 표는 데이터베이스 엔진 및 관련 Python 모듈에 대한 세부 정보를 보여줍니다.
데이터베이스 엔진 | 파이썬 모듈 |
---|---|
오라클 | cx_oracle |
PostgreSQL | 사이코프2 |
몽고DB | 파이몽고 |
MySQL | mysql.connector 및 pymysql |
카산드라 | 카산드라 드라이버 |
CX_ORACLE
cx_oracle
Oracle 데이터베이스에 액세스하고 Python 데이터베이스 API 사양을 준수하는 Python 모듈입니다. 이 모듈은 Oracle Database 11.2,12c, 18c,19c 및 21c와 호환됩니다.
PSYCOPG2
psycopg2
PostgreSQL 데이터베이스에 액세스할 수 있고 Python 데이터베이스 API 사양을 준수하는 Python 모듈입니다. 주요 기능 중 하나는 여러 커서를 여는 다중 스레드 응용 프로그램이 동시 삽입 및 업데이트를 수행할 수 있도록 한다는 것입니다.
파이몽고
pymongo
mongo 데이터베이스에 액세스하고 컬렉션, 문서 등과 같은 MongoDB 데이터베이스 개체에 대한 데이터베이스 쿼리를 수행할 수 있는 모듈입니다.
MYSQL.CONNECTOR
mysql.connector
MySQL 데이터베이스에 액세스하고 Python 데이터베이스 API 사양을 준수하는 모듈입니다. 데이터베이스 쿼리를 가능하게 합니다.
카산드라 드라이버
cassandra-driver
Apache® Cassandra® 데이터베이스용 Python 드라이버이며 Cassandra 쿼리 언어(CQL)와 호환됩니다. 이 모듈을 사용하여 Cassandra 데이터베이스에 연결하고 쿼리할 수 있습니다.
PyMongo 데모
Python 프로그래밍은 MongoDB에서 다양한 CRUD(생성, 읽기, 업데이트 및 삭제) 작업을 수행합니다. 다음 단계는 pip
를 다운로드하는 방법을 보여줍니다. , pymongo
설치 모듈, PyMongo로 Python 스크립트 작성 및 실행:
-
다음 명령을 실행하여 Linux 서버에서 Python 버전을 확인하십시오.
# python --version Python 2.7.18
-
다음 명령을 사용하여 pip 및 PyMongo를 설치하십시오.
# yum install python-pip # pip install pymongo
-
원하는 텍스트 편집기를 열고 다음 Python 스크립트(mongo-crud.py ) MongoDB의 컬렉션에 대한 CRUD 작업 수행:
#!/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은 데이터베이스 엔지니어에게 데이터베이스 작업 자동화를 위한 쉘 스크립팅의 대안을 제공합니다.
데이터베이스 서비스에 대해 자세히 알아보십시오.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.