一、准备工作及原理
原理及步骤:通过Socket客户端连接MySQL的服务端,连接之后获取游标对象,然后对数据库进行相关操作,连接未关闭之前可重复使用该游标
需要安装包:pip install pymysql
二、相关操作
三、具体操作
1、创建数据库及简单查询
#思路先连接数据库,然后建立游标,通过游标执行数据库语句,然后用fetchall()方法获取查询结果集
import pymysql
#建立连接
conn=pymysql.connect(user=“用户名”,passwd=“密码”,host=“IP”,database=“数据库”,charset=“utf8”)
#游标
cursor = conn.cursor()
#sql语句
sql=“select * from user s1 join score s where s1.ID =s.ID”
#执行语句,游标会自动移动
cursor.execute(sql)
data1=cursor.fetchone()#获取结果集第一行
data2=cursor.fetchmany(2)#获取结果集第2-3行
data3=cursor.fetchall()#获取剩余所有结果集
for i in range(cursor.rowcount):
print(cursor.fetchone())#逐行输出需要注释掉前面几行因为游标会移动
#关闭游标
cursor.close()
#关闭数据库连接
conn.close()
2、可插入多条数据,可使用占位符%s实现
#思路先连接数据库,然后建立游标,通过游标执行数据库语句,然后用fetchall()方法获取查询结果集
import pymysql
#建立连接
conn=pymysql.connect(user=“用户名”,passwd=“密码”,host=“IP”,database=“数据库”,charset=“utf8”)
#游标
cursor = conn.cursor()
#插入多条记录,使用占位符%s
try:
sql=“insert into user(id,name,age) values (%s,%s,%s)”
#数据每一行为元组,多行为列表
val=[(4,“lily”,20),
(5,“hah”,21),
(6,“lisa”,23)]
#插入多行
cursor.executemany(sql,val)
conn.commit()
print(“提交成功”)
except Exception as e:
conn.rollback()
print(“数据库异常:”,e)
finally:
cursor.close()
conn.close()