Python操作MySQL基本環(huán)境搭建及增刪改查實現(xiàn)

** 寫作原因:這篇文章將帶領讀者使用Python操作MySQL數(shù)據(jù)庫。在PHP和Python之間博主更傾向于Python,而后臺開發(fā)免不了要操作數(shù)據(jù)庫臭家,所以就有了這篇文章疲陕。 **


安裝Python

鑒于上一篇關于Python的文章已經(jīng)有關于Python安裝的介紹了,這里就不花筆墨多說了钉赁。

安裝MySQL

MySQL介紹

MySQL是一個關系型數(shù)據(jù)庫管理系統(tǒng)蹄殃,由瑞典MySQL AB 公司開發(fā),目前屬于Oracle旗下產品你踩。MySQL是一款優(yōu)秀的開源產品诅岩,正是由于其開源性使其逐漸成為現(xiàn)今商業(yè)數(shù)據(jù)庫的主流選擇之一。

具體安裝流程(Win版)

由于博主目前只在Win平臺測試带膜,所以這里只介紹Win版的安裝流程吩谦。

  1. 首先下載mysql-5.6.33-winx64(下載地址),mysql5.7以上版本在安裝的過程中會出現(xiàn)一些問題,所以本人選擇了5.6版本膝藕。安裝的過程一直下一步就行式廷;

  2. 然后配置系統(tǒng)環(huán)境變量。找到“系統(tǒng)-高級系統(tǒng)設置-環(huán)境變量”芭挽,在Path的最后加上數(shù)據(jù)庫內的bin文件夾目錄如“;D:\mysql-5.6.33-winx64\bin”(注意一定要加分號)滑废;

  3. 到根目錄下打開my-default.ini文件,將“# basedir = …… # datadir = ……”修改為“basedir = D:\mysql-5.6.33-winx64 datadir = D:\mysql-5.6.33-winx64\data”袜爪;

  4. 打開cmd(一定要管理員權限H涑谩)轉到“D:\mysql-5.6.33-winx64\bin”目錄,輸入“mysqld -install”饿敲。等到出現(xiàn)“Service successfully installed.”之后就繼續(xù)輸入“net start mysql”妻导。這樣mysql就啟動了。

使用pymysql包

下面就是正是使用Python來操作mysql的第一步了怀各。打開cmd倔韭,直接輸入pip install PyMySql,等它安裝完畢就OK了瓢对,就是這么簡單寿酌。

利用Mysql WorkBench可視化數(shù)據(jù)庫

對于數(shù)據(jù)庫,如果用命令行的話有時可能會比較麻煩硕蛹,這時可以考慮使用GUI界面代替CLI醇疼。官方提供了MySql WorkBench(點擊下載)。使用WorkBench我們可以輕易地查看本地數(shù)據(jù)庫的一些狀態(tài)法焰、數(shù)據(jù)庫的操作等等秧荆,具體使用不多說了,這里只說一下新建數(shù)據(jù)庫和數(shù)據(jù)表埃仪。點擊圖標欄第四個圖標(create a new schema in the connected server)乙濒,設置好相關參數(shù)就可以創(chuàng)建數(shù)據(jù)庫。在Schema工具欄中,選擇你要添加表的數(shù)據(jù)庫颁股,右鍵Tables選擇“Create Table”么库,寫好字段和數(shù)據(jù)類型,即可完成數(shù)據(jù)表的創(chuàng)建甘有。

實現(xiàn)基本的數(shù)據(jù)庫的增刪改查

下面開始寫代碼诉儒。
具體代碼如下:

import pymysql
def connDB():
    #連接數(shù)據(jù)庫
    conn=pymysql.connect(host='localhost',user='root',passwd='',db='first')
    cur=conn.cursor()
    return (conn,cur)

def exeUpdate(conn,cur,sql):
    #更新語句,可執(zhí)行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()

這里有幾個地方說明一下:
創(chuàng)建:我們通過conn=pymysql.connect(host='localhost',user='root',passwd='',db='first')方法獲取一個connection對象。connection對象類似于數(shù)據(jù)操作過程中的管道幌氮,我們數(shù)據(jù)操作都是在connection之上進行的缭受。(有過網(wǎng)絡編程經(jīng)驗的朋友一下就理解了),然后再通過cur=conn.cursor()獲取游標该互,游標對象則類似于管道中的載體米者,進行數(shù)據(jù)的傳送。有了cur我們才能直接操作數(shù)據(jù)庫宇智。

增刪查改:代碼中我們把增刪查改分成四個函數(shù)蔓搞,事實上這四個操作都是調用cur.execute()進行的,也就是直接使用SQL語言進行數(shù)據(jù)庫操作随橘。如果有必要我們應該對它們再次封裝便于使用喂分。具體代碼看上面。

關閉:最后我們使用cur.close() conn.close()分別關閉游標和connection對象机蔗,這樣就結束了一次數(shù)據(jù)操作蒲祈。

總結

這篇文章搭建的是win平臺下的本地數(shù)據(jù)庫,關于Linux平臺的及遠程數(shù)據(jù)庫的相關操作類似萝嘁。此外環(huán)境配完了更重要的是學習掌握SQL語言和最大程度運用Python寫出優(yōu)秀的代碼梆掸。就這樣啦~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市牙言,隨后出現(xiàn)的幾起案子酸钦,更是在濱河造成了極大的恐慌,老刑警劉巖咱枉,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卑硫,死亡現(xiàn)場離奇詭異,居然都是意外死亡蚕断,警方通過查閱死者的電腦和手機欢伏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亿乳,“玉大人颜懊,你說我怎么就攤上這事。” “怎么了河爹?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長桐款。 經(jīng)常有香客問我咸这,道長,這世上最難降的妖魔是什么魔眨? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任媳维,我火速辦了婚禮,結果婚禮上遏暴,老公的妹妹穿的比我還像新娘侄刽。我一直安慰自己,他們只是感情好朋凉,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布州丹。 她就那樣靜靜地躺著,像睡著了一般杂彭。 火紅的嫁衣襯著肌膚如雪墓毒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天亲怠,我揣著相機與錄音所计,去河邊找鬼。 笑死团秽,一個胖子當著我的面吹牛主胧,可吹牛的內容都是我干的。 我是一名探鬼主播习勤,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼踪栋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了姻报?” 一聲冷哼從身側響起己英,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吴旋,沒想到半個月后损肛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡荣瑟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年治拿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笆焰。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡劫谅,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情捏检,我是刑警寧澤荞驴,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站贯城,受9級特大地震影響熊楼,放射性物質發(fā)生泄漏。R本人自食惡果不足惜能犯,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一鲫骗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧踩晶,春花似錦执泰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晴楔,卻和暖如春顿苇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背税弃。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工纪岁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人则果。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓幔翰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親西壮。 傳聞我的和親對象是個殘疾皇子遗增,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容