sqlalchemy 對已存在的數據庫表格進行操作


import MySQLdb
import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine, Table, MetaData
conn=MySQLdb.connect(host="localhost",user="root",passwd="123456")
cur=conn.cursor()
db="test"
if cur.execute('show databases like %s',(db,)):
engine = create_engine("mysql+mysqldb://root:123456@localhost/%s?charset=utf8"%(db),encoding='utf-8')
else:
print("there is no database of %s"%(db))
exit()
Base = declarative_base() #生成orm基類
Session_class = sessionmaker(bind=engine) #創建與數據庫的會話session class ,注意,這里返回給session的是個class,不是實例
Session = Session_class() #生成session實例

metadata = MetaData()
teacher_1= Table('teacher_1', metadata, autoload=True, autoload_with=engine)
class_1= Table('class', metadata, autoload=True, autoload_with=engine)
course= Table('course', metadata, autoload=True, autoload_with=engine)

tables=engine.table_names()#顯示所有的表
print(tables)
Session.execute(teacher_1.insert(),{"tname":"angel"})#增加新數據
Session.execute(teacher_1.delete().where(teacher_1.c.tid==3))#刪除數據
Session.execute(teacher_1.update().where(teacher_1.c.tid==2).values(tname='wupeiqi'))#修改數據
teahcer_obj1=Session.execute(teacher_1.select().where(teacher_1.c.tid>1).where(teacher_1.c.tid<10))#查詢數據
teahcer_obj = Session.query(teacher_1).filter_by(tid=2).all()#查詢數據
print(teahcer_obj)
print(teahcer_obj1.fetchall())
Session.commit()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM