python连接并简单操作SQL server数据库

环境:

pycharm 、SQLserver版本2019

1.首先,在pycharm中点击File,找到setting——project:***,点击”+“,引入pymssql库

2.编写代码连接数据库,并对数据库进行查询等简单操作(此处仅展示查询)

import pymssql
connect=pymssql.connect(server='DESKTOP-08O3C8T',user='sa',password='***',database='1234')
#服务器名,账号,密码,数据库名
if connect:
    print("连接数据库成功!")

#查询
cursor=connect.cursor()
sql_select="select * from SC"
cursor.execute(sql_select)#执行sql语句
results=cursor.fetchall()#读取所有查询结果
for result in results: #循环读取所有结果
    result=list(result)
    for res in range(len(result)):
        if isinstance(result[res],str):
            result[res]=result[res].replace(' ','')
    result=tuple(result)
    print("处理后:",end='')
    print(result)
connect.commit()
#关闭数据库
connect.close()

 3.在sql server中由于之前使用windows验证模式进入数据库管理器,所以要身份验证修改,更改为sql身份验证连接数据库:

身份验证修改

(1)先是用Windows身份验证登录数据库,右击根目录——属性——安全性——勾选SQL和windows身份验证模式;

(2)选择根目录下安全性——登录名——sa——右击属性——修改密码并取消强制实施密码策略;状态选项里勾选授予和启用;(有一点需要注意,不管你改了几位数密码,在上图都是显示十五位。)

(3)配置协议:找到数据库中的配置工具SQL Server Configuration Manager程序,将SQL Server2005网络配置中的Named Pipes和TCP/IP的状态改成启用。然后使用SQL server身份验证登陆。如果找不到SQL Server Configuration Manager程序,可以右击此电脑——管理——Sql配置管理器:

(4)当你把这些都改好后,需要重启Sql Server Management Studio,注意是重启!!!不是将数据库关闭再打开就行,而是右击根目录——重新启动!!

结果:

 补充:上述简单查询代码查询会出现中文乱码

例如查询student表:

方法一:

在pymqsql.connect()中添加charset='cp936'

原因:因为字符串字段类型为:varchar,造成读取数据乱码

缺点:若sql语句中含有中文,会得不到数据

方法二:(较为通用)

直接用sql语句将varchar转为nvarchar类型,不再需要指定charset了,就没问题了(注意转换列名称起别名),直接写sql语句如下

sql="select Sno,convert(nvarchar(50),Sname) as 'a',
           convert(nvarchar(50),Ssex) as 'b' from student'

处理后结果如下:

  • 17
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要在Python连接SQL Server数据库,需要使用pyodbc模块和ODBC驱动程序。以下是连接SQL Server数据库的基本步骤: 1. 安装pyodbc模块 可以在命令行中使用以下命令安装pyodbc模块: ``` pip install pyodbc ``` 2. 安装ODBC驱动程序 ODBC驱动程序是连接SQL Server数据库的必要组件。可以从Microsoft官方网站下载并安装SQL Server ODBC驱动程序。 3. 连接数据库 使用以下代码连接SQL Server数据库: ```python import pyodbc server = 'server_name' # SQL Server服务器名称 database = 'database_name' # 数据库名称 username = 'username' # 数据库用户名 password = 'password' # 数据库密码 cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password) ``` 4. 执行SQL查询 可以使用以下代码执行SQL查询: ```python cursor = cnxn.cursor() cursor.execute('SELECT * FROM table_name') for row in cursor: print(row) ``` 以上代码将打印查询结果集中的每一行。 希望这能帮助你连接SQL Server数据库。 ### 回答2: 要在Python连接SQL Server数据库,可以使用pyodbc库。以下是连接SQL Server数据库的步骤: 1. 安装pyodbc库:在命令提示符下使用`pip install pyodbc`命令安装pyodbc库。 2. 导入pyodbc库:在Python脚本中使用`import pyodbc`语句导入pyodbc库。 3. 连接数据库:使用pyodbc库的`connect`函数来建立与SQL Server数据库连接。例如,`conn = pyodbc.connect('DRIVER={SQL Server};SERVER=服务器名称;DATABASE=数据库名称;UID=用户名;PWD=密码')`。 4. 执行SQL查询:使用连接对象的`cursor()`方法创建一个游标对象,并使用游标对象的`execute()`方法执行SQL查询语句。例如,`cursor = conn.cursor()`和`cursor.execute('SELECT * FROM 表名')`。 5. 获取查询结果:使用游标对象的`fetchall()`方法获取查询结果。例如,`rows = cursor.fetchall()`。 6. 处理查询结果:对于每一行的数据,可以使用迭代方式将其打印出来。例如,`for row in rows: print(row)`。 7. 关闭连接:在使用完连接对象和游标对象后,应该关闭它们。例如,`cursor.close()`和`conn.close()`。 以上是连接SQL Server数据库的基本步骤。在实际应用中,根据自己的具体情况,可能需要进一步设置连接参数、执行其他的SQL操作等。 ### 回答3: 连接SQL Server可以使用pyodbc库来实现。下面是一份基本的代码示例: 1. 首先,确保你已经安装了pyodbc库。可以通过运行以下命令来安装: ```python pip install pyodbc ``` 2. 在代码中引入pyodbc库: ```python import pyodbc ``` 3. 使用以下代码连接SQL Server数据库: ```python server = '服务器名称' database = '数据库名称' username = '用户名' password = '密码' # 创建一个连接字符串 connString = 'DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password # 连接数据库 conn = pyodbc.connect(connString) ``` 在此代码中,需要将`server`、`database`、`username`和`password`分别替换为实际的SQL Server服务器名称、数据库名称、用户名和密码。 4. 成功连接数据库后,可以执行SQL查询和其他数据库操作。以下是一个简单的示例,展示如何查询数据库中的表: ```python # 创建一个光标对象 cursor = conn.cursor() # 执行SQL查询 cursor.execute('SELECT * FROM 表名') # 获取查询结果 result = cursor.fetchall() # 打印查询结果 for row in result: print(row) # 关闭连接 conn.close() ``` 在此示例中,需要将`表名`替换为实际的表名。 以上就是使用Python连接SQL Server的基本步骤。确保提供正确的服务器名称、数据库名称、用户名和密码,即可成功连接SQL Server并执行查询和其他操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值