pymysql

pymysql的使用

连接mysql并查询

import pymysql

config={
    "host":"127.0.0.1",
    "user":"root",
    "password":"root",
    "database":"xjzx8"
}

def mysql_test(sql):
    db = pymysql.connect(**config)
    cursor = db.cursor(cursor=pymysql.cursors.DictCursor)  #指定返回结果为list+dict,也可以在connet里指定

    cursor.execute(sql,("01"))
    # db.commit()
    res = cursor.fetchall()
    print(res)

    cursor.close()
    db.close()

if __name__ == '__main__':
    sql = "select * from Course where t_id=%s"   # 只能是(%s)格式
    mysql_test(sql)

pymysql的两大对象connection和cursor

connection

connection的参数

  host:连接的数据库服务器主机名,默认为本地主机(localhost)。
  user:连接数据库的用户名,默认为当前用户。
  passwd:连接密码,没有默认值。
  db:连接的数据库名,没有默认值。
  conv:将文字映射到Python类型的字典。
  MySQLdb.converters.conversions
  cursorclass:cursor()使用的种类,默认值为MySQLdb.cursors.Cursor。
  compress:启用协议压缩功能。
  named_pipe:在windows中,与一个命名管道相连接。
  init_command:一旦连接建立,就为数据库服务器指定一条语句来运行。
  read_default_file:使用指定的MySQL配置文件。
  read_default_group:读取的默认组。
  unix_socket:在unix中,连接使用的套接字,默认使用TCP。
  port:指定数据库服务器的连接端口,默认是3306。

connection的方法  

  连接对象的db.close()方法可关闭数据库连接,并释放相关资源。

  连接对象的db.cursor([cursorClass])方法返回一个指针对象,用于访问和操作数据库中的数据。

  连接对象的db.begin()方法用于开始一个事务,如果数据库的AUTOCOMMIT已经开启就关闭它,直到事务调用commit()和rollback()结束。

  连接对象的db.commit()db.rollback()方法分别表示事务提交和回退。

cursor

cursor的方法

  指针对象的cursor.close()方法关闭指针并释放相关资源。
  指针对象的cursor.execute(query[,parameters])方法执行数据库查询。
  指针对象的cursor.fetchall()可取出指针结果集中的所有行,返回的结果集一个元组(tuples)。
  指针对象的cursor.fetchmany([size=cursor.arraysize])从查询结果集中取出多行,我们可利用可选的参数指定取出的行数。
  指针对象的cursor.fetchone()从查询结果集中返回下一行。
  指针对象的cursor.arraysize属性指定由cursor.fetchmany()方法返回行的数目,影响fetchall()的性能,默认值为1。
  指针对象的cursor.rowcount属性指出上次查询或更新所发生行数。-1表示还没开始查询或没有查询到数据。

原文地址:https://www.cnblogs.com/ppzhang/p/13644514.html