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

新聞資訊

    01 前言

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

    02 與數據庫進行鏈接

    在與數據庫進行鏈接時,主要用到兩種方法,一種是.c 連接數據庫代碼,另一種是。

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

    #?方法一:?使用pymsql.connect方法
    import?pymysql

    #?Connect?to?the?database
    eng?=?pymysql.connect(host='localhost',
    user='user',
    password='passwd',
    db='db',
    charset='utf8')
    #?user:用戶名
    #?password:密碼
    #?host:數據庫地址/本機使用localhost
    #?db:數據庫名
    #?charset:數據庫編碼

    #?連接sample
    #?charset='utf8'是解決中文亂碼
    eng=pymysql.connect(host="118.190.xxx.xxx",user="zhangjian",password="ZhangJian",db="demo",charset='utf8')

    這樣就將與數據庫進行了鏈接c 連接數據庫代碼,接下來執行sql查詢語句就可以將數據庫中的內容讀取到中。

    是包內的一個模塊,而是下的一款ORM框架,建立在數據庫API之上,使用關系對象映射進行數據庫操作,將對象轉換成SQL,使用數據庫API執行SQL并獲取執行結果。

    ORM是 ,是一種對象映射關系程序,比較難解釋,大家有興趣的自己去了解一下,這里只分享如何使用這個進行鏈接。

    #?方法二:?使用create_engine方法
    from?sqlarchemy?import?create_engine

    create_engine("mysql+pymysql://:@/[?]")
    #?mysql:數據庫類型
    #?pymysql:驅動器類型
    #?username:用戶名
    #?password:密碼
    #?host:數據庫地址/本機使用localhost
    #?dbname:數據庫名
    #?options:數據庫編碼格式如:charset=utf8

    #?連接sample
    eng?=?create_engine("mysql+pymysql://zhangjian:ZhangJian@118.190.xxx.xxx:3306/demo?charset=utf8")

    03 執行sql語句

    #?方法一:使用pd.read_sql()?主要參數如下所示
    pd.read_sql(
    sql,?#需要使用的sql語句或者數據表
    con,?#sqlalchemy連接引擎名稱
    index_col?=?None,?#將被用作索引的名稱
    columns?=?None?#當sql參數使用的是表名稱是,指定需要讀入的列,使用list提供
    )

    #?方法二:使用pd.read_sql_query?主要參數如下所示
    pd.read_sql(
    sql,?#完整的sql語句
    con,?#sqlalchemy連接引擎名稱
    index_col?=?None,?#將被用作索引的名稱
    columns?=?None?#當sql參數使用的是表名稱是,指定需要讀入的列,使用list提供
    )

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

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

    import?pandas?as?pd?
    from?sqlalchemy?import?create_engine
    eng?=?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
    #?輸入正確的數據庫新信息后,read_sql方法返回的是我們熟悉的數據框結構,可以方便瀏覽數據,如需查看匯總信息,修改sql語句即可。

    (點擊可查看大圖)

    #?read_sql()方法sql參數使用表名稱
    from?sqlalchemy?import?create_engine
    import?pandas?as?pd

    eng?=?create_engine("mysql+pymysql://zhangjian:ZhangJian*2018@118.190.000.111:3306/demo?charset=gbk")?
    data?=?pd.read_sql(sql?=?"category",con=eng)

    #?此方法會讀取指定表中的全部數據,如果表數據量比較大,會造成讀取數據慢,慎用。

    #?修改改數據庫密碼后重新連接數據庫
    #?如用戶名,密碼,數據庫名稱包含%?@等特殊字符串報錯如下所示:報錯關鍵信息1045
    eng?=?create_engine("mysql+pymysql://賬號:密碼@118.190.000.111:3306/demo?charset=gbk")?

    data?=?pd.read_sql(sql?=?'select?*?from?orderitem?limit?10',con=eng)
    data

    OperationalError??????????????????????????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:

    (點擊可查看大圖)

    #?用戶名,密碼,數據庫名稱包含特殊字符串報錯解決方法
    #?方法二:使用pymysql.connect()方法建立連接
    import?pymysql

    eng?=?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連接,讀入指定表名稱,會報錯,關鍵信息1064
    eng=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

    (點擊可查看大圖)

    使用.()方法讀取數據庫文件

    #?導入sql文件?使用官方文檔案例方法
    #導入數據庫模塊
    import?pymysql
    #?連接數據庫
    eng?=?pymysql.connect("118.190.000.111","zhangjian","ZhangJian*2018","demo"?)
    #?使用?cursor()?方法創建一個游標對象?cursor
    cursor?=?eng.cursor()
    #?編寫sql語句
    sql?=?"""
    select?*?from?orderitem?limit?10;
    """

    #?使用?execute()?方法執行?SQL?查詢
    cursor.execute(sql)
    #?使用?fetchall()?方法獲取所有數據.
    data?=?cursor.fetchall()
    #?關閉數據庫連接
    eng.close()
    #?返回元組
    data
    #?返回信息包括數據類型等數據列信息

    (點擊可查看大圖)

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

    04 讀入數據庫文件方法總結

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

    End.

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

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

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