Python连接SQL SEVER数据库全流程

背景介绍

在数据分析领域,经常需要从数据库中获取数据进行分析和处理。而SQL Server是一种常用的关系型数据库管理系统,因此学习如何使用Python连接SQL Server数据库并获取数据是非常有用的。
在这里插入图片描述

以下是Python使用pymssql连接SQL Server数据库的全流程:

  • 安装pymssql库
  • 本地账号设置
  • 脚本连接
  • 数据导入函数实现

一、安装pymssql

pymssql是Python连接SQL Server数据库的一个库,可以通过pip命令进行安装。在命令行中输入以下命令即可安装:

pip install pymssql

二、本地账号设置

1、设置sa账户的登录密码

在SQL Server Management Studio中,展开“安全性”文件夹,右键单击“登录名”并选择“新建登录名”。在弹出的对话框中,输入登录名“sa”,选择“SQL Server身份验证”,设置密码并确保“登录”选项卡下“默认数据库”为目标数据库。最后,在“状态”选项卡下选择“启用”并确保“允许连接”复选框被选中。

2、开启双重验证

在SQL Server Management Studio中,右键单击SQL Server实例名称并选择“属性”。在弹出的对话框中,选择“安全性”选项卡,将“身份验证”设置为“SQL Server和Windows身份验证模式”,并选择“应用”以保存更改。

3、开启TCP/IP本地服务

在SQL Server Configuration Manager中,展开“SQL Server网络配置”文件夹,右键单击“协议”文件夹并选择“新建协议”。选择“TCP/IP”协议,右键单击“TCP/IP”协议并选择“属性”。在弹出的对话框中,将“启用”设置为“是”,并确保“IP地址”选项卡下的“TCP动态端口”为空。然后,切换到“IPALL”选项卡,并将“TCP端口”设置为1433(或其他您想要的端口号)。保存更改并重启SQL Server服务。

完成以上步骤后,即可使用Python连接本地SQL Server数据库。

三、脚本连接

做好以上的准备工作,用测试脚本连接(如果连接出错——b’DB-Lib error message 20002,试下在connect函数参数最后面加上tds_version=“7.0” 或者其他值)。

import pymssql

server = '(local)'
database = '订单信息'
username = 'sa'
password = '123456'
# 连接到数据库
conn = pymssql.connect(server=server, user=username, password=password, database=database,tds_version="7.0")#最后一个参数不是必须的
# 创建游标对象
cursor = conn.cursor()
print('连接成功!')
# 关闭数据库连接
conn.close()

四、数据导入函数

我们成功连接了数据库以后,可以很方便的导出导入数据,以下是一个将数据导入数据库的函数实现

#coding=utf-8
import time
import pymssql
import pandas as pd

def insert_data_to_sql(df, server, database, username, password, table_name,mode='Overlay'):
    # 连接到数据库
    conn = pymssql.connect(server=server, user=username, password=password, database=database)
    # 创建游标对象
    cursor = conn.cursor()
    # 获取 DataFrame 对象的字段名和数据类型
    columns = list(df.columns)
    dtypes = df.dtypes
    if mode=='Overlay':
        try:
        #覆盖模式
            cursor.execute("DROP TABLE {}".format(table_name))
        except:
            print('表不存在,直接创建……')
        # 构造创建表的 SQL 语句
        create_table_sql = f'CREATE TABLE [{table_name}] ('
        for col_name, col_type in zip(columns, dtypes):
            if col_type == 'int64':
                create_table_sql += f'[{col_name}] BIGINT,'
            elif col_type == 'float64':
                create_table_sql += f'[{col_name}] FLOAT,'
            elif col_type== 'datetime64[ns]' or '时间' in col_name or '日期' in col_name:
                create_table_sql += f'[{col_name}] DATETIME2(0),'
            elif col_type == 'date':
                create_table_sql += f'[{col_name}] DATE,'
            else:
                create_table_sql += f'[{col_name}] NVARCHAR(max),'
        create_table_sql = create_table_sql.rstrip(',') + ');'
        cursor.execute(create_table_sql)
    # 将 DataFrame 转换成元组列表
    data = [tuple(row) for row in df.fillna(0).values.tolist()]
    # 构造插入数据的 SQL 语句
    insert_sql = f'INSERT INTO [{table_name}] ('
    insert_sql += ','.join([f'[{col_name}]' for col_name in columns]) + ') VALUES ('
    insert_sql += ','.join(['%s'] * len(columns)) + ');'

    # 将数据插入到数据库
    cursor.executemany(insert_sql, data)
    # 提交事务
    conn.commit()
    # 关闭数据库连接
    conn.close()
   # 数据库连接参数

