python mysqldb安装_Flask干货:访问数据库——Python数据库框架MySQLPython
上一次我們學會了數據庫安裝,但只是安裝好沒教大家怎么使用!
嘿,別擔心,這不有我呢嘛。
今天就由我給大家介紹介紹框架MySQL-Python。
01MySQL-Python安裝
框架也是庫,所以跟其他庫安裝一樣,在虛擬環境下輸入
pip install pymysql進行安裝,如果安裝不成功,試試鏡像安裝:
pip install –i https://pypi.tuna.tsinghua.edu.cn/simplepymysql安裝好以后就能通過python操作數據庫了。
02通過Python操作數據庫對象
1、創建MySQL連接對象
開啟MySQL自帶命令行,輸入命令create database wuhao; 創建名為“wuhao”的數據庫,并用命令?show databases; 查看。
創建數據庫成功后,我們相當于擁有一個倉庫啦,但里面還啥都沒有,沒有分區、沒有貨物、沒有標號… …啥都沒有,所以還要建立一張表,相當于在倉庫分個區。
先用命令 use wuhao; 切換到數據庫下,表示你已經進入到倉庫里面了;再用命令 create table user(username varchar(30), email varchar(50)); 創建名為“user”的表格和username、email字段,表示你在倉庫中劃分出一個區域,同時在區域內又分成多個小格用來存放指定貨物。
萬事俱備,可以往倉庫搬貨嘍!
使用命令 insert into user values (‘No5Programmer’, ‘123456789@qq.com’); 添加測試數據,并用命令select * from user; 查看,結果如圖:
然后新建app.py文件,內容如下:
from flask import Flaskimport pymysqlpymysql.install_as_MySQLdb()app = Flask(__name__)conn = pymysql.Connect( host = '127.0.0.1', port = 3306, user = 'root', passwd = 'root', db = 'wuhao', charset = 'utf8')使用import導入pymysql,然后建立數據庫連接對象conn。參數說明如下:
user:登錄數據庫的用戶名,該參數不能為空
passwd:錄數據庫的密碼,該參數可以為空
db:連接的數據庫的名稱,該參數不能為空
charset:字符集編碼,注意不加“-”,該參數不能為空
Python建立與數據的連接,事實上是建立一個MySQLdb.connect()的連接對象,通過連接對象就能和數據庫進行數據交互。常用的方法有下面4種:
cursor():創建游標對象并返回
commit():提交當前事務操作,對數據庫的增、刪、改、查先保存到緩存里,當執行此方法時再提交給數據庫
rollback():回滾當前事務操作,取消前面操作
close():關閉數據庫連接
2、獲取游標對象
建立連接后,操作數據庫就需要讓Python對數據庫執行SQL語句。
想象一下,現在是程序自己在用鼠標點擊目標文件,所以首要任務是先找到游標,獲得游標對象。
cursor = conn.cursor()sql = "select * from user"cursor.execute(sql)上面的第一行代碼就獲取了游標,然后用execute()操作。
3、獲取所有記錄列表
在上面代碼的基礎上繼續編寫:
results = cursor.fetchall()for row in results: username = row[0] email = row[1] print("emial=%s, username=%s" % (email, username))cursor.close()conn.close()可以看出,程序在遍歷user表格中的數據并進行打印。除了代碼中用到的方法,cursor對象還支持下列方法:
execute():用于執行一個數據庫的查詢命令
fetchone():獲取結果集中的下一行
fetchmany(size):獲取結果集中的下(size)行
fetchall():獲取結果集中剩下的所有行
rowcount():最近一次執行數據庫查詢命令后,返回數據的行數
close():關閉游標
實戰
完整的app.py代碼如下:
from flask import Flaskimport pymysqlpymysql.install_as_MySQLdb()app = Flask(__name__)conn = pymysql.Connect( host = '127.0.0.1', port = 3306, user = 'root', passwd = 'root', db = 'wuhao', charset = 'utf8')cursor = conn.cursor()sql = "select * from user"cursor.execute(sql)results = cursor.fetchall()for row in results: username = row[0] email = row[1] print("emial=%s, username=%s" % (email, username))cursor.close()conn.close()@app.route('/')def index(): return 'Hello World!'if __name__ == '__main__': app.run()運行后可以看到如下結果:
成功!因為用的print(),所以是在命令行打印。
04這次的內容主要是學習如何連接數據庫,關鍵點在于獲取游標對象,有游標才能控制,就像我們自己在操作一樣。
下一次將說說如何更新數據,對數據庫進行增、刪、改、查。
你確定不關注我一波?
- END -總結
以上是生活随笔為你收集整理的python mysqldb安装_Flask干货:访问数据库——Python数据库框架MySQLPython的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: laravel 分词搜索匹配度_DSSM
- 下一篇: linux cmake编译源码,linu