码迷,mamicode.com
首页 > 数据库 > 详细

pymysql操作

时间:2017-12-17 23:48:09      阅读:318      评论:0      收藏:0      [点我收藏+]

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

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

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

原文地址:http://www.cnblogs.com/gaoyukun/p/8053514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!