91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python與數據庫的交互怎么實現

發布時間:2021-12-27 15:18:45 來源:億速云 閱讀:143 作者:iii 欄目:開發技術

本篇內容介紹了“Python與數據庫的交互怎么實現”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

MongoDB

安裝模塊pip install pymongo

連接數據庫

import pymongo
 
client = pymongo.MongoClient()
db = client["database_name"]  # 跟上數據庫名
collection = db["set_name"]  # 指定集合名

增刪改查

添加--->insert_one | insert_many

collection.insert_one({"name":"kongshang","age":12})

查找--->find | find_one

collection.find()

注意要用list轉換得到的數據

修改--->update_one | update_many

collection.update_one({"name":"kongshang"},{'$set':{"age":13}})

刪除--->delete_one | delete_many

collection.delete_one({"name":"kongshang"})

封裝

import pymongo
 
 
class MyMonDB:
    def __init__(self, database, collection):  # 數據庫及集合
        self.client = pymongo.MongoClient()  # 連接數據庫使用
        self.db = self.client[database]  # 指定使用的數據庫
        self.col = self.db[collection]  # 指定使用的集合
 
    def insert(self, data, onlyOne=True):  # onlyOne用來控制插入單條還是多條數據
        if onlyOne:
            self.col.insert_one(data)
        else:
            self.col.insert_many(data)
    
        def find(self, query=None, onlyOne=True):  # query是查詢條件
        if onlyOne:
            ret = self.col.find_one(query)
            return ret
        else:
            ret = self.col.find(query)
            return list(ret)
 
    def update(self, data_old, data_new, onlyOne=True):
        if onlyOne:
            self.col.update_one(data_old, {"$set": data_new})
        else:
            self.col.update_many(data_old, {"$set": data_new})
 
    def delete(self, data, onlyOne=True):
        if onlyOne:
            self.col.delete_one(data)
        else:
            self.col.delete_many(data)

注意該數據庫對大小寫敏感

MySQL

安裝模塊pip install pymysql

連接數據庫

import pymysql
# 連接mysql
db_config = {
    "host": "127.0.0.1",
    "port": 3306,
    "user": "admin",
    "password": "qwe123",
    "db": "stu",  # 指定操作的數據庫
    "charset": "utf8"
}
 
conn = pymysql.connect(**db_config)  # mysql登錄 **是字典拆包
print(conn)

執行操作

cur = conn.cursor()  # 返回一個執行數據庫命令游標對象,通過游標對象執行SQL命令
cur.execute("INSERT INTO stu (id, name) VALUES (1, 'nihao'),(2, 'ci')")  # 執行SQL命令執行插入命令
conn.commit()  # 事務,提交保存
cur.close()  # 關閉游標對象
conn.close()  # 關閉數據庫

查詢數據

cur.execute("SELECT * FROM stu")  # 執行SQL命令
# print(list(cur))
# print(cur.fetchone())  # 查詢單條
# print(cur.fetchmany(3))  # 查詢多條
print(cur.fetchall())  # 查詢所有

異常處理

try:
    cur.execute("INSERT INTO stu (id, name) VALUES (1, 'nihao'), (2, 'ci')")
except Exception as e:
    print(e)
    conn.rollback()  # 事務回滾
else:
    conn.commit()  # 事務提交
finally:
    cur.close()  # 關閉游標對象
    conn.close()  # 關閉數據庫

Redis

安裝模塊pip install redis

連接數據庫

import redis
 
# 登錄數據庫
# host ip地址
# decode_responses get獲得鍵值時 True返回字符串數據,默認是False二進制數據
# db 指定數據庫,默認為1
red = redis.StrictRedis(host="127.0.0.1", decode_responses=True, db=2)

執行操作

# 字符串
red.set("num", 1)
print(red.get("num"))
print(red.type("num"))
red.delete('num')
# 綜上,調用Redis數據庫的方法是red.[輸入redis數據庫操作命令]()

“Python與數據庫的交互怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

筠连县| 昭觉县| 金寨县| 永昌县| 沅陵县| 安远县| 左权县| 综艺| 体育| 常宁市| 体育| 宁都县| 沙坪坝区| 南城县| 略阳县| 辽中县| 镇巴县| 科技| 邮箱| 三河市| 吉林省| 呼伦贝尔市| 香格里拉县| 临西县| 甘孜| 彭水| 莎车县| 玉龙| 类乌齐县| 德钦县| 大新县| 安福县| 太和县| 城步| 揭东县| 夏邑县| 曲周县| 隆子县| 九江市| 贡嘎县| 金溪县|