摘要:如何快速創建一個簡單的MySQL數據庫;使用PyMySQL庫操作MySQL。
*寫在前面:為了更好的學習python,博主記錄下自己的學習路程。本學習筆記基于廖雪峰的Python教程,如有侵權,請告知刪除。歡迎與博主一起學習Pythonヽ( ̄▽ ̄)? *
目錄
數據庫
使用MySQL
使用PyMySQL
數據庫
使用MySQL
MySQL是Web世界中使用最廣泛的數據庫服務器,能承受高并發訪問,同時占用的內存也遠遠大于SQLite。
創建一個簡單的數據庫
通過上面提供的網址,下載并安裝MySQL。
安裝成功后,在命令提示符中輸入命令(這里用的是Windows系統):
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
路徑為安裝MySQL的路徑。
然后啟動MySQL服務:
net start mysql80
由于安裝的版本為8.0,所以這里輸入的是mysql80
。
然后輸入下面命令,進入MySQL:
mysql -u root -p
之后會提示輸入密碼,這是密碼是在安裝MySQL時設置的。
如果出現下面的提示,則表示成功進入MySQL:
接下來創建一個名為test的數據庫:
mysql> create database test
Query OK, 1 row affected (0.10 sec)
進入test數據庫:
mysql> use test
Database changed
在test數據庫中創建一個名為user的數據庫表:
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
內,我們創建了id
,name
,score
三行數據表,其中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)
至此,我們創建了一個簡單的數據庫。關于MySQL的更多操作,這里不做介紹。
接下來我們看看如何通過Python操作MySQL
使用PyMySQL
PyMySQL是Python中用于連接MySQL服務器的一個庫。
我們通過PyMySQL來連接MySQL。
在命令提示符中通過pip命令安裝:
pip install pymysql
安裝完成后,就可以使用了。
我們引入PyMySQL模塊,然后建立與MySQL的連接和游標:
>>> import pymysql
>>> conn = pymysql.connect('localhost','root','','test')
>>> cursor = conn.cursor()
connect()
方法需要輸入四個參數,依次為連接地址,用戶名,密碼,數據庫名。
這里請確保已經開啟MySQL服務,并且已創建了數據庫test。
然后我們就可以進行相關操作了,如添加數據:
>>>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()
查詢數據:
>>>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十分類似。
進行相關操作之后,記得關閉連接。
以上就是本節的全部內容,感謝你的閱讀。
下一節內容:數據庫之 使用SQLAlchemy
有任何問題與想法,歡迎評論與吐槽。
和博主一起學習Python吧( ̄▽ ̄)~*