零的执行人 发表于 2021-9-13 16:32:52

python数据库bufferered

import pymysql #先安装再引入包

#创建链接数据库
config={'host':'127.0.0.1',#默认127.0.0.1
      'user':'root',
      'password':'root',
      'port':3306,#默认即为3306
      'database':'student',
      'charset':'utf8'#默认即为utf8
      }
try:
    conn=pymysql.connect(**config)#connect方法加载config的配置进行数据库的连接,完成后用一个变量进行接收
except pymysql.Error as e:
    print('数据库链接失败!',str(e))
else:#try没有异常的时候才会执行
    print("sucessfully!")
    cur=conn.cursor()
    cur.execute("select * from s")
    rs=cur.fetchall()
    print(rs)

#cursor=conn.cursor()
cursor = conn.cursor(buffered = True)#获取查询的标记位
try:
    #第一种
    sql_query1='select_id,name from student where age > %s'
    cursor.execute(sql_query1,(1,))#固定格式,记住
    values = cursor.fetchall()#符合条件的所有数据,全部赋值给values
    print('所有数据:',values)
   
    #第二种
    sql_query2 = 'select * from student'
    cursor.execute(sql_query2)
    #加代表返回第一个字段,如果想返回一条完整的数据就不要加
    result1 = cursor.fetchone()
    print("一条数据:",result1)
    result2 = cursor.fetchone()
    print("第一个字段:",result2)
   
    result3 = cursor.fetchmany(2)#返回2行数据
    print("前2条数据:",result3)
   

except mysql.connector.Error as e:
    print('查询数据报错!',str(e))
finally:
    cursor.close()#关闭标记位
    conn.close()#关闭数据库链接


数据库连接成功。
报错:
   cursor = conn.cursor(buffered = True)#获取查询的标记位
TypeError: cursor() got an unexpected keyword argument 'buffered'

suchocolate 发表于 2021-9-13 17:46:35

没有buffered这个关键字参数

redforce 发表于 2021-9-13 18:53:30

    def cursor(self, cursor=None):
      """
      Create a new cursor to execute queries with.

      :param cursor: The type of cursor to create; one of :py:class:`Cursor`,
            :py:class:`SSCursor`, :py:class:`DictCursor`, or :py:class:`SSDictCursor`.
            None means use Cursor.
      """
      if cursor:
            return cursor(self)
      return self.cursorclass(self)
cursor()方法只有一个参数cursor,可以指定pymysql的提供的类,指定游标类型,返回结果的类型。没有buffered这个参数。以上是源码

零的执行人 发表于 2021-9-14 17:04:41

redforce 发表于 2021-9-13 18:53
cursor()方法只有一个参数cursor,可以指定pymysql的提供的类,指定游标类型,返回结果的类型。没有buffe ...

明白了谢谢,这个源码哪里可以查呀

redforce 发表于 2021-9-14 18:05:12

pycharm里,ctrl键按住,然后点击那个方法名字就可以看源码
页: [1]
查看完整版本: python数据库bufferered