以上是python连接SQL SEVER数据库的全部流程,如果你遇到任何问题,欢迎评论区留言~

### 回答1: 可以使用Python中的pyodbc模块来连接SQL Server数据库。需要安装pyodbc模块以及配置ODBC DSN。具体步骤可以参考SQL Server官方文档或者其他Python连接SQL Server的教程。 ### 回答2: Python是一门广泛使用的高级编程语言,而SQL Server是一款流行的数据库管理系统。Python支持多种数据库管理系统,其中之一就是SQL Server。本文将介绍如何使用Python连接SQL Server数据库。 首先,需要安装sqlserver包。在命令行中输入以下命令即可安装: ``` pip install pyodbc ``` 接下来,需要设置连接信息。这里以Windows身份验证方式为例。假设数据库服务器主机名称为“localhost”,数据库名称为“testdb”,则连接信息如下所示: ```python import pyodbc server = 'localhost' database = 'testdb' username = '' password = '' driver = '{SQL Server}' # 驱动名称 # 创建连接字符串 cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';Trusted_Connection=yes') ``` 连接字符串可以根据实际情况进行修改。 连接成功后,可以使用cursor方法创建一个游标,从而执行SQL查询。 ```python cursor = cnxn.cursor() cursor.execute('SELECT * FROM table') rows = cursor.fetchall() for row in rows: print(str(row[0]) + ' ' + str(row[1])) ``` 这里执行了一个简单的SELECT查询,将结果打印出来。 除了使用Windows身份验证,还可以使用SQL Server身份验证进行连接。此时需要提供用户名和密码信息。连接信息如下所示: ```python import pyodbc server = 'localhost' database = 'testdb' username = 'yourusername' password = 'yourpassword' driver = '{SQL Server}' # 驱动名称 # 创建连接字符串 cnxn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password) ``` 以上就是Python连接SQL Server数据库的基本步骤。通过使用pyodbc模块可以方便地连接各种数据库管理系统,并执行SQL查询。 ### 回答3: Python是一种高级编程语言,可以轻松地连接SQL Server数据库,从而轻松处理数据。Python有一些流行的库用于连接和管理SQL数据库,如pymssql, pyodbc和pymsql等。 1. 配置连接数据库: 在Python连接SQL Server之前,需要确保以下事项:具有SQL Server的实例,安装了ODBC驱动程序和Python程序,且这两个程序都是配置好的。安装后,可以使用pip命令安装pymssql, pyodbc和pymsql等库。 2. 使用pymssql连接SQL Server: pymssql是一个流行的库,用于在SQL Server中使用Python。 import pymssql #配置连接 conn = pymssql.connect(server='servername', user='username', password='password', database='dbname') #创建游标 cursor = conn.cursor() #查询SQL cursor.execute('SELECT * from table_name') #处理结果 row = cursor.fetchone() while row: print(row[0], row[1]) row = cursor.fetchone() #关闭连接 conn.close() 3. 使用pyodbc库连接SQL Server: pyodbc库也非常流行,可以在SQL Server中使用Python。 import pyodbc #配置连接 conn = pyodbc.connect('Driver={SQL Server};' 'Server=servername;' 'Database=dbname;' 'uid=username;pwd=password') #创建游标 cursor = conn.cursor() #查询SQL cursor.execute('SELECT * from table_name') #处理结果 row = cursor.fetchone() while row: print(row[0], row[1]) row = cursor.fetchone() #关闭连接 conn.close() 总体而言,Python连接SQL Server数据库非常容易,使用pymssql, pyodbc和pymsql等库来完成,使用这些库的基本步骤都是相同的,只需要配置数据源、创建游标、执行SQL语句和关闭连接即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值