鱼C论坛

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

[已解决]python数据库bufferered

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

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

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

x
  1. import pymysql #先安装再引入包

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

  20. #cursor=conn.cursor()
  21. cursor = conn.cursor(buffered = True)#获取查询的标记位
  22. try:
  23.     #第一种
  24.     sql_query1='select_id,name from student where age > %s'
  25.     cursor.execute(sql_query1,(1,))#固定格式,记住
  26.     values = cursor.fetchall()#符合条件的所有数据,全部赋值给values
  27.     print('所有数据:',values)
  28.    
  29.     #第二种
  30.     sql_query2 = 'select * from student'
  31.     cursor.execute(sql_query2)
  32.     #加[0]代表返回第一个字段,如果想返回一条完整的数据就不要加
  33.     result1 = cursor.fetchone()
  34.     print("一条数据:",result1)
  35.     result2 = cursor.fetchone()[0]
  36.     print("第一个字段:",result2)
  37.    
  38.     result3 = cursor.fetchmany(2)#返回2行数据
  39.     print("前2条数据:",result3)
  40.    

  41. except mysql.connector.Error as e:
  42.     print('查询数据报错!',str(e))
  43. finally:
  44.     cursor.close()#关闭标记位
  45.     conn.close()#关闭数据库链接
复制代码


数据库连接成功。
报错:
   cursor = conn.cursor(buffered = True)#获取查询的标记位
TypeError: cursor() got an unexpected keyword argument 'buffered'
最佳答案
2021-9-13 18:53:30
  1.     def cursor(self, cursor=None):
  2.         """
  3.         Create a new cursor to execute queries with.

  4.         :param cursor: The type of cursor to create; one of :py:class:`Cursor`,
  5.             :py:class:`SSCursor`, :py:class:`DictCursor`, or :py:class:`SSDictCursor`.
  6.             None means use Cursor.
  7.         """
  8.         if cursor:
  9.             return cursor(self)
  10.         return self.cursorclass(self)
复制代码

cursor()方法只有一个参数cursor,可以指定pymysql的提供的类,指定游标类型,返回结果的类型。没有buffered这个参数。以上是源码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-9-13 17:46:35 | 显示全部楼层
没有buffered这个关键字参数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-13 18:53:30 | 显示全部楼层    本楼为最佳答案   
  1.     def cursor(self, cursor=None):
  2.         """
  3.         Create a new cursor to execute queries with.

  4.         :param cursor: The type of cursor to create; one of :py:class:`Cursor`,
  5.             :py:class:`SSCursor`, :py:class:`DictCursor`, or :py:class:`SSDictCursor`.
  6.             None means use Cursor.
  7.         """
  8.         if cursor:
  9.             return cursor(self)
  10.         return self.cursorclass(self)
复制代码

cursor()方法只有一个参数cursor,可以指定pymysql的提供的类,指定游标类型,返回结果的类型。没有buffered这个参数。以上是源码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

明白了谢谢,这个源码哪里可以查呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-14 18:05:12 | 显示全部楼层
pycharm里,ctrl键按住,然后点击那个方法名字就可以看源码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-18 16:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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