python——SQL基本使用

  今天要來講說數據庫操做了,這意味着什麼?之後不再用從文件裏讀寫數據了,過程實在太複雜了~~~驚不驚喜?html

使用mysql數據庫——增python

  插入一條數據mysql

   

  首先,仍是先解釋一下如何使用數據庫,按照上面的方法就能夠鏈接數據庫了。這裏要解釋兩件事情。sql

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

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

  2.cur是什麼?併發

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

  批量插入數據線程

  

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

  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

相關文章
相關標籤/搜索