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