Python3.x连接MySQL数据库
使用的Python包
连接MySQL数据库使用的包为pymysql
使用pip导入此包,在cmd下输入一下语句:
pip install pymysql
打开数据库连接
编写连接数据库的方法,连接数据库使用pymysql
包中的connect()
方法
import pymysql
global conn
# 打开数据库连接(ip/数据库用户名/登录密码/数据库名/编码格式)
conn = pymysql.connect("localhost", "root", "root", "Database",charset='utf8')
使用SQL语句查询数据
编写查询方法,使用pymysql
包中的execute()
方法
首先创建一个游标对象,用于扫描数据库。
global cursor
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
使用execute()
方法执行SQL查询语句:
# 使用 execute() 方法执行 SQL 查询
cursor.execute(sql)
获取查询结果
返回结果只要使用fetchone()
,fetchall()
两个方法
前者会返回单条数据,后者为返回所有查询数据,并以list方式存储
在使用此方法获取查询数据时,需使用try
,catch
语句包裹查询方法。
def selectRecord ():
# 使用 fetchone() 方法获取单条数据.
#data = cursor.fetchone()
try:
rs=cursor.fetchall()
except :
rs=false
print("查询失败!!")
return rs
其他方法
在pymysql
中还存在其他的返回值操作,例如获取返回数据的数据量rowcount
def rowcont ():
return cursor.rowcount
此方法将返回所查询到的所有数据条数。
关闭数据库
在所有的数据库连接操作之后,都需要关闭数据库,以免出现持续占用的现象。
使用close()
方法来关闭数据库。
def myclose ():
try:
conn.close()
except :
print("关闭连接失败!!")
SQL语句的使用细节
在编写SQL语句中,所有的变量需要使用%
来转换
例如:需要添加一个模糊搜索中的%
时,需要输入%%
来转换
输入字符串时,需要用%s
来表示,同时在SQL语句后,使用%(“字符串”)
来表述输入值
sql="SELECT * FROM school WHERE Unit LIKE '%s%%' AND Cseedate LIKE '%s%%' AND Csymptoms LIKE '%%%s%%'" %("昆明理工大学","2018-05-08","无线通信团队")
其最终输入给数据库的查询语句为:
SELECT * FROM school WHERE Unit LIKE '昆明理工大学%' AND Cseedate LIKE '2018-05-08%' AND Csymptoms LIKE '%无线通信团队%'