參考:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320114981139589ac5f02944601ae22834e9c521415000mysql
# coding: utf-8 import pymysql pymysql.install_as_MySQLdb() from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, String, Integer Base = declarative_base() # 定義User對象: class BaaUser(Base): # 表的名字: __tablename__ = 'baa_user' # 表的結構: id = Column(String(20), primary_key=True) name = Column(String(20)) age = Column(Integer) work=Column(String(100)) def __str__(self): return 'User(id={}, name={}, age={}, work={})'.format(self.id, self.name, self.age, self.work) #鏈接數據庫 def getEngine(): engine = create_engine('mysql://root:123456@127.0.0.1/baa?charset=utf8') #print(engine) return engine def getSession(): engine = getEngine() Base.metadata.create_all(engine) Session = sessionmaker(bind=engine) session = Session() return session #建立 def createUser(): usr = BaaUser(id='05', name='ts', age=35, work="teacher") # session.add(usr) session=getSession() session.add(usr) try: session.commit() except Exception as e: session.rollback() raise e #查詢 def getUser(): # 建立Session: session = getSession() # 建立Query查詢,filter是where條件,最後調用one()返回惟一行,若是調用all()則返回全部行: user = session.query(BaaUser).filter(BaaUser.id == '03').one() # 打印類型和對象的name屬性: print('type:', type(user)) print('name:', user.name) # 關閉Session: session.close() # createUser() getUser()