データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

PyMongoおよびデータベースエンジン用の他のPythonモジュール

一般に、開発者はシェルスクリプトを使用して、データのエクスポートとインポート、データベース(DB)統計の収集、テーブルスペースの監視、セッションのブロック、DBロックなどのデータベースタスクを自動化します。

概要

Python®は、過去7年以上にわたって最も人気のあるプログラミング言語の1つになりました。この投稿では、さまざまなデータベースエンジン用にPythonで使用されるさまざまなDBモジュールについて説明し、PyMongoモジュールを使用してデータをクエリしてMongoDB®コレクションに挿入する方法を示します。

Pythonモジュールの概要

Pythonは、オブジェクト指向の高級プログラミング言語です。 Web開発、データサイエンス、Linux®管理など、さまざまな実装に対応する幅広いモジュールがあります。次の表に、データベースエンジンと関連するPythonモジュールの詳細を示します。

データベースエンジン Pythonモジュール
Oracle cx_oracle
PostgreSQL psycopg2
MongoDB pymongo
MySQL mysql.connectorおよびpymysql
カサンドラ cassandra-driver

CX_ORACLE

cx_oracle は、Oracleデータベースへのアクセスを可能にし、PythonデータベースAPI仕様に準拠するPythonモジュールです。このモジュールは、Oracle Database 11.2、12c、18c、19c、および21cと互換性があります。

PSYCOPG2

psycopg2 は、PostgreSQLデータベースにアクセスし、PythonデータベースAPI仕様に準拠することを可能にするPythonモジュールです。重要な機能の1つは、複数のカーソルを開くマルチスレッドアプリケーションが、挿入と更新を同時に実行できるようにすることです。

PYMONGO

pymongo は、mongoデータベースにアクセスし、コレクションやドキュメントなどのMongoDBデータベースオブジェクトに対してデータベースクエリを実行できるようにするモジュールです。

MYSQL.CONNECTOR

mysql.connector MySQLデータベースにアクセスできるようにし、PythonデータベースAPI仕様に準拠するモジュールです。データベースクエリを有効にします。

CASSANDRA-DRIVER

cassandra-driver はApache®Cassandra®データベース用のPythonドライバーであり、Cassandraクエリ言語(CQL)と互換性があります。このモジュールを使用すると、Cassandraデータベースに接続してクエリを実行できます。

PyMongoのデモンストレーション

Pythonプログラミングは、MongoDBでさまざまなCRUD(作成、読み取り、更新、および削除)操作を実行します。次の手順は、pipをダウンロードする方法を示しています 、pymongoをインストールします モジュールを作成し、PyMongoを使用してPythonスクリプトを記述して実行します:

  1. 次のコマンドを実行して、Linuxサーバー上のPythonのバージョンを確認します。

     # python --version
     Python 2.7.18
    
  2. 次のコマンドを使用して、pipとPyMongoをインストールします。

     # yum install python-pip
     # pip install pymongo
    
  3. 選択したテキストエディタを開き、次の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)
    
  4. 次のコマンドを実行して、Pythonスクリプトを実行します。出力は次の画像のようになります:

     # python mongo-crud.py
    
PyMongoおよびデータベースエンジン用の他のPythonモジュール 結論

Pythonは、2020年に最もトレンドとなったプログラミング言語の1つであり、さまざまな実装がありました。 Pythonは、データベースエンジニアに、データベースタスクの自動化のためのシェルスクリプトの代替手段を提供します。

データベースサービスの詳細をご覧ください。

コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。


  1. クラスタおよびデータベースバイナリ用のOraclev18cグリッドインフラストラクチャの再リンク

    このブログは、再リンクとは何か、再リンクが必要な理由、およびOracle®オブジェクトファイルをelinkする方法についての洞察を提供します。 はじめに どの言語でも、事前定義された関数が必要です。これらの関数は、その言語のライブラリファイル内で定義され、コードをコンパイルしてバイナリ形式のファイル(オブジェクトファイル)を作成するために必要です。次に、オブジェクトファイルがオペレーティングシステム(OS)ライブラリとリンクされて、単一の実行可能ファイルが作成されます。ファイルをリンクするには、プロセスがコンポーネントから実行可能ファイルを生成する前に、すべての関数定義を見つける必要がありま

  2. サーバーレスとエッジのグローバルデータベース

    近年、サーバーレスアーキテクチャとエッジコンピューティングは、アプリケーションの展開で非常に人気が高まっています。ただし、アプリケーションの状態とデータをサーバーレス関数やエッジ関数内に保存することは別の話です。データベースへの接続の管理、複数の場所からの高速アクセスにデータを利用できるようにするなど、多くの問題があります。サーバーレスアクセスをサポートするデータベースサービスはごくわずかであり、エッジ機能にも適しているものはごくわずかです。(ここで詳細な分析を読むことができます。 ) Upstashでは、初日から、低レイテンシでリクエストごとの価格設定モデルを備えたサーバーレスRedis互