各大数据库的连接快速上手文章教程:http://testingpai.com/article/1596527686073
一:python连接数据库
1: 用的库是pymysql
首先建立连接:
代码如下:
# 先创建连接
conn = pymysql.connect(
host="数据库的主机地址",
port=3306,
user="数据库的用户名",
password='密码',
database='这里是你要查询的表',
charset="utf8", # utf8和utf-8是有区别的,记得不要搞错
cursorclass=pymysql.cursors.DictCursor # 先写死返回的内容格式为字典类型,好看
)
2: 创建游标
cur = conn.cursor() # 创建游标
3:执行从excle中读取出来的sql语句(演示时直接写sql)
sql = 'select * from member where mobile_phone="13030780869"'
count = cur.execute(sql) # 用execute方法执行sql语句,返回的是sql语句执行结果的行数
4:获取sql语句执行后的数据结果
sql = 'select * from member where mobile_phone="13030780869"'
count = cur.execute(sql) # 用execute方法执行sql语句,返回的是sql语句执行结果的行数
one = cur.fetchone() # 获取返回结果集中的第一条数据
two =cur.fetchone() # 获取返回结果集中的第二条数据 ,注意,游标的概念,就是跟喝水一样,喝了1l就少1l,除非重新开始
all = cur.fetchall() # 获取返回结果集中的所有数据(以列表的形式)
5:关闭游标,关闭数据库连接
cur.close() # 关闭游标
conn.close() # 关闭数据库连接
二:注意事项
因为数据库具有事务性,隔离性
所以可能会出现这种情况,通过接口新注册了一个账号,这个时候想要在代码中去查询的时候,却发现查不到结果,去数据库连接工具去查询数据却又能查询的到,这个就是因为隔离性导致的
所以在代码中,执行sql语句后,最好都去提交一下,避免出现问题,如下:
sql = 'select * from member where mobile_phone="13030780869"'
count = cur.execute(sql) # 用execute方法执行sql语句,返回的是sql语句执行结果的行数
conn.commit()
后续遇坑,持续更新