python使用pymysql,python连接pymysql数据库

  python使用pymysql,python连接pymysql数据库

  主要介绍python调用pymssql包操作SqlServer数据库的实现。通过示例代码非常详细的介绍,对大家的学习或者工作都有一定的参考价值。有需要的朋友下面跟边肖学习。

  上一篇文章介绍了python抓取网页数据保存到本地excel文件,然后保存到数据库(SqlServer,mysql等。).本文研究了在python中操作SqlServer数据库的基本用法,然后将从网页抓取的数据保存到SqlServer数据库中。

  百度运营的是SqlServer数据库,大部分搜索结果使用的都是pymssql。本文研究了基于pymssql包的SqlServer数据库的基本操作模式,并利用上篇文章中使用的环境检测数据库对数据操作进行了测试。

  Pymssql包可以离线安装,也可以在线安装。如果离线,请下载参考文献2中的包文件,并将其复制到python目录下的Lib\site-packages文件夹中。如果您处于联机状态,可以通过在命令行上运行以下命令来安装它。

  pip安装pymssql

  从目前了解到的情况来看,pymssql主要是通过执行sql语句来操作数据库,通过游标来获取查询结果。本文主要研究以下基本操作:

  数据库的连接和关闭;数据查询;数据插入。数据库的连接与关闭.Pymssql通过调用pymssql.connect函数创建一个数据库连接,并返回一个连接对象。调用Connection对象的cursor函数获取cursor对象,然后用它执行sql语句,从数据库中获取数据。在所有操作完成后,调用Connection对象的close函数关闭链接。测试程序和运行结果如下所示。

  导入pymssql

  服务器=XXX。 XXX.XXX.XXX

  用户=XXXXXXX

  密码=XXXXXXXXXX

  db=EC

  conn=pymssql.connect(服务器,用户,密码,数据库)

  cursor=conn.cursor()

  cursor . execute( SELECT Count(*)FROM environment record )

  print(总数据量=%d % cursor.fetchone())

  conn.close()

  数据查询.调用cursor对象的execute函数,执行不带参数或带参数的查询语句。如果是无参数sql语句,直接调用execute函数到上面例子中的用法就可以了。如果有参数,调用下图中的第二个执行函数。有许多方法可以获得查询结果。cursor对象的fetchone函数获取查询结果中的下一行数据,fetchmany函数获取指定数量的查询结果,fetchall获取所有查询结果。除了调用函数,还可以通过迭代器或fetchone循环获得所有的查询结果。参考文献3中有两个使用示例,代码片段如下:

  #使用示例1

  cursor . execute( SELECT * FROM persons WHERE sales rep=% s , John Doe )

  row=cursor.fetchone()

  而行:

  print(ID=%d,Name=%s %(行[0],行[1]))

  row=cursor.fetchone()

  #使用示例2

  cursor . execute( SELECT * FROM persons WHERE sales rep=% s , John Doe )

  对于光标:中的行

  #当获取记录中的一个属性时,可以通过属性名称的索引来获取。

  print(ID=%d,Name=%s %(行[id],行[name]))

  参考上述示例编写的查询测试代码、程序和执行结果如下所示。

  导入pymssql

  服务器=XXX。 XXX.XXX.XXX

  用户=XXXXXXX

  密码=XXXXXXXXXX

  db=EC

  conn=pymssql.connect(服务器,用户,密码,d

  b)

  cursor = conn.cursor()

  cursor.execute(SELECT * FROM EnvironmentRecord WHERE CreateTime>=%s, 2021-6-19 16:12:00)

  for row in cursor:

   print(row = %r % (row,))

  conn.close()

  

  

  数据插入。调用cursor对象的execute执行insert语句可以插入单条数据,同时调用executemany函数则可以插入多条数据,参考文献3中给出的多条数据插入示例如下。插入语句执行后,需要调用Connection对象的commit函数,否则就不会生效,也可以配置Connection对象的autocommit,让语句自动提交生效。

  

  基于参考文献3及上图中的示例,测试插入单条数据和多条数据,程序及执行结果如下所示。

  

import pymssql

  server = XXX.XXX.XXX.XXX

  user = XXXXXXX

  password = XXXXXXXXXX

  db=EC

  conn = pymssql.connect(server, user, password, db)

  cursor = conn.cursor()

  ##sqlStr="INSERT INTO EnvironmentRecord(CreateTime,DHTState,Humidity,Temperature,FlameValue,MQValue)VALUES(2022-05-23 10:00:00,1,54, 22, 962, 202)"

  ##cursor.execute(sqlStr)

  cursor.executemany(

   "INSERT INTO EnvironmentRecord(CreateTime,DHTState,Humidity,Temperature,FlameValue,MQValue)VALUES(%s,%d,%d,%d,%d,%d)",

   [(2022-05-24 10:00:00,1,54, 22, 962, 202),

   (2022-05-24 10:10:00,1,54, 22, 962, 202),

   (2022-05-24 10:20:00,1,54, 22, 962, 202)])

  conn.commit()

  conn.close()

  

  

  关于pymssql的详细介绍可以查看参考文献3。本文学习了基于pymssql的SqlServer数据库基本操作方法后,后续会尝试将之前保存到excel文件中的页面抓取数据保存到SqlServer数据库。

  参考文献
[1]https://blog.csdn.net/XUMENGCAS/article/details/123419220
[2]https://github.com/pymssql/pymssql
[3]https://pymssql.readthedocs.io/en/latest/index.html

  到此这篇关于python调用pymssql包操作SqlServer数据库的实现的文章就介绍到这了,更多相关python pymssql操作SqlServer内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些
  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些,关系型数据库与非关系型数据库简介
  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 什么是分库分表,为什么要进行分库分表-,分库分表的区别,数据库分库分表是什么,什么情况下需要用分库分表
  • vb中adodb连接数据库,
  • treeview控件绑定数据,wpf treeview数据绑定,详解TreeView绑定数据库
  • sql的多表查询,数据库如何实现多表查询
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库,SQLServer2019 数据库的基本使用之图形化界面操作的实现
  • sql数据库定时备份怎么弄,mysql 定期备份
  • sql数据库定时备份怎么弄,mysql 定期备份,MySQL 数据库定时备份的几种方式(全面)
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar,SQL中varchar和nvarchar的基本介绍及其区别
  • 留言与评论(共有 条评论)
       
    验证码: