sqlalchemy是数据库层面的ORM框架,通过相关接口可以很方便的修改数据库,可以说sqlite,oracle,mysql等等。
最开始我用的是mysql,但是打包后必须是目标用户有mysql服务才行,所以我更换成了sqlite3文件数据库,这样拷贝过去用户就能用。这时sqlalchemy的好处就体现了,我无需更改我的增删改查的语句,只把数据库链接换成sqlite3就ok了,非常方便。
代码如下:
from sqlalchemy import Column, String, create_engine,Integer
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
import pymysql
# 初始化数据库连接:
engine = create_engine('sqlite:///ums.db?check_same_thread=False',echo=False)
# 创建对象的基类:
Base = declarative_base()
# 定义User对象:
class User(Base):
# 表的名字:
__tablename__ = 'user'
# 表的结构:
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String(20))
pwd = Column(String(20))
sfz = Column(String(18))
age = Column(String(3))
sex = Column(String(1))
time = Column(String(11))
class Admin(Base):
# 表的名字:
__tablename__ = 'admin'
# 表的结构:
id = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String(20))
pwd = Column(String(20))
time = Column(String(11))
def start():
#创建表
Base.metadata.create_all(engine)
DBSession = sessionmaker(bind=engine)
return DBSession()
具体sqlit3的生成:
1、先安装sqlite3
pip install sqlite3
然后在你的项目目录里面运行数据库创建语句:
sqlite3 aa.db
再然后通过下面的方法查询创建是否成功:
版权声明:本文为xiaoqiang3146原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。