python web框架中有很强大ORM可以使用,但是有时候我们还有需要通过其他方式连接数据库,特别是没有web框架的支撑下,接下来分享一下我在实际应用过程中对pymysql的应用
pymysql 平时我习惯称呼 游标cursor
安装pymysql
# pip install pymysql
建立连接
USERNAME = 你的用户名
PASSWORD = 数据库密码
HOST = 主机ip或域名
DATABASE = 数据库名
# 连接数据库
cnn = pymysql.connect(host=HOST, port=3306, user=USERNAME, password=PASSWORD, db=DATABASE, charset='utf8')
# DictCursor代表你查询出来的数据是字典形式,若下面括号不写默认为元组
cursor = cnn.cursor(DictCursor)
# 原生sql语句
sql_advice = '''select * from user_advice where id = 6'''
# 执行sql
cursor .execute(sql_advice)
# 获取查询结果 fetchone() 返回一个字典 fetchall() 返回列表(其中每条数据是一个字典)
advice_dict = cursor .fetchone()
关闭游标、关闭连接
cursor .close()
cnn.close()
一个链接cnn中可以执行多条查询与插入数据
例子
cnn = pymysql.connect(host=HOST, port=3306, user=USERNAME, password=PASSWORD, db=DATABASE, charset='utf8')
cursor = cnn.cursor(DictCursor)
# 第一个sql
sql_advice = '''select * from user_advice where id = 6'''
cursor .execute(sql_advice)
advice_dict = curser.fetchone()
# 第二个sql
sql_medium = '''select * from user_advice_medium where user_advice_id = {}'''.format(id)
cursor .execute(sql_medium)
medium_list = cursor .fetchall()
......
cursor .close()
cnn.close()
使用pymysql也有很大优点,不使用web框架也可以操作数据库,在web框架中也可以和ORM共同使用