首页 > 数据库 >python的pandas库读取SQL sever

python的pandas库读取SQL sever

时间:2023-07-12 11:00:24浏览次数:44  
标签:python 数据库 点击 host SQL pymssql pandas Sever

python的pandas库读取SQL sever

有两种方法。一种使用pymssql,另一种使用sqlalchemy。只是将数据库中的表读为DataFrame,不进行修改等表操作。
目录
• python的pandas库读取SQL sever有两种方法。一种使用pymssql,另一种使用sqlalchemy。这里只是将数据库中的表读取为DataFrame,不进行修改等表操作。

一、pymssql

1.安装
2.连接数据库
3.登录设置
4.获取数据库表

二、sqlalchemy

一、pymssql

1.安装

可以直接用以下命令安装pymssql。
pip install pymssql
pip install sqlalchemy

2.连接数据库

这里也分为两种情况,一种是直接使用windows验证登陆,另一种是进行SQL Sever身份验证即账号密码登陆。这里可以进行设置,可以同时使用两种登录方式。
1.登录设置
如果要设置两种方式同时登陆,我们首先用windows验证登录以后

点击安全性,选择如图所示的选项以后点击确定,关闭该窗口。

然后点击安全性,在登录名中右键点击sa,再点击菜单栏的最下方的属性。

首先点击常规,设置密码,然后再点击状态,启用登陆。点击确定关闭。

最后我们需要重启SQL Sever。在开始菜单栏找到SQL Sever配置管理器。找到SQL Sever网络配置。在MSSQL Sever协议中启用“Named Pipes”和“TCP/IP”。然后在SQL Sever服务中,右键点击SQL Sever(MSSQL Sever),然后点击重新启动。这样就设置完成了。


3.获取数据库表
import pymssql
import pandas as pd
"""
如果使用sql sever身份验证的话用下面的代码
conn = pymssql.connect(host, user, password, "连接默认数据库名称")
"""
这里直接用windows验证登陆,无需账号密码,database为需要连接的数据库名称
conn = pymssql.connect(host="",database="db_databsae", charset="utf8")

使用pandas库的read_sql方法,输入select语句即可

df = pd.read_sql("select * from score",con=conn)
print(df)
conn.close()
这里的host参数是服务器名称,我们一般连接到本地服务器为localhost,就是ip地址加端口号。可以按照如下方式找到。右键ip协议然后点击属性,这里host即为 ip地址:端口号 。比如 127.0.0.1:1533 。127.0.0.1为ip,1533为端口号。这样我们就可以成功获取到数据了。

二、sqlalchemy

有了上一部分的设置,这里直接上代码,都是类似的。
import sqlalchemy as sqla
windows验证登陆
这里只需把host换成自己的host和databsae换成自己的数据库名称
db = sqla.create_engine("mssql+pymssql://@host/databsae?charset=utf8")
pd.read_sql("select * from score;",db)

sql sever身份验证登陆
同样换掉host和数据库名称,同时换掉sa登陆的密码,这里为123
db = sqla.create_engine("mssql+pymssql://sa:123@host/db_databsae?charset=utf8")
pd.read_sql("select * from test;",db)

标签:python,数据库,点击,host,SQL,pymssql,pandas,Sever
From: https://www.cnblogs.com/HeroZhang/p/17546966.html

相关文章

  • python 常用快捷键
    python常用快捷键最重要的快捷键ctrl+shift+A:万能命令行shift两次:查看资源文件新建工程第一步操作module设置把空包分层去掉,compactemptymiddlepackage设置当前的工程是utf-8,设置的Editor-->FileEncodings-->全部改成utf-8,注释ctrl+/:单行注释光标操作ctrl+a......
  • Python 学习路线图
    Python学习路线图在这个系列笔记中,我将陆续整理自己在学习Python编程语言及其框架的过程中留下的笔记和代码,目的是掌握如何在生产环境中利用各种领域的第三方框架来快速开发应用程序。和大多数学习过程一样,我需要在第一部分笔记中花费一点篇幅来鸟瞰一下Python语言所涉及的......
  • mysql 出现 mysqladmin flush-hosts
    【1】报错信息messagefromserver:"Host'xx.xx.xx.xx'isblockedbecauseofmanyconnectionerrors;unblockwith'mysqladminflush-hosts'"主机xx.xx.xx.xx被锁,因为许多连接错误;【2】快速解决mysql出现mysqladminflush-hosts,是因为其他客户机连接错误次数过......
  • MySQL从5.7升级到8.0后可能的回退方法
    MySQL从5.7升级到8.0后,可以降级的一些途径:·从8.0逻辑导出,然后导入5.7·使用5.7的复制·还原升级前的备份,并追赶在8.0中新生成的数据  1.逻辑导出和导入降级虽然MySQL5.7到5.6官方支持逻辑降级:但是从8.0降级到5.7却并非如此。官方文档只是简单提到不支持,因此,如果你尝......
  • MyBatis实现动态SQL更新
    博主记得在一个周五快下班的下午,产品找到我(为什么总感觉周五快下班就来活......
  • 玩转Python正则表达式:实用教程带你快速入门
    引言正则表达式是一种强大的文本匹配和处理工具,广泛应用于各种编程语言中。在Python中,我们可以使用内置的re模块来处理正则表达式。本文将带您从入门到精通,逐步介绍Python中的正则表达式用法,并提供实例演示。1.正则表达式基础1.1什么是正则表达式正则表达式是一种用于描述和......
  • MySQL 8.0 Dynamic Redo Log Sizing翻译
    本文是MySQL8.0DynamicRedoLogSizing[1]这篇文章的翻译。如有翻译不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处。谢谢!这篇博文将讨论MySQL8.0.30中引入的最新功能/特性:重做日志动态调整大小(dynamicredologsizing)。除了InnoDB缓冲池(bufferpool)......
  • python内置os库
    1.目录不存在即创建importosdirs='./file_test/media_test/'ifnotos.path.exists(dirs):#判断文件和文件夹都可以os.makedirs(dirs)ifos.path.isfile("filename.txt"):pass#可只用来判断文件是否存在importosifnotos.path.exists('foldername'......
  • 6.MySQL中间件mycat和MHA高可用
    MySQL中间件代理服务器数据切分方式垂直切分水平切分MyCAT数据库中间件实现数据分库,读写分离java程序要运行必须有jvm安装mycat1.下载安装Javayum-yinstalljava2.安装mycat和配置Mycat-server-1.6.7.6-release-20220524173810-linux.tar.gz解压[16:15:3......
  • SQL 约束(Constraints)
    SQL约束约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过CREATETABLE语句),或者在表创建之后也可以(通过ALTERTABLE语句)。我们将主要探讨以下几种约束:NOTNULLUNIQUEPRIMARYKEYFOREIGNKEYCHECKDEFAULT详细讲解每一种约束。SQLNOTNULL约束NOTN......