• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • DC學院數據分析師(入門)學習筆記----利用python操作MySQL數據庫



    安裝pymysql




    原理介紹:

    使用pymysql指令來連接數據庫


    host:要連接的數據庫的IP地址,如果是遠程的,這里指定遠程的ip地址
    user登錄的賬戶名,如果登錄的是最高權限賬戶則為root
    password對應的密碼
    db要連接的數據庫的名稱,如需要訪問存儲的IRIS數據庫,則輸入'IRIS'
    charset設置編碼格式,如utf8mb4就是一個編碼格式
    cursorclass返回到Python的結果,以什么方式存儲,如Dict.Cursor是以字典的方式存儲


    try:
        #從數據庫鏈接中得到cursor的數據結構
        with connection.cursor() as cursor:
        #在之前建立的user表格基礎上,插入新數據,這里使用了一個預編譯的小技巧,避免每次都要重復寫sql的語句
            sql="INSERT INTO `USERS`(`email`,`password`) VALUES (%s,%s)"
            cursor.execute(sql,('[email protected]','very_secret'))
        #執行到這一行指令時才是真正改變了數據庫,之前只是緩存在內存中
        connection.commit()
    


    調用數據:查詢[email protected]郵箱的密碼

                    with connection.cursor() as cursor:
            		sql = "SELECT `id`,`password` FROM `user` WHERE `email`=%s"
            		cursor.execute(sql,('[email protected]',))
            		#只取出一條結果
            		result=cursor.fetchone()
           		        print(result)
    #最后別忘了關閉連接
    finally:
        connection.close()
    


    完整版:


    COMMIT:

       commit之后,insert,update操作才真正進入數據庫。因為commit是對一個物理數據盡心給一個真實的修改,所以它對數據庫的資源消其實是相對比較大的。所以比較頻繁的commit會很大地降低數據插入的效率。所以,當我們需要插入成千上萬的數據的話,通常我們會選擇在幾百或者幾千條數據之后,我們再進行一個統一的commit,這樣,效率也會相對高一些;

       mysql有一個autocommit選項。如果我們把這個選項打開之后,我們每一次進行一個insert操作或者update操作,都會在操作之后自動觸發commit操作,但在pymysql中,這個選項是默認沒被開啟的,如果大家希望開啟,我們可以在pymysql.connect的db參數后面,加一個autocommit=True參數這樣的話,我們在insert或者update之后,就不需要專門的commit。





    ========================我是分割線================================


    示例:利用python對iris_id這個數據表進行操作。

    #作用:查詢id為3的行
    
    import pymysql.cursors
    
    
    #使用pymysql指令來連接數據庫
    connection=pymysql.connect(host='localhost',
                               user='root',
                               password='1994929',
                               db='iris')
    
                               
    try:
                               
        with connection.cursor() as cursor:
            sql= " SELECT * FROM `iris_id` WHERE `id`=%s"#注意上方的小點兒,這個在鍵盤上數字1的左邊
            cursor.execute(sql,('3',))#查詢id是3的記錄
            result=cursor.fetchone()
            print(result)
    finally:
        connection.close()
    



        在heidisql中執行同樣的sql語句,結果是一樣的:




        也可以指定dictionary的cursor:






    版權聲明:本文為sgfmby1994原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/sgfmby1994/article/details/77892956

    智能推薦

    數據分析師社招筆記

    一、AB-test 1、定義:為同一個目標制定兩個方案,在同一時間維度,分別讓組成成分相同(相似)的用戶群組隨機的使用一個方案,收集各群組的用戶體驗數據和業務數據,最后根據顯著性檢驗分析評估出較好的方案。 2、補充概念: 顯著性檢驗(significance test):事先對總體隨機變量的參數或總體分布形式做出一個假設,然后利用樣本信息來判斷這個假設(備擇假設)是否合理,即判斷總體的真實情況與原...

    Python數據分析師該如何選擇IDE

    導讀 python是絕大多數數據分析師的必備工具之一,而一個好的IDE對于提高代碼效率來說則至關重要。今天,僅就個人使用IDE的選擇和習慣做以分享。 文章來源:小數志 作者:luanhz 01 CMD CMD嚴格來講并不是IDE,而僅僅是提供了運行python語句的shell環境。個人常用CMD完成的工作包括: 安裝第三方工具包 簡單的python語法測試 同時,進入python shell又區分...

    hadoop for 數據分析師

    hadoop的核心有兩個東西: HDFS Map Reduce運算模型 HDFS 什么是HDFS,有什么用? hadoop集群的文件系統,說白了就是存儲數據的地方,hadoop是一個集群,很多臺機器,我們要用它來跑數就先得把數據給它,最常見的就是數據文件的格式,例如txt或者csv之類的,然后它運算完之后的結果肯定也得寫到文件里面去(大數據的運算查詢不可能把結果全部放在顯示器上顯示的,放不下也)。...

    # 第一周數據分析師思維學習筆記

    一,前言 思維缺失—造成“不知道,不確定“(問題發生沒?問題在哪里?為什么?不確定對不對?不確定執行結果?不知道老板是否滿意給不給加薪?。。。。) 要擁有三種核心思維: 1.結構化 2.公式化 3.業務化 數據分析思維7大技巧: 1.象限法 2.多維法 3.假設法 4.指數法 5.二八法則 6.對比法 7.漏斗法 在業務時間鍛煉分析能力—-好奇心 二...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    猜你喜歡

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    精品国产乱码久久久久久蜜桃不卡