pymysql操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pymysql操作相关的知识,希望对你有一定的参考价值。

pymysql代码框架

1 import pymysql
2 conn=pymysql.connect(host=127.0.0.1,user=root,password=root,charset=utf8,db=ftpdb) #连接数据库
3 cursor=conn.cursor()  #设置游标(相似于文件操作中的光标)
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 sql语句
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
7 conn.commit()
8 cursor.close()
9 conn.close()

设置游标的类型(返回的值为字典类型)
cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)
要想将自己写的字符串加入到数据库表中
一.字符串拼接(禁止使用,会造成sql注入)
inp=input(请输入班级) sql=insert into class (caption) values ("%s") #字符串拼接时%s必须加上"" sql=sql%(inp) #一旦inp为 ‘xx --‘ 会造成错误,因为--是数据库中的注释 cursor.execute(sql)

二.传参
1.一行传入单个数据(execute)
inp=input(‘请输入数据‘)
cursor.execute(‘insert into db1(name) values (%s)‘,inp)
2.一行传入多个数据(execute,以元组形式传入)
inp=input(‘请输入年龄‘)
inp1=input(‘请输入姓名‘)
cursor.execute(‘insert into db1(age,name) values (%s,%s)‘,(inp,inp1))
3.传入多行数据(executemany,传入的l必须是可迭代对象)
l=[(12,‘kk‘),(9,‘ue‘),(3,‘ff‘)]
cursor.executemany(‘insert into db1(age,name) values (%s,%s)‘,l)


更新数据

r=cursor.execute(update db1 set name=%s where id=%s,(那大狗,1))

查看数据

cursor.execute(select * from db1)
result=cursor.fetchall()   #返回全部数据
result=cursor.fetchone()   #返回一条数据(默认返回第一条数据),取一条光标指向下一条
result=cursor.fetchmany(3) #返回第三条数据

移动游标位置

cursor.scroll(0,mode=absolute) #绝对
cursor.scroll(-1,mode=relative) #相对当前位置向前移动一个位置
#拿到插入的最新数据的行号
nid=cursor.lastrowid

 


















以上是关于pymysql操作的主要内容,如果未能解决你的问题,请参考以下文章

数据库可视化和pymysql模块

Python中pymysql基本使用

PyMySQL的使用详解

数据库操作 pymysql 封装处理(中级)

Python数据库编程pymysql

mysql操作