鱼C论坛

 找回密码
 立即注册
查看: 1538|回复: 4

[已解决]python数据库bufferered

[复制链接]
发表于 2021-9-13 16:32:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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)
    #加[0]代表返回第一个字段,如果想返回一条完整的数据就不要加
    result1 = cursor.fetchone()
    print("一条数据:",result1)
    result2 = cursor.fetchone()[0]
    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'
最佳答案
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这个参数。以上是源码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-13 17:46:35 | 显示全部楼层
没有buffered这个关键字参数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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这个参数。以上是源码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-14 17:04:41 | 显示全部楼层
redforce 发表于 2021-9-13 18:53
cursor()方法只有一个参数cursor,可以指定pymysql的提供的类,指定游标类型,返回结果的类型。没有buffe ...

明白了谢谢,这个源码哪里可以查呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-14 18:05:12 | 显示全部楼层
pycharm里,ctrl键按住,然后点击那个方法名字就可以看源码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 10:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表