【python学習ノート】PyCharmを使用してmysqlデータベースに接続


コード:
# coding:utf-8

'''
 mysql search join
'''

import mysql.connector

config = {
    'host': 'localhost',
    'port': 3306,
    'user': 'root',
    'password': 'che88888',
    'database': 'test'
}
con = mysql.connector.connect(**config)

#     

cursor = con.cursor(buffered=True)

sql = "select e.name,e.uid,d.address from user e join userInfo d on e.uid = d.user_id"

try:
    con.start_transaction()
    cursor.execute(sql)
    con.commit()
    #   
    for val in cursor:
        print(val)
except Exception as e:
    print(e)
    con.rollback()
finally:
    if 'con' in dir():
        con.close()

接続プール:
# coding:utf-8

import mysql.connector.pooling

config = {
    'host': 'localhost',
    'port': 3306,
    'user': 'root',
    'password': 'che8888',
    'database': 'test'
}

try:
    pool = mysql.connector.pooling.MySQLConnectionPool(
        **config,
        pool_size=10
    )
    con = pool.get_connection()
    con.start_transaction()
    cursor = con.cursor()
    sql = "select name from user"
    cursor.execute(sql)
    for val in cursor:
        print(val)
    con.commit()
except Exception as e:
    if "con" in dir():
        con.rollback()
    print(e)

ループ実行sql文
# coding: utf-8

import mysql.connector.pooling

config = {
    "host": "localhost",
    "port": 3306,
    "user": "root",
    "password": "che88888",
    "database": "test"
}
try:
    pool = mysql.connector.pooling.MySQLConnectionPool(
        **config,
        pool_size=10
    )

    con = pool.get_connection()

    cursor = con.cursor()
    #   
    sql = "insert into user(id,name) values(%s,%s)"
    data = [[21, '  '], [32, '  '], [22, '  '], [23, '  ']]
    cursor.executemany(sql, data)

    #   
    msql = "select * from user"
    cursor.execute(msql)
    for val in cursor:
        print(val)
except Exception as e:
    print(e)
    if "con" in dir():
        con.rollback()