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

Python
DBモジュール名インストール
MySQLmysql、pymysqlなどpip install mysqlclient
pip install mysql-connector-python
PostgreSQLpsycopg2pip install psycopg2
Oraclecx-Oraclepip install cx_Oracle
SQL Serverpymssql、PyODBCなどpip install pymssql

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)
pip install mysql-connector-python
import mysql.connector
import sys

try:
    # データベース接続
    cnx = mysql.connector.connect(
        user='<ユーザー名>',
        password='<パスワード>',
        host='<ホスト>',
        database='test'
    )
except mysql.connector.Error as err:
    print(err)
    sys.exit()
else:
    # コネクションを閉じる
    cnx.close()

print("DB処理正常終了しました🐼")

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)

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)

コメント