zoukankan      html  css  js  c++  java
  • pymysql-python实现数据库的增删改查

    pymysql-python实现数据库的增删改查

    • 基础代码

      import pymysql
      #创建数据库连接,设置游标
      connt= pymysql.connect(host='localhost',user='root',password='',database='db1')
      cursor=connt.cursor()
      
      #关闭游标及连接
      cursor.close()
      connt.close()
      
    • execute返回值,受影响的行数

      即execute()运行一次,对原数据表中自增都会加+1,

    • 增(增、删、改)都需要设置commit提交否则不生效

      #增加一条数据
      #一、execute运行sql
      sql="insert into userinfo(username,password) values('李白','123651')"
      sql="insert into userinfo(username,password) values('李白','123651'),('张三','12613'),('杜甫','df66')"
      cursor.execute(sql)
      
      #二、execute运行sql及将参数传入
      user='宫本'
      pwd='1222'
      sql="insert into userinfo(username,password) values(%s,%s)"
      cursor.execute(sql,[user,pwd])
      #cursor.execute(sql,(user,pwd))
      
      connt.commit()
      #commit()提交否则不生效
      
      #增加多条数据
      #executemany(sql,[(),(),()])
      sql="insert into userinfo(username,password) values(%s,%s)"
      cursor.executemany(sql,[('赵云','322'),('张飞','1566'),('关羽','165')])
      
    • 改、删

      execute语句不变,只需修改sql语句即可

      直接使用execute即可修改无须executemany

      sql="update  userinfo set username='王五'where username='李白'"
      cursor.execute(sql)
      connt.commit()
      
      connt= pymysql.connect(host='localhost',user='root',password='',database='db1')
      cursor=connt.cursor()
      sql="delete from  userinfo where username='王五'"
      cursor.execute(sql)
      connt.commit()
      cursor.close()
      connt.close()
      
    • #获取一条数据
      #cursor.fetchone()
      connt= pymysql.connect(host='localhost',user='root',password='',database='db1')
      cursor=connt.cursor()
      sql="delete from  userinfo where username='王五'"
      cursor.execute(sql)
      
      res=cursor.fetchone()
      print(res)
      #(3, '张三', '12613')
      
      #获取多条数据
      #cursor.fetchmany()指定数量
      res=cursor.fetchmany(3)
      print(res)
      #((6, '宫本', '1222'), (7, '宫本', '1222'), (8, '赵云', '322'))
      
      
      #获取所有数据
      res=cursor.fetchall() #注意一般会通过sql里的limit进行限制数据获取限制,以此获得所有数据
      print(res)
      
      cursor.close()
      connt.close()
      
    • 游标

      通过设置游标位置来获取指定数据

      cursor.scroll(value,mode='')
      #'relative'相对位置 ; 'absolute'绝对位置
      
      
    • 新加入数据的自增id

      即当数据存在外链时,需要在新增a表时,需要在B表中传入数据的自增ID

      cursor.lastrowid
      #self.lastrowid = result.insert_id
      
  • 相关阅读:
    restful规范以及drf框架
    vue的第三方插件,vuex,axios,element-ui ,jq+bs
    路由,生命周期钩子函数,数据间的交互,全局配置js与css
    实例成员补充,项目环境配置以及vue组件
    vue指令实例成员
    初识vue
    django中如何暴露后端任意文件资源
    django中间件以及请求生命流程图
    wraps修饰器
    cookie与session
  • 原文地址:https://www.cnblogs.com/yescarf/p/14056794.html
Copyright © 2011-2022 走看看