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
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM