最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用pymssql連接SQL?SEVER數(shù)據(jù)庫(kù)全流程

 更新時(shí)間:2023年12月29日 12:50:55   作者:幻影123!  
SQL Server是微軟推出的重量級(jí)的數(shù)據(jù)庫(kù),目前有多個(gè)版本,如2000、2008、2012等,下面這篇文章主要給大家介紹了關(guān)于Python使用pymssql連接SQL?SEVER數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下

背景介紹

在數(shù)據(jù)分析領(lǐng)域,經(jīng)常需要從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)進(jìn)行分析和處理。而SQL Server是一種常用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),因此學(xué)習(xí)如何使用Python連接SQL Server數(shù)據(jù)庫(kù)并獲取數(shù)據(jù)是非常有用的。

以下是Python使用pymssql連接SQL Server數(shù)據(jù)庫(kù)的全流程:

  • 安裝pymssql庫(kù)
  • 本地賬號(hào)設(shè)置
  • 腳本連接
  • 數(shù)據(jù)導(dǎo)入函數(shù)實(shí)現(xiàn)

一、安裝pymssql

pymssql是Python連接SQL Server數(shù)據(jù)庫(kù)的一個(gè)庫(kù),可以通過(guò)pip命令進(jìn)行安裝。在命令行中輸入以下命令即可安裝:

pip install pymssql

二、本地賬號(hào)設(shè)置

1、設(shè)置sa賬戶的登錄密碼

在SQL Server Management Studio中,展開(kāi)“安全性”文件夾,右鍵單擊“登錄名”并選擇“新建登錄名”。在彈出的對(duì)話框中,輸入登錄名“sa”,選擇“SQL Server身份驗(yàn)證”,設(shè)置密碼并確保“登錄”選項(xiàng)卡下“默認(rèn)數(shù)據(jù)庫(kù)”為目標(biāo)數(shù)據(jù)庫(kù)。最后,在“狀態(tài)”選項(xiàng)卡下選擇“啟用”并確保“允許連接”復(fù)選框被選中。

2、開(kāi)啟雙重驗(yàn)證

在SQL Server Management Studio中,右鍵單擊SQL Server實(shí)例名稱并選擇“屬性”。在彈出的對(duì)話框中,選擇“安全性”選項(xiàng)卡,將“身份驗(yàn)證”設(shè)置為“SQL Server和Windows身份驗(yàn)證模式”,并選擇“應(yīng)用”以保存更改。

3、開(kāi)啟TCP/IP本地服務(wù)

在SQL Server Configuration Manager中,展開(kāi)“SQL Server網(wǎng)絡(luò)配置”文件夾,右鍵單擊“協(xié)議”文件夾并選擇“新建協(xié)議”。選擇“TCP/IP”協(xié)議,右鍵單擊“TCP/IP”協(xié)議并選擇“屬性”。在彈出的對(duì)話框中,將“啟用”設(shè)置為“是”,并確保“IP地址”選項(xiàng)卡下的“TCP動(dòng)態(tài)端口”為空。然后,切換到“IPALL”選項(xiàng)卡,并將“TCP端口”設(shè)置為1433(或其他您想要的端口號(hào))。保存更改并重啟SQL Server服務(wù)。

完成以上步驟后,即可使用Python連接本地SQL Server數(shù)據(jù)庫(kù)。

三、腳本連接

做好以上的準(zhǔn)備工作,用測(cè)試腳本連接(如果連接出錯(cuò)——b’DB-Lib error message 20002,試下在connect函數(shù)參數(shù)最后面加上tds_version=“7.0” 或者其他值)。

import pymssql

server = '(local)'
database = '訂單信息'
username = 'sa'
password = '123456'
# 連接到數(shù)據(jù)庫(kù)
conn = pymssql.connect(server=server, user=username, password=password, database=database,tds_version="7.0")#最后一個(gè)參數(shù)不是必須的
# 創(chuàng)建游標(biāo)對(duì)象
cursor = conn.cursor()
print('連接成功!')
# 關(guān)閉數(shù)據(jù)庫(kù)連接
conn.close()

四、數(shù)據(jù)導(dǎo)入函數(shù)

我們成功連接了數(shù)據(jù)庫(kù)以后,可以很方便的導(dǎo)出導(dǎo)入數(shù)據(jù),以下是一個(gè)將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)的函數(shù)實(shí)現(xiàn)

#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'):
    # 連接到數(shù)據(jù)庫(kù)
    conn = pymssql.connect(server=server, user=username, password=password, database=database)
    # 創(chuàng)建游標(biāo)對(duì)象
    cursor = conn.cursor()
    # 獲取 DataFrame 對(duì)象的字段名和數(shù)據(jù)類(lèi)型
    columns = list(df.columns)
    dtypes = df.dtypes
    if mode=='Overlay':
        try:
        #覆蓋模式
            cursor.execute("DROP TABLE {}".format(table_name))
        except:
            print('表不存在,直接創(chuàng)建……')
        # 構(gòu)造創(chuàng)建表的 SQL 語(yǔ)句
        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 '時(shí)間' 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 轉(zhuǎn)換成元組列表
    data = [tuple(row) for row in df.fillna(0).values.tolist()]
    # 構(gòu)造插入數(shù)據(jù)的 SQL 語(yǔ)句
    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)) + ');'

    # 將數(shù)據(jù)插入到數(shù)據(jù)庫(kù)
    cursor.executemany(insert_sql, data)
    # 提交事務(wù)
    conn.commit()
    # 關(guān)閉數(shù)據(jù)庫(kù)連接
    conn.close()
   # 數(shù)據(jù)庫(kù)連接參數(shù)

