Mysql
Python要想要訪問Mysql數據庫,事先需要安裝訪問Mysql所使用的第三方庫。根據Python版本的不同,所使用的第三方庫也不一樣:
- Python2:MySQLdb
- Python3:mysqlclient
mysqlclient是Mysqldb的優化版,增加了對Python3的支持和錯誤修復。這兩個庫的接口幾乎一樣,因此在不同版本的Python環境中,可以使用相同的代碼實現Mysql的訪問,這裏推薦大家使用Python3+mysqlclient來訪問Mysql數據庫。
使用pip命令安裝mysqlclient
pip install mysqlclient
下面來看下數據庫的一般操作流程:
1、連接Mysql數據庫
#方式一
import Mysqldb
db_conn = Mysqldb.connect(db="數據庫名",host="ip地址",user="用戶名",password="密碼",charset="utf8")
#方式二
import pymysql
db_conn = pymysql.connect(db="數據庫名",host="ip地址",user="用戶名",password="密碼",charset="utf8")
2、獲取操作遊標
db_cursor = db_conn.cursor()
3、執行sql語句
sql = 'show tables;'
db_cursor.execute(sql)
4、回滾
在對數據庫執行更新操作的過程中,如果遇到錯誤,可以使用rollback()方法將數據恢復到更新前的狀態。這就是所謂的原子性,即要麼完整地被執行,要麼完全不執行。
db_cursor.rollback()
5、提交數據
db_cursor.commit()
6、關閉遊標及數據庫
db_cursor.close()
db_conn.close()
MongoDB
Python想要訪問MongoDB數據庫事先需要安裝訪問MongoDB所使用的第三方庫pymongo,網上也提供了一個可視化工具MongoDB Compass.
pip install pymongo
操作數據庫的一般流程如下:
1、連接MongoDB數據庫服務器
import pymongo
#方式一:使用默認的host、port
db_client = pymongo.MongoClient()
#方式二:自定義host、port參數
db_client = pymongo.MongoClient(host="xxx",port = 27017)
#方式三:使用標準的URL連接語法
db_client = pymongo.MongoClient('mongodb://host:port/')
2、指定數據庫
MongoDB可以建立多個數據庫,因此需要指定要操作的數據庫。
#方式一
db = db_client['數據庫名']
#方式二
db = db_client.數據庫名
3、指定集合
MongoDB中的一個數據庫可以包含多個集合,這跟關係型數據庫中一個數據庫有多個表是一個道理。
db_collection = db['集合名']
如果指定的集合不存在,將會自動創建。
4、集合內的元素操作
插入文檔,每一個插入文檔對象都會分配一個唯一的_id字段爲主鍵。
#方式一:插入一條
res = db_collection.insert_one('字典類型')
#方式二:插入多條
res = db_collection.insert_many([dict1,dict2])
查詢文檔
#方式一:查詢符合條件的單個文檔
res = db_collection.find_one({'key','values'})
#方式二:查詢所有文檔
res = db_collection.find({})
#方式三“查詢符合條件的所有文檔
res = db_collection.find({'key','values'})
更新文檔
#查詢條件
filter = {"key":"value"}
#更新語句
updata = {"$set":{"key":"value"}}
#方式一:更新與條件匹配的單個文檔
res = db_collection.update_one(filter,update)
#方式二:更新與條件匹配的所有文檔
res = db_collection.update_many(filter,update)
刪除文檔
#方式一:刪除與條件匹配的單個文檔
res = db_collection.delete_one({'key':'value'})
#方式二:刪除與條件匹配的所有文檔
res = db_collection.delete_many({'key':'value'})
5、關閉數據庫
db_client.close()
Redis
Python想要訪問Redis數據庫,必須安裝訪問Redis數據庫所需要的第三方庫redis,此處寫過。