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

     

  • 相关阅读:
    文件上传
    data.push({name:'a',value:'a'});
    es数据迁移脚本(python)
    es修改数据类型
    SqlServer应用程序的高级Sql注入
    ASP.NET中如何防范SQL注入式攻击
    AJAX.NET框架构建Lookup服务器控件
    asp.net 读写 XML 小结
    Global.asax 文件
    ajaxpro.2.dll 简单应用
  • 原文地址:https://www.cnblogs.com/caoxiaojian/p/5134334.html
Copyright © 2020-2023  润新知