python连接本地SQL server详细图文教程

2025-04-10 15:50

本文主要是介绍python连接本地SQL server详细图文教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码...

一.设置本地账号

1.新建用户

在对象资源管理其中,选中 安全性/登录名 右键新建登录名

python连接本地SQL server详细图文教程

在弹出的对话框中,设置登录名为“sa”(sa是最高权限用户名,也可以自定义,但不推荐),选择“SQL Server身份验证”,设置密码,在“默认数据库”中选择我们需要建立联系的目标数据库,“默认语言”为简体中文。

python连接本地SQL server详细图文教程

最后在“状态”选项卡下选择“启用”并确保“允许连接”复选框被选中。

python连接本地SQL server详细图文教程

2.开启双重验证

在资源对象管理器中,右键单击SQL Server实例名称并选择“属性”。

python连接本地SQL server详细图文教程

在弹出的对话框中,选择“安全性”选项卡,将“身份验证”设置为“SQL Server和Windows身份验证模式”,并选择“确定”以保存更改。

python连接本地SQL server详细图文教程

3,开启TCP/IP本地服务

在SQL Server Configuration Manager中,右键“SQL Server网络配置”,选择“TCP/IP”协议,点击“启用”。

python连接本地SQL server详细图文教程

选择TCP/IP属性,选择IP,将“TCP动态端口”设置为0

python连接本地SQL server详细图文教程

然后找到“IPALL”选项,将“TCP端口”设置为1433(或其他的端口号)。

python连接本地SQL server详细图文教程

保存更改并重启SQL Server服务。

python连接本地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账户的话,这里应该要先给对应数据库开起用户权限

在对象资源管理器中,右键对应数据库,点击属性,点击文件,点击如图红框

python连接本地SQL server详细图文教程

点击浏览,选中需要基于权限的用户,但是好像只能选择一个

python连接本地SQL server详细图文教程

如图,我选择了sd用户,点击确定,再点击确定就可以了。

最后显示连接成功:

python连接本地SQL server详细图文教程

三.基本查询语法使用

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 server详细图文教程

总结

到此这篇关于python连接本地SQL ser编程China编程ver的文章就介绍到这了,更多相关python连接本地SQL server内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)!

这篇关于python连接本地SQL server详细图文教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1154165

相关文章

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

MySQL中的锁机制详解之全局锁,表级锁,行级锁

《MySQL中的锁机制详解之全局锁,表级锁,行级锁》MySQL锁机制通过全局、表级、行级锁控制并发,保障数据一致性与隔离性,全局锁适用于全库备份,表级锁适合读多写少场景,行级锁(InnoDB)实现高并... 目录一、锁机制基础:从并发问题到锁分类1.1 并发访问的三大问题1.2 锁的核心作用1.3 锁粒度分

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT