当前位置:Gxlcms > 数据库问题 > pymysql操作

pymysql操作

时间:2021-07-01 10:21:17 帮助过:9人阅读

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操作

标签:str   传参   class   默认   insert   ast   mode   port   rom   

人气教程排行