当前位置:   article > 正文

使用Python连接SqlServer_python 连接sqlserver

python 连接sqlserver

        使用的是 pymssql 库,这个库的详细用法参照博客(博客里也有官方文档,英语好的可以直接看):python pymssql — pymssql模块使用指南_夏日白云的博客-CSDN博客

        我目前的需求只是使用 Python 连接数据库写查询语句就好了,所以没有详细学习,只看了看几个需要用到的相关方法并记录下来

  1. import pymssql
  2. serverip='xxx'
  3. username='xxx'
  4. password='xxx'
  5. conn = pymssql.connect(serverip , username , password, "CRM",charset='GBK')
  6. # 有中文,所以用了GBK编码形式
  7. if conn:
  8. print('成功')

cursor()

        在连接建立成功后,通过 cursor() 获得一个 cursor 对象,熟悉数据库的应该清楚这个单词的意思是游标,游标在数据库里意味着一个指向查询结果集的指针,后面与数据库的交互主要是通过Cursor对象进行的:

cursor =conn.cursor()

execute(' sql str ')

        通过 execute 方法执行 sql 语句

cursor.execute("SELECT * from CRM where CUSTOMER='0208100200000921' and TXNDATE>='2022-6-1'ORDER BY TXNDATE")

fetchall()、fetchone()

        都是以元组形式返回查询结果,区别:

  • 如果查询结果是单条数据:fetchone得到的单条数据的元组(元组内是元素);如果查询结果是多条数据:fetchone默认是结果中的第一条数据构成的元组;
  • 如果查询结果是单条数据:fetchall得到的是由单个元组组成的列表(列表内含元组),如果查询结果是多条数据,fetchall得到的是由多个元组组成的列表;
  • results =cursor.fetchall()
    

cursor.description 属性

cursor.description 属性返回一个由元组组成的序列。每个元组描述一列的属性信息,其中包含以下属性:(其他参数未确定,为None)

  1. name:列名
  2. type_code:列数据类型(代码形式)

close()

        关闭链接并释放资源

可以转化为dataframe进行分析

        通过 cursor.description 设置列名

  1. import pandas as pd
  2. data=pd.DataFrame(results,columns=[i[0] for i in cursor.description])

        得到dataframe:

  1. UPTIME SEQUENCE VOUCHNUM ... CPTS CRM_ERR DISCREM
  2. 0 0601200671384300 2 102 ... 15.98 None None
  3. 1 0601200671384304 4 102 ... 5.52 None None
  4. 2 0602200671601785 2 126 ... 14.28 None None

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/871466
推荐阅读
相关标签
  

闽ICP备14008679号