寫作原因:這篇文章將帶領讀者使用Python操作MySQL資料庫。在PHP和Python之間博主更傾向於Python,而後臺開發免不了要操作資料庫,所以就有了這篇文章。
安裝Python
鑑於上一篇關於Python的文章已經有關於Python安裝的介紹了,這裡就不花筆墨多說了。
安裝MySQL
MySQL介紹
MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於Oracle旗下產品。MySQL是一款優秀的開源產品,正是由於其開源性使其逐漸成為現今商業資料庫的主流選擇之一。
具體安裝流程(Win版)
由於博主目前只在Win平臺測試,所以這裡只介紹Win版的安裝流程。
首先下載mysql-5.6.33-winx64( 下載地址 ),mysql5.7以上版本在安裝的過程中會出現一些問題,所以本人選擇了5.6版本。安裝的過程一直下一步就行;
然後配置系統環境變量。找到「系統-高級系統設置-環境變量」,在Path的最後加上資料庫內的bin文件夾目錄如「;D:mysql-5.6.33-winx64in」(注意一定要加分號);
到根目錄下打開my-default.ini文件,將「# basedir = …… # datadir = ……」修改為「basedir = D:mysql-5.6.33-winx64 datadir = D:mysql-5.6.33-winx64data」;
打開cmd(一定要管理員權限!)轉到「D:mysql-5.6.33-winx64in」目錄,輸入「mysqld -install」。等到出現「Service successfully installed.」之後就繼續輸入「net start mysql」。這樣mysql就啟動了。
使用pymysql包
下面就是正是使用Python來操作mysql的第一步了。打開cmd,直接輸入pip install PyMySql,等它安裝完畢就OK了,就是這麼簡單。
利用Mysql WorkBench可視化資料庫
對於資料庫,如果用命令行的話有時可能會比較麻煩,這時可以考慮使用GUI界面代替CLI。官方提供了MySql WorkBench( 點擊下載 )。使用WorkBench我們可以輕易地查看本地資料庫的一些狀態、資料庫的操作等等,具體使用不多說了,這裡只說一下新建資料庫和數據表。點擊圖標欄第四個圖標(create a new schema in the connected server),設置好相關參數就可以創建資料庫。在Schema工具欄中,選擇你要添加表的資料庫,右鍵Tables選擇「Create Table」,寫好欄位和數據類型,即可完成數據表的創建。
實現基本的資料庫的增刪改查
下面開始寫代碼。
具體代碼如下:
import pymysql
def connDB():
#連接資料庫
conn=pymysql.connect(host='localhost',user='root',passwd='',db='first')
cur=conn.cursor()
return (conn,cur)
def exeUpdate(conn,cur,sql):
#更新語句,可執行Update,Insert語句
sta=cur.execute(sql)
conn.commit()
return (sta)
def exeDelete(conn,cur,IDs):
#刪除語句,可批量刪除
for eachID in IDs.split(' '):
sta=cur.execute('delete from students where Id=%d'%int(eachID))
conn.commit()
return (sta)
def exeQuery(cur,sql):
#查詢語句
cur.execute(sql)
result = cur.fetchone()
return (result)
def connClose(conn,cur):
#關閉所有連接
cur.close()
conn.close()
conn = connDB()[0]
cur = connDB()[1]
exeUpdate(conn,cur,"INSERT INTO first_note (idfirst_note, note_title , note_content ) VALUES (0,'Title','This is the content');")
print(exeQuery(cur,"SELECT note_title ,note_content FROM first_note;"))
connClose()
這裡有幾個地方說明一下:
創建:
我們通過conn=pymysql.connect(host='localhost',user='root',passwd='',db='first') 方法獲取一個connection對象。
connection對象類似於數據操作過程中的管道,我們數據操作都是在connection之上進行的。(有過網絡編程經驗的朋友一下就理解了),然後再通過 cur=conn.cursor() 獲取遊標,遊標對象則類似於管道中的載體,進行數據的傳送。有了cur我們才能直接操作資料庫。
增刪查改:代碼中我們把增刪查改分成四個函數,事實上這四個操作都是調用cur.execute()進行的,也就是直接使用SQL語言進行資料庫操作。如果有必要我們應該對它們再次封裝便於使用。具體代碼看上面。
關閉:最後我們使用 cur.close() conn.close() 分別關閉遊標和connection對象,這樣就結束了一次數據操作。
總結
這篇文章搭建的是win平臺下的本地資料庫,關於Linux平臺的及遠程資料庫的相關操作類似。此外環境配完了更重要的是學習掌握SQL語言和最大程度運用Python寫出優秀的代碼。就這樣啦~
點讚 0