總結(jié) 

到此這篇關(guān)于Python使用pymssql連接SQL SEVER數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)Python連接SQLSEVER數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談Python中數(shù)據(jù)解析

    淺談Python中數(shù)據(jù)解析

    本文給大家介紹的是Python中的數(shù)據(jù)解析的集中方式,包括列表解析、字典解析、集合解析,并附上相關(guān)示例,有需要的小伙伴可以參考下。
    2015-05-05
  • python dict轉(zhuǎn)換成json格式的實(shí)現(xiàn)

    python dict轉(zhuǎn)換成json格式的實(shí)現(xiàn)

    本文主要介紹了python dict轉(zhuǎn)換成json格式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • Python實(shí)現(xiàn)原神抽卡的方法

    Python實(shí)現(xiàn)原神抽卡的方法

    這篇文章主要為大家介紹了Python實(shí)現(xiàn)原神抽卡的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • python中字符串拼接的幾種方法及優(yōu)缺點(diǎn)對(duì)比詳解

    python中字符串拼接的幾種方法及優(yōu)缺點(diǎn)對(duì)比詳解

    在 Python 中,字符串拼接是常見(jiàn)的操作,Python 提供了多種方法來(lái)拼接字符串,每種方法有其優(yōu)缺點(diǎn)和適用場(chǎng)景,以下是幾種常見(jiàn)的字符串拼接方法,需要的朋友可以參考下
    2025-03-03
  • python UNIX_TIMESTAMP時(shí)間處理方法分析

    python UNIX_TIMESTAMP時(shí)間處理方法分析

    這篇文章主要介紹了python UNIX_TIMESTAMP時(shí)間處理方法,結(jié)合實(shí)例形式分析了Python針對(duì)UNIX_TIMESTAMP時(shí)間的常見(jiàn)運(yùn)算技巧,需要的朋友可以參考下
    2016-04-04
  • Python如何使用seleniumwire接管Chrome查看控制臺(tái)中參數(shù)

    Python如何使用seleniumwire接管Chrome查看控制臺(tái)中參數(shù)

    文章介紹了如何使用Python的seleniumwire庫(kù)來(lái)接管Chrome瀏覽器,并通過(guò)控制臺(tái)查看接口參數(shù),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Python利用Prim算法生成迷宮

    Python利用Prim算法生成迷宮

    普里姆算法(Prim算法),圖論中的一種算法,可在加權(quán)連通圖里搜索最小生成樹(shù)。這篇文章將利用Prim算法實(shí)現(xiàn)迷宮的生成,感興趣的可以了解一下
    2023-01-01
  • 教你怎么用python selenium實(shí)現(xiàn)自動(dòng)化測(cè)試

    教你怎么用python selenium實(shí)現(xiàn)自動(dòng)化測(cè)試

    今天帶大家學(xué)習(xí)怎么用python selenium實(shí)現(xiàn)自動(dòng)化測(cè)試,文中有非常詳細(xì)的介紹及代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • 一文搞懂python 中的迭代器和生成器

    一文搞懂python 中的迭代器和生成器

    這篇文章主要介紹了python 中的迭代器和生成器簡(jiǎn)單介紹,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 理解深度學(xué)習(xí)之深度學(xué)習(xí)簡(jiǎn)介

    理解深度學(xué)習(xí)之深度學(xué)習(xí)簡(jiǎn)介

    這篇文章主要是關(guān)于深度學(xué)習(xí)的簡(jiǎn)介,對(duì)大家學(xué)習(xí)了解機(jī)器深度學(xué)習(xí)有一定的幫助,以后會(huì)持續(xù)更新本系列,希望能為大家?guī)?lái)一些收貨,讓我們一起來(lái)看看下面的文章吧
    2021-04-04

最新評(píng)論

荣昌县| 贵州省| 祁阳县| 永胜县| 九龙城区| 鲁甸县| 文昌市| 长宁区| 冀州市| 赤水市| 高平市| 梁山县| 德格县| 红桥区| 乳山市| 芒康县| 铜陵市| 来凤县| 双柏县| 泰宁县| 道孚县| 镇坪县| 辽中县| 缙云县| 广州市| 江安县| 永德县| 达州市| 田东县| 永兴县| 缙云县| 呼伦贝尔市| 济南市| 龙口市| 慈溪市| 安溪县| 邯郸市| 余庆县| 大悟县| 巢湖市| 柏乡县|