zoukankan      html  css  js  c++  java
  • Python MySQL API

    1:插入数据

    import MySQLdb
    
    # 创建连接的变量
    conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='mysql')
    
    # 打开连接通道
    cur = conn.cursor()
    
    # 执行execute语句,insert into一条数据
    reCount = cur.execute('insert into UserInfo(Name,Address) values(%s,%s)',('caoxiaojian','CN'))
    
    # reCount = cur.execute('insert into UserInfo(Name,Address) values(%(id)s, %(name)s)',{'id':12345,'name':'caoxiaojian'})
    
    # 数据提交
    conn.commit()
    
    # 通道连接关闭
    cur.close()
    
    # 数据库连接关闭
    conn.close()
    
    print reCount

    一次插入多个数据

    #!/usr/bin/env python
    # coding:utf-8
    import MySQLdb
    
    conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='mydb')
    
    cur = conn.cursor()
    # 将数据放到一个列表中
    li =[
         ('ccc','cn'),
         ('ggg','cn'),
    ]
    # 使用executemany批量插入多个数据
    reCount = cur.executemany('insert into UserInfo(Name,Address) values(%s,%s)',li)
    
    conn.commit()
    cur.close()
    conn.close()
    
    print reCount

    2:删除数据

    #!/usr/bin/env python
    # coding:utf-8
    
    import MySQLdb
    # 首先连接数据库
    conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='mydb')
    # 打开连接通道
    cur = conn.cursor()
    # 使用execute来执行命令
    reCount = cur.execute('delete from UserInfo')
    # 提交并关闭
    conn.commit()
    cur.close()
    conn.close()
    print reCount

    3:修改数据

    #!/usr/bin/env python
    # coding:utf-8
    
    
    import MySQLdb
    
    conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb')
    
    cur = conn.cursor()
    
    reCount = cur.execute('update UserInfo set Name = %s',('alin',))
    
    conn.commit()
    cur.close()
    conn.close()
    print reCount

    4:查询数据

    分为两类:一种是fetchone/fetchmany(num)

    实例

    #!/usr/bin/env python
    # coding:utf-8
    import MySQLdb
    
    conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb')
    cur = conn.cursor()
    
    reCount = cur.execute('select * from UserInfo')
    # 使用fetchone一次只获取一条数据,获取后指针位置移动,到下一条数据的位置
    print cur.fetchone()
    print cur.fetchone()
    # 表示从指针当前位置乡下获取几条
    print cur.fetmany(2)
    
    # scroll类似之前的seek,可以指定定位到某个位置
    # 位置的指定有两种方式:相对位置和绝对位置
    # 没有什么卵用,还不如直接从数据库中读取。
    cur.scroll(-1,mode='relative')
    cur.scroll(0,mode='absolute')
    
    cur.close()
    conn.close()
    print reCount

    fetchall的实例

    #!/usr/bin/env python
    # coding:utf-8
    import MySQLdb
    
    conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1234',db='mydb')
    # 使用下面的方式,可以将获取到数据变成字典的格式,原本是个元组的形式
    cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)
    """
    获取的样式
    [
       {'id':1,'name':'ccc'}
    ]
    """
    cur = conn.cursor()
    """
    获取的样式
    [
        (1,ccc),
        (2,ggg)
    ]
    """
    reCount = cur.execute('select Name,Address from UserInfo')
    nRet = cur.fetchall()
    cur.close()
    conn.close()
    print reCount
    print nRet
    for i in nRet:
        print i[0],i[1]

     

  • 相关阅读:
    _bzoj1061 [Noi2008]志愿者招募【最小费用最大流】
    _bzoj2243 [SDOI2011]染色【树链剖分】
    _bzoj1013 [JSOI2008]球形空间产生器sphere【高斯消元】
    _bzoj1002 [FJOI2007]轮状病毒【瞎搞】
    leetcode 273 Integer to English Words
    leetcode 12 Integer to Roman
    leetcode 1071 Greatest Common Divisor of Strings
    lc6 ZigZag Conversion
    lc13 Roman to Integer
    leetcode 171 Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/caoxiaojian/p/5134334.html
Copyright © 2011-2022 走看看