使用pyqt5+sqlalchemy+sqlite3打造windos窗口程序(二)链接数据库

  • Post author:
  • Post category:其他


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 版权协议,转载请附上原文出处链接和本声明。