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