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

    官方文档:https://www.python.org/dev/peps/pep-0249/

    1、创建connection,建立网络连接

      MySQLdb.Connect(host,port,user,passwd,db, charset)

        host:mysql服务器地址字符串

        port:mysql服务器端口号,数字

        user:连接数据库用户名

        passwd:连接数据库密码

        db:数据库名称

        charset:连接编码,一般用utf8,防止乱码

      connection对象支持方法:

        1、cursor():使用该连接创建并返回游标

        2、commit():提交当前事物

        3、rollback():回滚当前事物

        4、close():关闭连接

    2、获取cursor,用来交互对象

      游标对象:用于执行查询和获取结果

      cursor支持以下方法:

        execute(op[, args]):执行一个数据库查询和命令

          execute执行一条sql语句,mysql服务器执行sql语句然后生成结果集,并返回给客户端,存储在客户端缓冲区

        fetchone():获取结果集的下一行

        fetchmany(size):获取结果集的下几行

        fetchall():获取结果集中剩下的所有行

          上面三个fetch方法,可以对结果集进行遍历。移动rownumber,返回数据

        rowcount():最近一次execute返回数据的行数或影响的行数

        close():关闭游标对象

    3、执行查询,执行命令,获取数据,处理数据

    4、关闭cursor,关闭connection

    import MySQLdb
    conn = MySQLdb.Connect(host='127.0.0.1', port=3306, user='root', passwd='1234567890', db='testdb', charset='utf8')
    cursor = conn.cursor()
    # 测试增删改查及事务回滚
    try:
    sql_insert = 'insert into test(id, username) values(7,"name7")'
    sql_update = 'update test set username="name6" where id=6'
    sql_delete = 'delete from test1 where id<3'  # 此处test1表不存在,所以会报错
    cursor.execute(sql_insert)
    cursor.execute(sql_update)
    cursor.execute(sql_delete)
    conn.commit()
    except Exception as e:
    print(e)
    conn.rollback()

      cursor.close()
      conn.close()
  • 相关阅读:
    [HNOI2002]营业额统计
    HDU 1374
    HDU 3345
    HDU 2089
    Graham扫描法
    Codeforces 1144D Deduction Queries 并查集
    Codeforces 916E Jamie and Tree 线段树
    Codeforces 1167F Scalar Queries 树状数组
    Codeforces 1167E Range Deleting
    Codeforces 749E Inversions After Shuffle 树状数组 + 数学期望
  • 原文地址:https://www.cnblogs.com/fiona-zhong/p/10172901.html
Copyright © 2011-2022 走看看