pymysql

酥酥 发布于 2021-09-18 94 次阅读


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相对偏移,游标在当前位置进行左右偏移
				
			
仰天大笑出门去,我辈岂是蓬蒿人
最后更新于 2022-01-07