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