pyhton資料庫程式設計

2021-09-25 11:34:40 字數 2756 閱讀 4565

pip3 install sqlalchemy
2)連線資料庫

在sqlalchemy中,session用於建立程式與資料庫之間的會話。所有物件的載入和儲存都需要通過session物件

from sqlalchemy import create_engine, column, integer, smallinteger, string

from sqlalchemy.ext.declarative import declarative_base

from sqlalchemy.orm import sessionmaker

engine = create_engine("mysql+pymysql:",

encoding='utf8',

# echo=true

)# 建立快取物件

session = sessionmaker(bind=engine)

session = session()

# 宣告基類

base = declarative_base()

class person(base):

__tablename__ = 'persons'

id = column(integer, primary_key=true, autoincrement=true)

name = column(string(20), nullable=false)

email = column(string(30), unique=true)

def __repr__(self):

return self.name

if __name__ == '__main__':

# 建立資料表

base.metadata.create_all(engine)

執行程式可以看到在資料庫中建立了名為persons的表:

新增單條資料

# # 新增單條資料

p = person(id=1, name="sendoh", email='[email protected]')

# 先將資料寫入快取;

session.add(p)

# 將快取中的資料提交到資料庫並執行

session.commit()

執行程式,新增資料到表中:

新增多條資料

p1 = person(name='a')

p2 = person(name='b')

# 先將資料寫入快取;

session.add_all((p1, p2))

# 將快取中的資料提交到資料庫並執行

刪除資料:

obj = session.query(person).filter_by(name='b').first()

print(obj)

刪除name為b的資料

更新資料:

#更新資料: 更新姓名為b的郵箱為[email protected]

obj = session.query(person).filter_by(name='a').first()

obj.email = 'hello.qq.com'

session.add(obj)

session.commit()

更新name為a 的資料的email為hello.qq.com

二.redis程式設計

1.nosql簡介

nosql,全名為not only sql,指的是非關係型的資料庫

隨著訪問量的上公升,**的資料庫效能出現了問題,於是nosql被設計出來

2.優缺點

優點:高可擴充套件性 分布式計算 低成本

架構的靈活性,半結構化資料 沒有複雜的關係

缺點:沒有標準化

有限的查詢功能

最終一致是不直觀的程式

3.redis簡介

redis是乙個開源的使用ansi c語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫,並提供多種語言的api並提供多種語言的 api的非關係型資料庫。

4.redis持久化

redis 是乙個記憶體資料庫,與傳統的mysql,oracle等關係型資料庫直接將內容儲存到硬碟中相比,記憶體資料庫的讀寫效率比傳統資料庫要快的多(記憶體的讀寫效率遠遠大於硬碟的讀寫效率)。但是儲存在記憶體中也隨之帶來了乙個缺點,一旦斷電或者宕機,那麼記憶體資料庫中的資料將會全部丟失。

rdb是redis用來進行持久化的一種方式,是把當前記憶體中的資料集快照寫入磁碟,也就是 snapshot 快照(資料庫中所有鍵值對資料)。恢復時是將快照檔案直接讀到記憶體裡。

資料庫 資料庫程式設計二

標頭檔案 include include include include include include include ifdef cplusplus extern c endif 輔助方法實現 include pub.h 設定退格鍵不回顯 intset backkey 設定tremios的擦除字...

pyhton 連線資料庫及帶引數插入資料

前言 最近做專案要把新聞的標題,內容,鏈結提取出來,放入資料庫。花了2天半的時間弄這個,踩了一些坑,記錄下來。pymysql連線資料庫 開啟資料庫連線 db pymysql.connect 47.107.41.60 root 密碼 wisdomagriculture 使用cursor 方法獲取操作游...

php資料庫程式設計,php資料庫程式設計步驟

php有三種方式來操作mysql資料庫 1.mysql擴充套件庫 2.mysqli擴充套件庫 3.pdo mysql擴充套件庫和mysql資料庫的區別 mysql資料庫用於存放資料 mysql資料庫的三層結構示意圖 mysql擴充套件庫是一堆函式,是php設計者提供給程式設計師用於完成對mysql資...