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

python之路-----pymysql

时间:2017-08-24 16:42:27      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:sql命令   pip   生成器   relative   inf   字符串   row   需要   str   

一.pymysql 基础

  安装命令:pip3 install pymysql -i https://pypi.douban.com/simple

二.pymysql命令

 1.链接数据库

conn = pymysql.connect(host=127.0.0.1, port=3306, user=school_spt, passwd=123456, db=school_info)   #返回个链接对象

 2.创建游标

cursor = conn.cursor()

 3.sql拼接命令

1.字符串拼接(不推荐使用该方式,容易被sql注入)
user=root
pwd=123456
sql=select * from userinfo where password=%s and username=%s%(pwd,user)

2.pymysql命令自带拼接
executsql命令, args)    #args可以是列表,元组或者字典

列表:

user=root
pwd=123456
sql=select * from userinfo where password=%s and username=%s
cursor.execute(sql,[pwd,user]) 
元组
user=root
pwd=123456
sql=select * from userinfo where password=%s and username=%s
cursor.execute(sql,(pwd,user)) 

字典
sql=select * from userinfo where password=%(password)s and username=%(username)s
cursor.execute(sql,({password:pwd,username:user}))

  4.查

sql=select * from userinfo
res=cursor.execute(sql)   #返回受影响的行数
#获取返回的数据
cursor.fetchone()      #获取返回的第一行内容
cursor.fetchmany(n)    #获取返回的前n行内容
cursor.fetchall()          #获取返回的全部内容

#返回的数据默认是元组形式,如果要以字典形式显示
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

  5.改(改,删,增)

1.增
    sql=‘insert into userinfo(username,password) values(%s,%s)’
    cursor.execute(sql,(root,123));   #单条插入
    也可以使用批量插入数据
    cursor.executemany(sql,[(root,123),(root1,1234),(root2,123)]);
2.改,删没有批量执行命令,批量一般都使用单条执行
3.增,删,改操作后,都需要使用 conn.commit()来确认提交数据

  6.execute会返回受影响的行数。一般不适用

  7.scroll 

  在fetch数据时按照顺序进行(类似生成器),可以使用cursor.scroll(num,mode)来移动游标位置,如:

  • cursor.scroll(1,mode=‘relative‘)  # 相对当前位置移动
  • cursor.scroll(2,mode=‘absolute‘) # 相对绝对位置移动

  8.获取最后的自增id值(lastrowid)

id=cursor.lastrowid

  9.关闭游标和链接

cursor.close()  #先关闭游标
conn.close()    #再关闭连接 

 

 

python之路-----pymysql

标签:sql命令   pip   生成器   relative   inf   字符串   row   需要   str   

原文地址:http://www.cnblogs.com/white-small/p/7372793.html

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