pymysql 交互
Posted 滕虎
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pymysql 交互相关的知识,希望对你有一定的参考价值。
import pymysql #导入pymysql模块 con = pymysql.connect(host = ‘127.0.0.1‘,port = 3306 ,user = ‘root‘,passwd = ‘111111‘ ,db = ‘class_nu‘,charset=‘utf8‘) #固定格式 cursor = con.cursor() #创建游标,理解为 开启大门的钥匙 以元祖格式查询 cursor = con.cursor(cursor=pymysql.cursors.DictCursor) #这种游标 在查询过程中直接生产字典格式 # insert_sql =input("请输入你需要的班级???") # # sql_1 = cursor.execute(‘insert into class (caption) values (%s)‘,insert_sql) # #PyMysql自己给你拼接后面 不需要 % 这种形式是 参数的传递。(加%的话 会形成SQL注入) # sql_2 = cursor.execute(‘delete from class where cid >= 10‘) # # sql_3 = cursor.execute(‘insert into course (cname,teacher_id) values (%s,%s)‘,\ # (‘生物‘,4))#插入多个数据的时候是以 元组的形式存放。 # # val = [(‘财务‘,4), # (‘化学‘,2), # (‘工程‘,1) # ] # sql_4 = cursor.executemany(‘insert into course (cname,teacher_id) values (%s,%s)‘\ # ,(val)) # executemany 会自动内部循环 val值,做添加。 # sql_5 = cursor.execute(‘update course set cname = %s where cid = %s‘,(‘天天‘,8)) #更新 # sql_6 = cursor.execute(‘select * from course‘) #★★★★★查询的时候是不需要 commit的 # print(sql_6) #这边只能打印出受影响的行数 # # request_1 = cursor.fetchall() # 返回查询的结果 # print(request_1) #这边的结果是以 元祖的形式呈现的 # request_2 = cursor.fetchone() #返回第一行的结果 # request_3 = cursor.fetchmany(3) #返回3行结果 #★ 以上 fetch 都具有文件指针的功能相当于迭代器 #可以定向指针 # cursor.scroll(0,mode=‘absolute‘) #绝对 ,让指定移动到0 # cursor.scroll(1,mode=‘relative‘) #相对,让指定移动到1 也可以-1 就是上一行, #sql_1 = sql_1(insert_sql) #print(sql_1) #返回值 ‘1’表示受影响的行数 cursor.execute(‘insert into class (caption) values (%s)‘,(‘五年级四班‘)) new_id = cursor.lastrowid #生成最后一次自增的ID print(new_id) #获取最后一次自增ID con.commit() #提交sql语句,当select 的时候是不需要的 cursor.close() #关闭游标 拔出钥匙 con.close() #关闭连接
以上是关于pymysql 交互的主要内容,如果未能解决你的问题,请参考以下文章