【數據驅動】python之mysql的操做

一、準備工做

  在本篇中,咱們使用python版本爲python3.7。在python3中,鏈接mysql數據庫咱們須要使用pymysql這個第三方庫。咱們能夠直接使用pip命令來安裝,安裝的命令爲:python

pip install PyMySQL

  若是在你的環境中同時存在python2和python3兩個版本,那麼咱們須要安裝python3版本的時候就能夠使用mysql

pip3 install PyMySQL

 

二、鏈接數據庫

  在作好準備工做後,咱們就能夠開始使用pymysql這個第三方庫進行鏈接mysql了sql

1 import pymysql 2 
3 '''鏈接數據庫,咱們直接調用connect這個函數,須要在該函數中傳入數據庫的鏈接信息,如 4  數據庫的IP地址、帳號、密碼和數據庫的名稱'''
5 conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', db='test')

2.1 python鏈接mysql後執行插入語句

 1 import pymysql  2 
 3 '''鏈接數據庫,咱們直接調用connect這個函數,須要在該函數中傳入數據庫的鏈接信息,如  4  數據庫的IP地址、帳號、密碼和數據庫的名稱'''
 5 def connMysql():  6     try:  7         conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', db='test')  8         return conn  9     except: 10         return '鏈接失敗'
11 
12 '''操做mysql往數據庫中插入一條數據'''
13 def insertOne(): 14     '''在成功鏈接mysql以後,咱們須要創建一個遊標,只有創建成功了遊標,才能夠對mysql進行操做'''
15     conn = connMysql() 16     cur = conn.cursor() 17     sql = 'INSERT INTO tab_user VALUES (%s, %s)'
18     params = (1, 'admin') 19     '''使用excute函數將須要查詢的sql和變量傳入'''
20  cur.execute(sql, params) 21  conn.commit() 22     '''在操做完數據庫以後,咱們須要關閉遊標和鏈接對象,不然鏈接池會被佔滿'''
23  cur.close() 24  conn.close() 25 
26 '''操做mysql插入多條數據'''
27 def insertMany(): 28     conn = connMysql() 29     cur = conn.cursor() 30     sql = 'INSERT INTO tab_user VALUES (%s, %s)'
31     params = [(2, '張三'), (3, '李四')] 32     '''使用executemany函數將須要查詢的sql和變量傳入'''
33  cur.executemany(sql, params) 34  conn.commit() 35     '''在操做完數據庫以後,咱們須要關閉遊標和鏈接對象,不然鏈接池會被佔滿'''
36  cur.close() 37     conn.close()

2.2 python鏈接mysql後執行查詢語句

 1 import pymysql  2 
 3 '''鏈接數據庫,咱們直接調用connect這個函數,須要在該函數中傳入數據庫的鏈接信息,如  4  數據庫的IP地址、帳號、密碼和數據庫的名稱'''
 5 def connMysql():  6    try:  7       #conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', db='test')
 8       conn = pymysql.connect(host='10.66.132.42', user='cdb_outerroot', passwd='@09ui%sbc09', db='gic_marketing')  9       return conn 10    except: 11       return '鏈接失敗'
12       
13 '''查詢一條數據'''
14 def get_one(): 15     conn = connMysql() 16     cur = conn.cursor() 17     sql = "SELECT * FROM tab_user WHERE id = %s"
18     params = (2,) 19  cur.execute(sql, params) 20     '''查詢只有一條數據的時候使用fetchone()'''
21     result = cur.fetchone() 22  cur.close() 23  conn.close() 24     return result 25 
26 '''查詢全部數據'''
27 def get_All(): 28     conn = connMysql() 29     cur = conn.cursor() 30     sql = "SELECT * FROM tab_gic_coup_card"
31  cur.execute(sql) 32     '''須要查詢全部數據的時候應該使用fetchall()'''
33     result = cur.fetchall() 34     #db = [item for item in result]
35  cur.close() 36  conn.close() 37     return result 38 
39 '''查詢部分數據'''
40 def get_Many(): 41     conn = connMysql() 42     cur = conn.cursor() 43     sql = "SELECT * FROM tab_gic_coup_card WHERE card_name like %s"
44     params = ('%測試') 45  cur.execute(sql) 46     '''fetchmany()須要傳入變量來肯定查詢幾條數據,若是不傳入則默認只查詢一條'''
47     result = cur.fetchmany(2) 48     '''列表推倒式,在這裏就不作說明,也能夠不使用列表推倒式,直接return result'''
49     db = [item for item in result] 50  cur.close() 51  conn.close() 52     return db

修改和刪除就不在此說明,可參考「2.1 python鏈接mysql後執行插入語句「的代碼數據庫

相關文章
相關標籤/搜索