Python

Pythonからデータベース接続(PostgreSQL,Oracle,MySQL)

投稿日:2020年5月20日 更新日:

目的

pythonからデータベースに接続するコードをすぐ忘れるので、書き留める

PostgreSQLの場合

パッケージインストール

pip install psycopg2

コード

import psycopg2

HOST = 'your_host'
PORT = '5432'
DB_NAME = 'your_db_name'
USER = 'your_user_name'
PASSWORD = 'your_password'

conn = psycopg2.connect("host=" + HOST + " port=" + PORT + " dbname=" + DB_NAME + " user=" + USER + " password=" + PASSWORD
)
cur = conn.cursor()
cur.execute("select version()")
rows = cur.fetchall()
cur.close()
conn.close()
print(rows)

MySQLの場合

パッケージインストール

pip install mysqlclient

コード

import MySQLdb

HOST = 'your_host'
PORT = 3306 #文字列ではなくint
DB_NAME = 'your_db_name'
USER = 'your_user_name'
PASSWORD = 'your_password'

conn = MySQLdb.connect( user=USER, passwd=PASSWORD, host=HOST, db=DB_NAME,port=PORT)
cur = conn.cursor()
cur.execute("select version()")
rows = cur.fetchall()
conn.close()
print(rows)

Oracleの場合

パッケージインストール ※別途Oracle clientが必要

pip install cx_Oracle

コード

import cx_Oracle

HOST = 'your_host'
PORT = '1521'
DB_NAME = 'your_db_name'
USER = 'your_user_name'
PASSWORD = 'your_password'
SERVICE_NAME = 'your_service_name'

tns = cx_Oracle.makedsn(HOST, PORT, service_name =SERVICE_NAME)
conn = cx_Oracle.connect(USER,PASSWORD,tns)
cur = conn.cursor()
cur.execute("select * from v$version")
rows = cur.fetchall()
cur.close()
conn.close()
print(rows)

-Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

【Python】pandas dateframeで日時を日付と時間に分ける

Contents1 元データ2 日付と時刻にばらすコード 元データ このようなデータフレームがあり、日付と時刻にばらしたい場合の話。 import pandas as pd import dateti …

VSCodeから外部のJupyterへ接続する

Contents1 目的2 環境3 Step1 : Jupyterのconfig設定4 Step2 : VSCodeからの接続5 Step3 : Jupyterを使用して確認6 まとめ 目的 自端末の …

【Python】tkinterで画像を一定時間ごとに自動切換え

Contents1 目的2 使用ライブラリ3 Step1 : による画像表示4 Step2 : 画像の切り替え5 まとめ 目的 pythonでは簡単にGUIを作成できるライブラリとしてtkinterが …

Python smtplibでメール送信

Contents1 目的2 環境3 コード 目的 pythonからSMTPサーバにメールを送信する。 環境 Windows10Python 3.7.3 (Anaconda 4.7.10) コード # …

【Python】K-NNによる分類モデル

Contents1 概要2 データ3 ソースコード4 勉強になったこと 概要 機械学習のコードのお勉強のためPythonのscikit-learnのK-NNを使用して分類問題をやってみます。 データ …

言語切り替え

カテゴリー