这里有一点要提的

这个mysql+pymysql,这个mysql会通过字符串导入对应的模块这里要预装下mysql模块:

逻辑操作:
使用create_engine创建数据库连接,
使用sessionmaker操作用于操作数据库的session。
构造一个declarative_base()的基类。
构造一个子类设置数据库表中的各个域。
最后使用metedate.create_all进行创建
源码如下:
from sqlalchemy import create_engine, Integer, String, Float from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column #创建数据库连接 engine = create_engine("mysql+pymysql://root:密码xxxxxxx@122.51.245.141:3306/lagou?charset=utf8") #操作数据库前创建session Session = sessionmaker(bind=engine) #声明一个基类 Base = declarative_base() class LagouTables(Base): __tablename__ = 'lagou_data' #id,主键并且自动增长 id = Column(Integer, primary_key=True, autoincrement=True) #岗位ID,非空字段 positionID = Column(Integer, nullable=True) # 经度 longitude = Column(Float, nullable=False) # 纬度 latitude = Column(Float, nullable=False) # 岗位名称 positionName = Column(String(length=50), nullable=False) # 工作年限 workYear = Column(String(length=20), nullable=False) # 学历 education = Column(String(length=20), nullable=False) # 岗位性质 jobNature = Column(String(length=20), nullable=True) # 公司类型 financeStage = Column(String(length=30), nullable=True) # 公司规模 companySize = Column(String(length=30), nullable=True) # 业务方向 industryField = Column(String(length=30), nullable=True) # 所在城市 city = Column(String(length=10), nullable=False) # 岗位标签 positionAdvantage = Column(String(length=200), nullable=True) # 公司简称 companyShortName = Column(String(length=50), nullable=True) # 公司全称 companyFullName = Column(String(length=200), nullable=True) # 公司所在区 district = Column(String(length=20), nullable=True) # 公司福利标签 companyLabelList = Column(String(length=200), nullable=True) # 工资 salary = Column(String(length=20), nullable=False) # 抓取日期 crawl_date = Column(String(length=20), nullable=False) if __name__ == '__main__': # 创建数据表 LagouTables.metadata.create_all(engine)
创建好后对应的数据库表如下:

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229644.html原文链接:https://javaforall.net
