码迷,mamicode.com
首页 > 数据库 > 详细

sqlalchemy

时间:2018-04-08 18:24:06      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:bsp   ict   imp   删除数据库   init   auth   style   class   open   

1.  touch model.py

from sqlalchemy import Column, String, Integer, create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker


engine = create_engine(sqlite:///./test.db)
Base = declarative_base()


class Corp(Base):
    __tablename__ = corp  #  企业

    id = Column(Integer, primary_key=False, autoincrement=True)
    name = Column(String(100), nullable=False, primary_key=True)                 # 公司名称
    href = Column(String(100), nullable=True)                 # 网站地址
    belong = Column(String(100), nullable=True)               # 所属网站
    author = Column(String(10), nullable=True)                # 采集作者
    flag = Column(String(100), nullable=True)                 # 采集标志位


#  定义初始化数据库函数
def init_db():

    Base.metadata.create_all(engine)

    filename = ./zl.txt
    with open(filename, r) as f:
        company = f.readlines()
    companys = [i.strip() for i in company if len(i.strip())>5]
    engine.execute(Corp.__table__.insert(), [dict(name=i) for i in companys])

#  删除数据库函数
def drop_db():
    Base.metadata.drop_all(engine)

# drop_db()
# init_db()

Session = sessionmaker(bind=engine)
session = Session()

2. touch sql.py

import sys 
sys.path.append(/home/yugengde/code/byb/risk/usr/corpinfo)
from model import session, Corp

# 1. insert 
# engine.execute(Corp.__table__.insert(), [dict(name=i) for i in companys])

# 2. query

print(**100)
# companys = session.query(Corp).filter(Corp.name==‘深圳市福特电子有限 公司‘)
# print(companys)
companys = session.query(Corp).filter()
print([company.name for company in companys])

 

sqlalchemy

标签:bsp   ict   imp   删除数据库   init   auth   style   class   open   

原文地址:https://www.cnblogs.com/yugengde/p/8746201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!