• 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]

     

  • 相关阅读:
    [BJOI2019] 删数
    [HNOI2019] 校园旅行
    [ARC093D] Dark Horse
    rpn模块
    通俗易懂谈强化学习
    np.random.choice()的用法
    深度学习模型量化
    np.array中的[::1]的一点理解
    如何增加深度学习模型的泛化能力(L1/L2正则化,dropout,数据增强等等)
    深度学习中的网络剪枝(pruning)简介
  • 原文地址:https://www.cnblogs.com/caoxiaojian/p/5134334.html
Copyright © 2020-2023  润新知