【Python入門】43.數(shù)據(jù)庫之 使用MySQL

摘要:如何快速創(chuàng)建一個簡單的MySQL數(shù)據(jù)庫菩佑;使用PyMySQL庫操作MySQL蓖捶。


*寫在前面:為了更好的學(xué)習(xí)python,博主記錄下自己的學(xué)習(xí)路程沛膳。本學(xué)習(xí)筆記基于廖雪峰的Python教程扔枫,如有侵權(quán),請告知刪除锹安。歡迎與博主一起學(xué)習(xí)Pythonヽ( ̄▽ ̄)? *


目錄

數(shù)據(jù)庫
使用MySQL
使用PyMySQL

數(shù)據(jù)庫

使用MySQL

MySQL是Web世界中使用最廣泛的數(shù)據(jù)庫服務(wù)器短荐,能承受高并發(fā)訪問,同時占用的內(nèi)存也遠(yuǎn)遠(yuǎn)大于SQLite叹哭。

創(chuàng)建一個簡單的數(shù)據(jù)庫

通過上面提供的網(wǎng)址忍宋,下載并安裝MySQL。

安裝成功后风罩,在命令提示符中輸入命令(這里用的是Windows系統(tǒng)):

cd C:\Program Files\MySQL\MySQL Server 8.0\bin

路徑為安裝MySQL的路徑糠排。

然后啟動MySQL服務(wù):

net start mysql80

由于安裝的版本為8.0,所以這里輸入的是mysql80超升。

然后輸入下面命令入宦,進(jìn)入MySQL:

mysql -u root -p

之后會提示輸入密碼,這是密碼是在安裝MySQL時設(shè)置的室琢。

如果出現(xiàn)下面的提示乾闰,則表示成功進(jìn)入MySQL:


數(shù)據(jù)庫2.png

接下來創(chuàng)建一個名為test的數(shù)據(jù)庫:

mysql> create database test
Query OK, 1 row affected (0.10 sec)

進(jìn)入test數(shù)據(jù)庫:

mysql> use test
Database changed

在test數(shù)據(jù)庫中創(chuàng)建一個名為user的數(shù)據(jù)庫表:

mysql> create table user(
    -> `id` int(11) NOT NULL AUTO_INCREMENT,
    -> `name` varchar(20) DEFAULT NULL,
    -> `score` int(10) NOT NULL,
    -> PRIMARY KEY (`id`)
    -> )ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
Query OK, 0 rows affected, 1 warning (0.12 sec)

user內(nèi),我們創(chuàng)建了id盈滴,name汹忠,score三行數(shù)據(jù)表,其中id為主鍵雹熬。

我們可以使用命令describe來查看:

mysql> describe user宽菜;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20) | YES  |     | NULL    |                |
| score | int(10)     | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

至此,我們創(chuàng)建了一個簡單的數(shù)據(jù)庫竿报。關(guān)于MySQL的更多操作铅乡,這里不做介紹。

接下來我們看看如何通過Python操作MySQL

使用PyMySQL

PyMySQL是Python中用于連接MySQL服務(wù)器的一個庫烈菌。

我們通過PyMySQL來連接MySQL阵幸。

在命令提示符中通過pip命令安裝:

pip install pymysql

安裝完成后花履,就可以使用了。

我們引入PyMySQL模塊挚赊,然后建立與MySQL的連接和游標(biāo):

>>> import pymysql
>>> conn = pymysql.connect('localhost','root','','test')
>>> cursor = conn.cursor()

connect()方法需要輸入四個參數(shù)诡壁,依次為連接地址,用戶名荠割,密碼妹卿,數(shù)據(jù)庫名。

這里請確保已經(jīng)開啟MySQL服務(wù)蔑鹦,并且已創(chuàng)建了數(shù)據(jù)庫test夺克。

然后我們就可以進(jìn)行相關(guān)操作了,如添加數(shù)據(jù):

>>>cursor.execute('drop table if exists user')          # 如果存在表user嚎朽,先刪除铺纽,即二次啟動。
0
>>>cursor.execute('create table user(id int primary key, name varchar(20),score int)')  
0
>>>cursor.execute(r"insert into user values(1,'Ming',100)")
1
>>>cursor.close()
>>>conn.commit()
>>>conn.close()

查詢數(shù)據(jù):

>>>conn = pymysql.connect('localhost','root','','test')
>>>cursor = conn.cursor()
>>> cursor.execute(r"select * from user where id = %s", (1))
1
>>> values = cursor.fetchall()
>>> values
((1, 'Ming', 100),)
>>>cursor.close()
>>>conn.close()

這里占位符用%s表示哟忍,與SQLite略有不同狡门。其他操作代碼與SQLite十分類似。

進(jìn)行相關(guān)操作之后锅很,記得關(guān)閉連接融撞。


以上就是本節(jié)的全部內(nèi)容,感謝你的閱讀粗蔚。

下一節(jié)內(nèi)容:數(shù)據(jù)庫之 使用SQLAlchemy

有任何問題與想法尝偎,歡迎評論與吐槽。

和博主一起學(xué)習(xí)Python吧( ̄▽ ̄)~*

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鹏控,一起剝皮案震驚了整個濱河市致扯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌当辐,老刑警劉巖抖僵,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異缘揪,居然都是意外死亡耍群,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進(jìn)店門找筝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹈垢,“玉大人,你說我怎么就攤上這事袖裕〔芴В” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵急鳄,是天一觀的道長谤民。 經(jīng)常有香客問我堰酿,道長,這世上最難降的妖魔是什么张足? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任触创,我火速辦了婚禮,結(jié)果婚禮上为牍,老公的妹妹穿的比我還像新娘哼绑。我一直安慰自己,他們只是感情好吵聪,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著兼雄,像睡著了一般吟逝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赦肋,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天块攒,我揣著相機(jī)與錄音,去河邊找鬼佃乘。 笑死囱井,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的趣避。 我是一名探鬼主播庞呕,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼程帕!你這毒婦竟也來了住练?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤愁拭,失蹤者是張志新(化名)和其女友劉穎讲逛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岭埠,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盏混,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了惜论。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片许赃。...
    茶點(diǎn)故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖馆类,靈堂內(nèi)的尸體忽然破棺而出图焰,到底是詐尸還是另有隱情,我是刑警寧澤蹦掐,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布技羔,位于F島的核電站僵闯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏藤滥。R本人自食惡果不足惜鳖粟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拙绊。 院中可真熱鬧向图,春花似錦、人聲如沸标沪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽金句。三九已至檩赢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間违寞,已是汗流浹背贞瞒。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留趁曼,地道東北人军浆。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像挡闰,于是被迫代替她去往敵國和親乒融。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容