Mysql入門筆記(1): python——SQL基本使用

  終於學到數據庫操作了,這意味着什麼?以後再也不用從文件裏讀寫數據了,過程實在太複雜了~~~爲了紀念這個激動人心的時刻,一定要寫一篇博客!

使用mysql數據庫——增

  插入一條數據

   

  首先,還是先解釋一下如何使用數據庫,按照上面的方法就可以連接數據庫了。這裏要解釋兩件事情。

  1.執行sql語句返回的reCount是什麼?

  這個recount不是我們執行sql的時候查出的內容,而是,明白了吧,就是這樣,喵~~~

  2.cur是什麼?

  這裏的cur指的是遊標。遊標是映射在結果集中一行數據上的位置實體,有了遊標,用戶就可以訪問結果集中的任意一行數據了,將遊標放置到某行後,即可對該行數據進行操作。然而這些都是mysql內部的事情了,我們只需要知道要寫上這麼兩句話,在執行sql語句前實例化一個遊標對象,並在執行完sql語句提交後,關掉這個遊標就好了。

  批量插入數據

  

  對就是這麼簡單,參數換成列表,方法換成executemany,搞定!需要注意的是那個佔位符類似物:%s,要記得list裏有幾個元素就寫幾個。

  cur.lastrowid和conn.insert_id():

    cursor.lastrowid:最後一條記錄的主鍵ID

    conn.insert_id():最新插入記錄的主鍵ID

    網上說:結果一般情況下是一樣的,最後一條記錄肯定就是剛剛插入的記錄。但如果是併發插入就不一樣了。自己起了多線程,也並沒有發現什麼。。。如果有小夥伴知道,歡迎指教~~~上面兩個方法需要注意的是一定要在conn.commit()之前執行。否則只會返回0。這兩個方法也只能返回本次conn連接中插入數據的信息,放在select之後是不好用的哦!

使用mysql數據庫——刪、改

     

  

  刪除操作和修改操作與插入操作唯一的不同就是——sql不同。。。還要怎麼簡單!!!

使用mysql數據庫——查

  在python的MySQLdb模塊中,有三個查找方法,fetchone,fetchmany和fetchall。常用的只有fetchall。需要注意的是,fetch的結果默認返回tuple。((item1,item2,...),(item1,item2,...)),第一層是行,第二層是列(也就是一行中的每一項)。當然可以修改返回值的格式。下面介紹~~~

  fetchone

  

  jiang~就是上面這樣,這個時候好像就知道遊標是怎麼一回事兒了吧?

  fetchmany

  

  爲什麼說fetchone,fetchonemany並沒有什麼用呢?我們看上面的方法,其實都是執行了一樣的sql,也就是說,我們其實是將所有的數據讀到了內存中,再從中選取我們需要的,但是這一步我們在寫sql的時候就可以做到了,讀到內存裏佔用了大量的內存空間,絕對得不償失~~~

  fetchall

  

  在最後補上修改返回結果格式爲dict的方法。這就是mysql的基本操作啦~~~

參考文獻:

  http://www.cnblogs.com/wupeiqi/articles/5095821.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章