操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    -點擊上方“中國統(tǒng)計網(wǎng)”訂閱我吧!-

    01 前言

    鏈接數(shù)據(jù)庫的方式有幾種,但是原理都是一樣的,總共可以分為兩個步驟,第一步是與數(shù)據(jù)庫建立鏈接,第二步執(zhí)行sql查詢語句,這篇將分別介紹如何與數(shù)據(jù)庫鏈接以及如何進行sql語句查詢。

    02 與數(shù)據(jù)庫進行鏈接

    在與數(shù)據(jù)庫進行鏈接時,主要用到兩種方法,一種是.,另一種是。

    是自帶的一個庫,使用前需要使用pip 安裝這個庫,安裝完以后使用該庫中的方法可以直接與數(shù)據(jù)庫進行鏈接。

    # 方法一: 使用pymsql.connect方法import pymysql
    # Connect to the databaseeng = pymysql.connect(host='localhost',user='user',password='passwd',db='db',charset='utf8')# user:用戶名# password:密碼# host:數(shù)據(jù)庫地址/本機使用localhost# db:數(shù)據(jù)庫名# charset:數(shù)據(jù)庫編碼
    # 連接sample# charset='utf8'是解決中文亂碼eng=pymysql.connect(host="118.190.xxx.xxx",user="zhangjian",password="ZhangJian",db="demo",charset='utf8')

    這樣就將與數(shù)據(jù)庫進行了鏈接c 連接數(shù)據(jù)庫代碼,接下來執(zhí)行sql查詢語句就可以將數(shù)據(jù)庫中的內(nèi)容讀取到中。

    是包內(nèi)的一個模塊,而是下的一款ORM框架,建立在數(shù)據(jù)庫API之上,使用關(guān)系對象映射進行數(shù)據(jù)庫操作,將對象轉(zhuǎn)換成SQL,使用數(shù)據(jù)庫API執(zhí)行SQL并獲取執(zhí)行結(jié)果。

    ORM是 ,是一種對象映射關(guān)系程序c 連接數(shù)據(jù)庫代碼,比較難解釋,大家有興趣的自己去了解一下,這里只分享如何使用這個進行鏈接。

    # 方法二: 使用create_engine方法from sqlarchemy import create_engine
    create_engine("mysql+pymysql://:@/[?]")# mysql:數(shù)據(jù)庫類型# pymysql:驅(qū)動器類型# username:用戶名# password:密碼# host:數(shù)據(jù)庫地址/本機使用localhost# dbname:數(shù)據(jù)庫名# options:數(shù)據(jù)庫編碼格式如:charset=utf8
    # 連接sampleeng = create_engine("mysql+pymysql://zhangjian:ZhangJian@118.190.xxx.xxx:3306/demo?charset=utf8")

    03 執(zhí)行sql語句

    # 方法一:使用pd.read_sql() 主要參數(shù)如下所示pd.read_sql(sql, #需要使用的sql語句或者數(shù)據(jù)表con, #sqlalchemy連接引擎名稱index_col = None, #將被用作索引的名稱columns = None #當(dāng)sql參數(shù)使用的是表名稱是,指定需要讀入的列,使用list提供)
    # 方法二:使用pd.read_sql_query 主要參數(shù)如下所示pd.read_sql(sql, #完整的sql語句con, #sqlalchemy連接引擎名稱index_col = None, #將被用作索引的名稱columns = None #當(dāng)sql參數(shù)使用的是表名稱是,指定需要讀入的列,使用list提供)
    # 方法三:使用pd.read_sql_table 主要參數(shù)如下所示pd.read_sql(table, #表名稱con, #sqlalchemy連接引擎/或者連接名稱index_col = None, #將被用作索引的名稱columns = None #當(dāng)sql參數(shù)使用的是表名稱是,指定需要讀入的列,使用list提供)# 從以上方法可看出,read_sql()方法已經(jīng)打包了read_sql_table() 與 read_sql_query()的所有功能,推薦直接使用read_sql()方法

    pd.()方法讀取數(shù)據(jù)文件

    import pandas as pd from sqlalchemy import create_engineeng = create_engine("mysql+pymysql://zhangjian:ZhangJian*2018@118.190.000.111:3306/demo?charset=gbk") data = pd.read_sql(sql = 'select * from orderitem limit 10',con=eng,index_col='SDate')data#?輸入正確的數(shù)據(jù)庫新信息后,read_sql方法返回的是我們熟悉的數(shù)據(jù)框結(jié)構(gòu),可以方便瀏覽數(shù)據(jù),如需查看匯總信息,修改sql語句即可。

    ▲(點擊可查看大圖)

    # read_sql()方法sql參數(shù)使用表名稱from sqlalchemy import create_engineimport pandas as pdeng = create_engine("mysql+pymysql://zhangjian:ZhangJian*2018@118.190.000.111:3306/demo?charset=gbk") data = pd.read_sql(sql = "category",con=eng)
    #?此方法會讀取指定表中的全部數(shù)據(jù),如果表數(shù)據(jù)量比較大,會造成讀取數(shù)據(jù)慢,慎用。

    # 修改改數(shù)據(jù)庫密碼后重新連接數(shù)據(jù)庫# 如用戶名,密碼,數(shù)據(jù)庫名稱包含% @等特殊字符串報錯如下所示:報錯關(guān)鍵信息1045eng = create_engine("mysql+pymysql://賬號:密碼@118.190.000.111:3306/demo?charset=gbk") data = pd.read_sql(sql = 'select * from orderitem limit 10',con=eng)dataOperationalError                          Traceback (most recent call last)
    C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py in _wrap_pool_connect(self, fn, connection) 2157 try:-> 2158 return fn() 2159 except dialect.dbapi.Error as e:

    ▲(點擊可查看大圖)

    # 用戶名,密碼,數(shù)據(jù)庫名稱包含特殊字符串報錯解決方法# 方法二:使用pymysql.connect()方法建立連接import pymysqleng = pymysql.connect("118.190.000.111","zhangjian","zhangjiang*2018","demo" )data = pd.read_sql(sql = "select * from orderitem limit 10" ,con=eng)data

    ▲(點擊可查看大圖)

    # pymsql.connect連接,讀入指定表名稱,會報錯,關(guān)鍵信息1064eng=pymysql.connect(host="118.190.000.111",user="zhagnjian",password="zhangjian*2018",db="demo" ,charset='utf8')data = pd.read_sql(sql = "category",con=eng)data

    ▲(點擊可查看大圖)

    使用connection.cursor()方法讀取數(shù)據(jù)庫文件# 導(dǎo)入sql文件 使用官方文檔案例方法#導(dǎo)入數(shù)據(jù)庫模塊import pymysql# 連接數(shù)據(jù)庫eng = pymysql.connect("118.190.000.111","zhangjian","ZhangJian*2018","demo" )# 使用 cursor() 方法創(chuàng)建一個游標(biāo)對象 cursorcursor = eng.cursor()# 編寫sql語句sql = """select * from orderitem limit 10;"""# 使用 execute() 方法執(zhí)行 SQL 查詢cursor.execute(sql)# 使用 fetchall() 方法獲取所有數(shù)據(jù).data = cursor.fetchall()# 關(guān)閉數(shù)據(jù)庫連接eng.close()# 返回元組data# 返回信息包括數(shù)據(jù)類型等數(shù)據(jù)列信息

    ▲(點擊可查看大圖)

    #?將元組轉(zhuǎn)化為DataFramedf2 = pd.DataFrame(data = list(data) ,columns = ['SDate', 'ShopID', 'SheetID', 'GoodsID','CateID', 'Qty', 'CostValue','SaleValue', 'OriSaleValue', 'Cost', 'Price'] )df2

    04 讀入數(shù)據(jù)庫文件方法總結(jié)

    綜上所述,在框架下使用 加()方法,讀取數(shù)據(jù)庫文件,代碼簡潔,易懂,返回的是據(jù)框;此方法可避免了數(shù)據(jù)庫連接工具與間的切換時間,有利于提高工作效率。

    End.

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有