zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    第一次作业 —— 【作业7】问卷调查
    讲座观后感
    学习进度表(随缘更新)
    数据结构与算法思维导图
    作业七问卷调查
    《创新者的逆袭,用第一性原理做颠覆式创新》读后感
    结对项目--四则运算生成器(Java) 刘彦享+龙俊健
    个人项目---WordCount实现(Java)
    自我介绍+软工五问
    简洁又快速地处理集合——Java8 Stream(下)
  • 原文地址:https://www.cnblogs.com/phoenix-mountain/p/13355683.html
Copyright © 2011-2022 走看看