利用pandas读取SQL Sever数据表

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

目录

  • python的pandas库读取SQL sever有两种方法。一种使用pymssql,另一种使用sqlalchemy。这里只是将数据库中的表读取为DataFrame,不进行修改等表操作。
  • 一、pymssql
    • 1.安装
    • 2.连接数据库
      • 1.登录设置
    • 3.获取数据库表
  • 二、sqlalchemy

一、pymssql

1.安装

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

pip install pymssql
pip install sqlalchemy

2.连接数据库

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

1.登录设置

如果要设置两种方式同时登陆,我们首先用windows验证登录以后
利用pandas读取SQL Sever数据表_第1张图片
点击安全性,选择如图所示的选项以后点击确定,关闭该窗口。
利用pandas读取SQL Sever数据表_第2张图片
然后点击安全性,在登录名中右键点击sa,再点击菜单栏的最下方的属性。
利用pandas读取SQL Sever数据表_第3张图片
首先点击常规,设置密码,然后再点击状态,启用登陆。点击确定关闭。
利用pandas读取SQL Sever数据表_第4张图片

利用pandas读取SQL Sever数据表_第5张图片
最后我们需要重启SQL Sever。在开始菜单栏找到SQL Sever配置管理器。找到SQL Sever网络配置。在MSSQL Sever协议中启用“Named Pipes”和“TCP/IP”。然后在SQL Sever服务中,右键点击SQL Sever(MSSQL Sever),然后点击重新启动。这样就设置完成了。
利用pandas读取SQL Sever数据表_第6张图片
利用pandas读取SQL Sever数据表_第7张图片
利用pandas读取SQL Sever数据表_第8张图片

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为端口号。这样我们就可以成功获取到数据了。
利用pandas读取SQL Sever数据表_第9张图片

二、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)

你可能感兴趣的:(利用pandas读取SQL Sever数据表)