本文主要是介绍python连接本地SQL server详细图文教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码...
一.设置本地账号
1.新建用户
在对象资源管理其中,选中 安全性/登录名 右键新建登录名
在弹出的对话框中,设置登录名为“sa”(sa是最高权限用户名,也可以自定义,但不推荐),选择“SQL Server身份验证”,设置密码,在“默认数据库”中选择我们需要建立联系的目标数据库,“默认语言”为简体中文。
最后在“状态”选项卡下选择“启用”并确保“允许连接”复选框被选中。
2.开启双重验证
在资源对象管理器中,右键单击SQL Server实例名称并选择“属性”。
在弹出的对话框中,选择“安全性”选项卡,将“身份验证”设置为“SQL Server和Windows身份验证模式”,并选择“确定”以保存更改。
3,开启TCP/IP本地服务
在SQL Server Configuration Manager中,右键“SQL Server网络配置”,选择“TCP/IP”协议,点击“启用”。
选择TCP/IP属性,选择IP,将“TCP动态端口”设置为0
然后找到“IPALL”选项,将“TCP端口”设置为1433(或其他的端口号)。
保存更改并重启SQL Server服务。
完成以上步骤后,即可使用Python连接本地SQL Server数据库。
二.python连接实例
注意,下文是本地连接用法,也就是只能连接本机服务器的数据库,想要连接外地服务器请参考其它文章。
以 Pycharm为例
1.下载支持库
有用pymssql的方法,但是我没成功,于是换了另一个用pyodbc的方法
进入Anaconda Prompt,进入已有环境,输入一下命令下载支持库(这里命令末尾添加了阿里云镜像源,能下载的快一点)
pip install pyodbc -i https://mirrors.aliyun.com/pypi/simple/
2.验证连接
创建一个 .py文件,编辑以下代码验证能否建立连接:
import pyodbc server = 'localhost' # 这里就写localhost就可以了 user = '之前创建的用户名' password = '给对应账户设置的密wUjmRioAK码' database = '想要建立连接的数据库名' try: conn_str = f'DRIVER={{SQL Server}};SERVER={server};DATABASE={database};UID={user};PWD={password};TrustServerCertificate=yes' connect = pyodbc.connect(conn_str) print("连接成功") except pyodbc.Error as e: print(f"连接失败: {e}")
3.可能失败原因
需要注意的是,如果没有创建sa账户的话,这里应该要先给对应数据库开起用户权限
在对象资源管理器中,右键对应数据库,点击属性,点击文件,点击如图红框
点击浏览,选中需要基于权限的用户,但是好像只能选择一个
如图,我选择了sd用户,点击确定,再点击确定就可以了。
最后显示连接成功:
三.基本查询语法使用
import pyodbc server = 'localhost' # 这里就写localhost就可以了 user = '之前创建的用户名' password = '给对应账户设置的密码' database = '想要建立连接的数据库名' conn_str = f'DRIVER={{SQL Server}};SERVER={server};DATABASE={database};UID={user};PWD={password};TrustServerCertificate=yes' connect = pyodbc.connect(conn_str) print("连接成功") # 创建游标对象 cursor = connect.cursor() # 执行查询语句,这里查询作者数据库里的图书表 query = "SELECT * FROM 图书" cursor.exeChina编程cute(query) # 获取查询结果 rows = cursor.fetchall() # 打印查询结果 if rows: print("图书表的数据如下:") for row in rows: print(row) # 关闭游标和连接 cursor.close() connect.close()
结果如下,没有乱码问题,不知道是不是引用库不一样的原因,pymssql库看很多博主讲是有js代码的,反正不管,能成功就行。
总结
到此这篇关于python连接本地SQL ser编程China编程ver的文章就介绍到这了,更多相关python连接本地SQL server内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)!
这篇关于python连接本地SQL server详细图文教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!