利用pandas读取SQL Sever数据表

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

一、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)
  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值