zoukankan      html  css  js  c++  java
  • python 操作数据库

    链接数据库

    conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='08day5')
    cur = conn.cursor()

    查看列名

    在定义光标时,可以将其定义为字典形式,这样查询数据时可以查看对应列名:

    import MySQLdb
    conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='08day5')
    cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)
    
    sql='select * from userinfo'
    reCount = cur.execute(sql)
    reData  = cur.fetchall() 
    
    print reData
    
    cur.close()
    conn.close()

    操作数据库

    1.查询数据库内容

    reCount=cur.execute("select * from userinfo")      #execute对数据库进行操作。
    reData  = cur.fetchall()                           #查询数据库内容,需进行操作后,再可以使用该命令

    2.对数据库进行插入

    reCount = cur.execute('insert into userinfo(id,name,passwd) values(2,"root","2345")')
    conn.commit()    #提交数据

    3.对数据库进行修改

    reCount = cur.execute('update userinfo set name="test" where id=2')
    conn.commit()

    4.对数据库进行删除

    reCount = cur.execute('delete from  userinfo where id=2')
    conn.commit()

    5.在进行数据库操作时,我们需要进行不同的操作类型和修改的内容都不一致。所以我们可以将数据库命令和修改的内容分别用变量来表示,我们以插入数据来看下:

    sql='insert into userinfo(id,name,passwd) values(%s,%s,%s)'
    params=(2,"root","2345")                #用元祖来进行数据添加
    reCount = cur.execute(sql,params)       #execute(sql[, parameters])
    conn.commit()

    6.批量插入数据

    ①将要插入的数据定义为列表

    ②使用executemany来执行命令

    sql='insert  userinfo(id,name,passwd) values(%s,%s,%s)'
    params=[
          (2,"root","2345"),
          (3,"test","3456")
          ]
    reCount = cur.executemany(sql,params)
    conn.commit()

    7.指针移动(绝对位置,相对位置)

    相对位置:cur.scroll(-1,mode='relative')

    绝对位置:cur.scroll(0,mode='absolute')

    可以使用fetchone来进行验证。

    8.获取自增ID:

    使用lastrowid来获取

    import MySQLdb
    conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='08day5')
    cur = conn.cursor()
    
    sql='insert  getid(name,passwd) values(%s,%s)'
    params=[
          ("admin1","1234"),
          ]
    reCount = cur.executemany(sql,params)
    conn.commit()
    print cur.lastrowid   #使用lastrowid来获取最后修改的自增id,如果是使用查询或者更改的命令,则lsatrowid为None(0) 
    
    cur.close()
    conn.close()

    关闭数据库

    cur.close()
    conn.close()
  • 相关阅读:
    程序员职业规划
    SSH框架优缺点
    Servlet的生命周期,并说出Servlet和CGI的区别,Servlet与JSP的区别
    什么是J2EE,包括哪些规范!
    JS中定义类的方法
    audio.js – 随时随地,播放 HTML5 的声音
    jquery面试题里 缓存问题如何解决?
    产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
    JAVA排序算法
    java面试题中常见的关于String类问题总结
  • 原文地址:https://www.cnblogs.com/white-small/p/6368810.html
Copyright © 2011-2022 走看看