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()
  • 相关阅读:
    利用delegate调试Ajax应用(转)
    Js悟透阅读节选(转)
    我的第一个PHP连接MSSQL2000示例。
    C# 时间相减得到天数
    修改桌面路径。其它路径。
    Player 网页歌曲播放器(CMP)
    麦咖啡 导出安全策略.reg文件。
    js实现几秒页面跳转的几种方式
    19,随机数,不重复。
    marquee 无缝循环
  • 原文地址:https://www.cnblogs.com/phoenix-mountain/p/13355683.html
Copyright © 2011-2022 走看看