python-连接mysql的两种方式(一)

一、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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容