一、sqlalchemy
"""
sqlalchemy 连接方式, 直接提交执行
"""
from sqlalchemy import create_engine
engine = create_engine("mysql+pymysql://root:root@10.1.60.110:3306/datax",
max_overflow=0, # 超过连接池大小外最多创建的连接,为0表示超过5个连接后,其他连接请求会阻塞 (默认为10)
pool_size=5, # 连接池大小(默认为5)
pool_timeout=30, # 连接线程池中,没有连接时最多等待的时间,不设置无连接时直接报错 (默认为30)
pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置) (默认为-1)
)
# 直接读取mysql数据,不如直接sql 处理方便
df=pd.read_sql("datax_fdl",engine)
print(df.head(10))
sql = """
UPDATE datax_fdl SET lable = '6' WHERE id = 5 ;
"""
all_data = engine.execute(sql)
# print(str(all_data.fetchmany(1))+"\n") # 取某一行数据
# for data in all_data:
# print(data)
二、pymysql
"""
pymysql 连接方式, 操作表的语句必须提交才会执行
"""
import pymysql
conn = pymysql.connect(user='root',host='10.1.60.110',port=3306,passwd='root',db='datax',charset='utf8')
sql = """
-- update datax_fdl set lable = '2' where id = 5
select * from datax_fdl
"""
cursor = conn.cursor() # 创建执行器
cursor.execute(sql) # 执行SQL
conn.commit() # 提交更改
cursor.close()
conn.close()