Pythonでpsycopg2を使用しPostgreSQLデータベースを作成してみます。
今回は、psycopg2モジュールを使用します。psycopg2はPythonの標準ライブラリ、モジュールではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■psycopg2を使用しPostgreSQLデータベースを作成する
psycopg2を使用しPostgreSQLデータベースを作成しますが、PostgreSQLのインストールは前回行っていますので、その後に新しいデータベースを作成してみます。
なお、現状のPostgreSQL上で作成されているデータベースは上記になります。
■コード
import psycopg2 connection = psycopg2.connect(user="postgres",password="muen0606",host="localhost",port="5432",database="postgres") connection.autocommit = True cursor = connection.cursor() sql = ''' CREATE database db_test ''' cursor.execute(sql) print("データベースの作成に成功しました") connection.close()
インポートでpsycopg2を呼び出します。呼び出した後に、connection変数を定義し、その中でpsycopg2.connect()関数を使用し、PostgreSQLデータベースインスタンスへの接続を処理します。この際にPostgreSQLデータベースのデータベース名やパスワード、ホスト名などが必要になります。これらの情報をpsycopg2.connect()関数の括弧内の引数,パラメーターとして渡します。
その後、connection.autocommitで、読み取り/書き込みをTrue(真)にし、バックエンドに送信されるすべてのステートメントが即座に有効します。
有効設定後、connection.cursor()関数で、データベース操作を行うカーソルを作成し、cursor変数に格納します。
格納後、PostgreSQLに接続を行っていますので、操作を行うために、sql変数を定義し、データベースを作成するためのクエリ、コマンドを記述し、格納します。今回は「db_test」というデータベースを作成してみます。
その後、cursor.execute()を使用し、接続したデータベースの操作(クエリまたはコマンド)を実行します。関数の括弧内には、sql変数を渡します。これで設定したクエリ、コマンドで操作が実行され、データベースが作成されます。
作成後、print()関数で「データベースが作成完了」という文字列を出力させます。
出力後、connection.close()関数でPostgreSQLの接続を閉じます。
■実行・検証
このスクリプトを「create_db_test.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、PostgreSQLへの接続が行われ、データベースを操作し、データベースを作成。作成後、print()関数で、「作成に成功しました」という文字列を出力させることができました。
出力後、SQL Shellで今回作成したデータベースが存在しているのか確認すると、「db_test」というデータベースが存在することを確認できました。
コメント