pymysql
从python连接到mysql数据库服务器的接口
创建__inti__.py,写入如下内容
import pymysql
# 封装函数,建立连接
def get_conn():
conn = pymysql.connect(
host="192.168.xxxx",
user="root",
password="xxxx",
database="alarm",
charset="utf8mb4"
)
return conn
调用函数
from . import get_conn
def test_mysql():
# 1、打开连接
conn = get_conn()
# 2、获取游标
cursor = conn.cursor()
# 3、执行sql
cursor.execute("SELECT * FROM metrics;")
# 4 、关闭连接
conn.close()
提交事务
# 提交事务
conn.commit()
# 回滚操作
conn.rollback()
#优化
sql = "SELECT * FROM metrics;"
try:
cursor.execute(sql)
conn.commit()
print("操作成功")
except:
conn.rollback()
print("回滚操作")
finally:
conn.close()
print("关闭连接")
查询操作
# 获取单条记录
cursor.fetchone()
# 获取n条记录
cursor.fetchmany()
# 获取所有结果记录
cursor.fetchall()
# 查询优化
try:
cursor.execute(sql) # 执行sql
record = cursor.fetchall() # 查询结果记录
print(record) # 打印查询信息
except Exception as e:
print(sys.exc_info()) # 打印错误信息
finally:
conn.close()
urllib3
urllib3是一个第三方的请求模块,在功能上要比python自带的urllib强大,由于urllib3是第三方模块所以需要单独安装该模块。
import json
import urllib3
def test_HTTP():
# 创建线程池对象
pm = urllib3.PoolManager()
# 发送请求
# method 请求方式(必填)
# url 请求地址(必填)
# headers 请求头信息(选填)
# fields 请求体数据(选填)
# boby 指定请求体类型(选填)
# timeout 设置超时时间(选填)
resp = pm.request(method="GET",
url="http://192.168.xxx.xx:80/cms/axms?currentPage=1&pageSize=10®ionId=xxx&startTime=1662804411000&endTime=1663669552000",
headers={
"X-Auth-Token": "xxxx"})
# 查看响应状态码
print(resp.status)
# 查看响应头信息
print(resp.headers)
# # 查看响应原始二进制信息
print(resp.data)
# 解码响应内容为字符串
content = resp.data.decode("utf-8")
print(type(content), content)
# json解析成字段对象
obj = json.loads(content)
print(type(obj), obj)
# 取出token
print(obj['data'])