python连接sqlserver有很多包可以选择,有pyodbc和pymssql,这里把代码都贴出来,但是希望大家用pyodbc,因为在实践中跑几百万的数据量跑了一天的时候连接会断,google Stack Overflow之后也没有很好的解决方案,最后用pyodbc就解决了该问题(同事也有类似经历)。

pyodbc

建立连接,建立游标,通过游标执行语句,拿到结果。

import pyodbc

conn = pyodbc.connect('Driver={SQL Server};Server=192.168.0.180;Database=databasename;uid=username;pwd=password')

cursor = conn.cursor()

sql = "select table.a,table.b from table"

cursor.execute(sql)

如果想一次拿回所有结果

result=cursor.fetchall()

但最好还是把游标的结果当成一个迭代器然后用循环一个个取

for i in cursor:print(i[0])

如果是update的话,最好新建一个连接再新建一个游标(查询可以同一个游标执行,新的查询代替旧的查询语句)。

conn1 = pyodbc.connect('Driver={SQL Server};Server=192.168.0.180;Database=databasename;uid=username;pwd=password')

cursor1 = conn1.cursor()

cursor1.execute("UPDATE table.b SET b=? WHERE a=?", (b_value, a_value))

conn1.commit()

pymssql

这里也贴出来pymssql的代码

import pymssql

conn= pymssql.connect(host='192.168.0.180', user=username, password=password, database=databasename)

cursor= conn.cursor()

cursor = conn.cursor()

sql = "select table.a,table.b from table"

cursor.execute(sql)

#update

conn1= pymssql.connect(host='192.168.0.180', user=username, password=password, database=databasename)

cursor1= conn1.cursor()

cursor1.execute("UPDATE table.b SET b= %s WHERE a=%s",(b_value, a_value))

conn1.commit()

mysql

import MySQLdb.cursors

conn = MySQLdb.connect('192.168.0.180', user=username, password=password, database=databasename, charset='utf8',

cursorclass=MySQLdb.cursors.SSCursor)

cursor = conn.cursor()

sql ="select table.a,table.b from table"

cursor.execute(sql)

#update

conn1 = MySQLdb.connect('192.168.0.180', user=username, password=password, database=databasename, charset='utf8',

cursorclass=MySQLdb.cursors.SSCursor)

cursor1 = conn1.cursor()

cursor1.execute(" update table.b set b=%s where a=%s", (b_value, a_value))

conn1.commit()

python连接sqlserver、怎么跨表查询_python 连接sqlserver,mysql相关推荐

  1. day17-python项目Django之跨表查询及Ajax、cookie和session

    第1章 课堂笔记 class (models.Model):title=models.CharField(max_length=32)price=models.DecimalField(max_dig ...

  2. ORM单表查询,跨表查询,分组查询

    ORM单表查询,跨表查询,分组查询 单表查询之下划线 models.Tb1.objects.filter(id__lt=10, id__gt=1) # 获取id大于1 且 小于10的值models.T ...

  3. day08 外键字段的增删改查 正向反向插叙概念 跨表查询 聚合查询与分组查询 F查询

    day08 外键字段的增删改查 正向反向插叙概念 跨表查询 聚合查询与分组查询 F查询 昨日内容复习 自定义过滤器.标签.inclusion_tag 1.首先现在应用目录下创建名字为templatet ...

  4. Django | 跨表查询

    一:创建表 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many); 一本书只应该由一个出版商出版,所以 ...

  5. mysql多表连接 索引_MySQL多表查询之外键、表连接、子查询、索引

    一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, ...

  6. sql跨表查询_跨表查询经常有,何为跨表更新?

    有点 SQL 基础的朋友肯定听过 「跨表查询」,那啥是跨表更新啊? 背景 项目新导入了一批人员数据,这些人的有的部门名称发生了变化,有的联系方式发生了变化,暂且称该表为 t_dept_members, ...

  7. sql跨表查询_跨表更新,看到自己写的SQL像个憨憨

    有点 SQL 基础的朋友肯定听过 「跨表查询」,那啥是跨表更新啊? 背景 项目新导入了一批人员数据,这些人的有的部门名称发生了变化,有的联系方式发生了变化,暂且称该表为 t_dept_members, ...

  8. MySQL 多表查询、连接查询(内连接、外连接)

    文章目录 1. 多表查询 2. 连接查询 练习 LeetCode 175. 组合两个表 练习 LeetCode 181. 超过经理收入的员工 练习 LeetCode 1378. 使用唯一标识码替换员工 ...

  9. MySQL把一个大表拆分多个表后,如何解决跨表查询效率问题

    MySQL把一个大表拆分多个表后,如何解决跨表查询效率问题 参考文章: (1)MySQL把一个大表拆分多个表后,如何解决跨表查询效率问题 (2)https://www.cnblogs.com/lili ...

最新文章

  1. 生活随笔[2005-06-06]
  2. val_loss突然变很大_程干朋说网络营销之网站收录突然降低怎么办?
  3. Java技术之掌握数据库连接工具DBUtils的应用
  4. Java之volatile如何保证可见性和指令重排序
  5. Jenkins 入门系列--jenkins 介绍
  6. 万圣节主题海报设计,少不了的素材
  7. Android的Input流程分析(好文)
  8. express + uniapp发送图片和保存图片
  9. 第二阶段:4.商业需求文档MRD:5.PRD-原型图
  10. R语言系列:分布一致性和离散一致性检验
  11. css 固定宽度,自动换行
  12. 今天去火车站送女朋友了
  13. discuz admin.php无法登录,Discuz x3.1论坛管理员无法登录后台的各种解决方法总结
  14. linux嵌入式做智能家居,嵌入式系统在智能家居中的应用
  15. 计算机基础中图文混排的重要性,浅谈项目教学在技校计算机应用基础中的应用.doc...
  16. Magicbook 2018开启TPM2.0
  17. SuperView和View的区别
  18. mongodb敏感数据加解密
  19. 关于技术人员创业入股的问题
  20. C++压缩解压之snappy

热门文章

  1. java kotlin lateinit_kotlin - 如何检查“lateinit”变量是否已初始化?
  2. idea web 乱码 页面_idea运行web项目,页面乱码(转载)
  3. 计算机数据库技术的应用现状,数据库技术发展现状及趋势.doc
  4. 搞怪的html代码,这个恶搞网页代码是肿么写出来的?
  5. matlab中std和std2的区别,matlab 关于std,std2,mean,mean2初步认识
  6. 删除弹框提示_如何关闭Mac的Microsoft AutoUpdate弹框提示
  7. python preference界面设置_偏好设置如何更改Preference的样式
  8. 在用户离开页面(刷新、后退、关闭等)时提示信息
  9. 令人绝望的第五周作业
  10. 洛谷 P1494 [国家集训队]小Z的袜子