摘要:如何快速創(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:
接下來創(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吧( ̄▽ ̄)~*