pymysql
一、打开与关闭数据库连接
conn=pymysql.connect('localhost','root','root','dbname')#ip地址,用户名,用户密码,数据库名 conn.close()
二、创建游标
游标对象是pymysql对数据库操作的媒介
# 使用 cursor() 方法创建一个游标对象
cursor cursor = db.cursor()
三、写原生sql语句与执行并提交
sql=SELECT * FROM EMPLOYEE WHERE INCOME > %s" % (1000)
try:
cursur.execure(sql)
db.commit()##提交了才有效
except:
db.rollback()#出现异常往往是提交失败此时需要回滚
四、数据库操作简洁
1.查询
import pymysql # 建立连接
conn = pymysql.connect( host="192.168.0.103", port=3306, user="root", password="123", database="xing", charset="utf8" ) # 获取一个光标
cursor = conn.cursor() # 定义将要执行的SQL语句
sql ="update userinfo set pwd=%s where user=%s;" # 拼接并执行SQL语句
cursor.execute(sql, ["july","july"])#可以防止sql注入 # 涉及写操作注意要提交
conn.commit() # 关闭连接
cursor.close ()
conn.close ()
Cursor
cursor.fetchone() 取一条 常与while(True)搭配 cursor.fetchmany(n)取n条,常与for搭配 cursor.fetchall()取所有,常与for搭配
2.插入
插入一条
import pymysql # 建立连接
conn = pymysql.connect( host="192.168.0.103", port=3306, user="root", password="123", database="xing", charset="utf8" ) # 获取一个光标
cursor = conn.cursor() # 定义将要执行的SQL语句
sql ="insert into userinfo (user, pwd) values (%s, %s);" name ="wuli" pwd ="123456789" # 并执行SQL语句
cursor.execute(sql, [name, pwd]) # 涉及写操作注意要提交 conn.commit() # 关闭连接 # 获取最新的那一条数据的ID
last_id = cursor.lastrowid
print("最后一条数据的ID是:", last_id)
cursor.close()
conn.close() 插入多条
插入多条
import pymysql
conn = pymysql.connect( host='192.168.0.103', port=3306, user='root', password='123', database='xing', charset='utf8' ) # 获取一个光标
cursor = conn.cursor() # 定义要执行的sql语句
sql ='insert into userinfo(user,pwd) values(%s,%s);' data = [ ('july','147'), ('june','258'), ('marin','369') ] # 拼接并执行sql语句
cursor.executemany(sql, data) # 涉及写操作要注意提交
conn.commit() # 关闭连接
cursor.close()
conn.close()
3.更新
import pymysql # 建立连接
conn = pymysql.connect( host="localhost", port=3306, user="root", password="123", database="dbname", charset="utf8" ) # 获取一个光标
cursor = conn.cursor() # 定义将要执行的SQL语句
sql ="insert into userinfo (user, pwd) values (%s, %s);" name ="wuli" pwd ="123456789" # 并执行SQL语句
cursor.execute(sql, [name, pwd]) # 涉及写操作注意要提交
conn.commit() # 关闭连接 # 获取最新的那一条数据的ID
last_id = cursor.lastrowid
print("最后一条数据的ID是:", last_id) cursor.close() conn.close()
4.删除
import pymysql # 建立连接
conn = pymysql.connect( host="192.168.0.103", port=3306, user="root", password="123", database="xing", charset="utf8" ) # 获取一个光标
cursor = conn.cursor() # 定义将要执行的SQL语句
sql ="delete from userinfo where user=%s;" name ="june" # 拼接并执行SQL语句
cursor.execute(sql, [name]) # 涉及写操作注意要提交
conn.commit() # 关闭连接
cursor.close()
conn.close()
操作游标
cursor.scroll(0, 'absolute') # absolute绝对偏移,游标重置,从头开始偏移
cursor.scroll(-2, 'relative') # relative相对偏移,游标在当前位置进行左右偏移
Comments NOTHING