python操做mysql數據庫系列-操做MySql數據庫(四)

本篇咱們主要對mysql的查詢進行講解。查詢在數據庫中的應用是最爲普遍的,好比單表查詢、多表查詢、子查詢、分組查詢等等、接下來重點了解一下python結合mysql是如何實現查詢的?python

首先咱們來看對單條數據的查詢:mysql

def select(): '''查詢語句''' con = conn() # 建立遊標 cur = con.cursor() sql = "select * from USER WHERE id=%s"
    params = (1,) cur.execute(sql,params) # 執行語句 data = cur.fetchone() print (data) cur.close() # 關閉遊標鏈接池 con.close() # 關閉數據庫鏈接池 select()
  • params接受的是一個元祖,因此後面須要加逗號消除歧義。1表明的是查詢id=1的數據,至關因而過濾的動做。
  • fetchone()方法用於查詢動做

查詢後的結果以下:sql

C:\Python27\python2.exe D:/project/JieKou/page/mysqTests.py (1L, 'fighter', 'admin', 'sanpang') Process finished with exit code 0

1L咱們能夠把它忽略,不須要考慮。接下來咱們實現對多條數據,也就是批量數據的查詢是如何操做的???數據庫

def selectMany(): '''查詢語句''' con = conn() # 建立遊標 cur = con.cursor() sql = "select * from USER" cur.execute(sql) # 執行語句 data = cur.fetchall() for item in data: print (item) cur.close() # 關閉遊標鏈接池 con.close() # 關閉數據庫鏈接池 selectMany()
  • 1.查詢全部數據就不須要過濾條件where了,直接select * from user;
  • 2.fetchall()方法用於查看全部的數據
  • 3.for循環遍歷全部的數據

查看查詢後的結果:fetch

C:\Python27\python2.exe D:/project/JieKou/page/mysqTests.py (1L, 'fighter', 'admin', 'sanpang') (2L, 'fighter01', 'admin', 'sanpang') (3L, 'fighter02', 'admin', 'sanpang')

截圖結果:spa

而後咱們對數據進行修改操做:3d

def update(): '''查詢語句''' con = conn() # 建立遊標 cur = con.cursor() sql = "update user set username=%s WHERE id=%s"
    params = ('haha',2) cur.execute(sql,params) # 執行語句 con.commit() cur.close() # 關閉遊標鏈接池 con.close() # 關閉數據庫鏈接池 update()
  • 1. %s是通配符 
  • 2.haha是對應的username修改後的值  2對應的是id=2的數據
  • 3.commit必定要作,否則修改失敗。

修改後的結果以下:code

在對數據進行刪除操做:blog

def delete(): '''查詢語句''' con = conn() # 建立遊標 cur = con.cursor() sql = "delete from USER where id=%s"
    params = (1,) cur.execute(sql,params) # 執行語句 con.commit() #必定要執行 cur.close() # 關閉遊標鏈接池 con.close() # 關閉數據庫鏈接池 delete()

刪除結果以下:it

ok,mysql的查詢和修改、刪除的場景咱們就演示完了,,,,,

相關文章
相關標籤/搜索