SQLalchemy庫鏈接Mysql

必備依賴

Python使用SQLalchemy鏈接MySQL數據庫,需提前安裝 pymysql 庫,Python3使用pip命令進行安裝
pip intall pymysql, sqlalchemy

使用說明

  1. 鏈接數據庫前需提前進入MySQL,創建對應的數據庫,這裏以mydatabase爲例,進入MySQL創建數據庫
    mysql -u 用戶名 -p
    輸入密碼後,開始創建mydatabase庫
    create database mydatabase;
    創建完畢後,新建一個 connectsql.py 的文件用於鏈接數據庫
#導入對應的數據庫類型,用於創建模型
from sqlalchemy import String, Column, Integer
#導入基礎類
from sqlalchemy.ext.declarative import declarative_base
#導入鏈接相關函數(其實是我不知道是做什麼用的)
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

#實例化數據庫基礎類
base =  declarative_base()

#實例化一個學生類,裏面有序號和名字
class Student(base):
	__tablename__ = 'student'
	id = Column(Integer, primary_key=True)
	name = Column(String(30))

創建好類以後,綁定數據庫鏈接,進行初始化。sqlalchemy本質是把MySQL的表用類的形式表現出來,類的屬性即爲表的字段,每一個表的數據即是類的一個實例對象。需要讀寫數據庫時,只需要對類對象進行操作即可。在實例化之前必須先創建MySQL表!

#創建數據庫鏈接
engine = create_engine(db_url)
Student.metadata.create_all(engine)

鏈接數據庫後,通過model類直接創建對應表

#初始化一個session對象
session = sessionmaker(bind=engine)

session對象是數據庫使用中非常重要的一個對象,通過sessionmaker可以創建一個數據庫鏈接,將我們實例化的models對象添加進session,可以實現快速批量添加,這裏寫一個簡單的例子進行示範

#導入model
from model import Student
#初始化兩個實例對向
Tom=Student(name='tom')
Jerry=Student(name='jerry')
#將實例對象添加進session
session.add(Tom)
session.add(Jerry)
#session提交至數據庫
session.commit()
#結束鏈接
session.close()

至此已經將兩個數據添加進行數據庫了。爲了提高性能,可以多次add後集中進行commit,在所有數據commit結束後,使用close方法結束鏈接,一旦結束需要重新構建session

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章