一、SQLAlchemy的初始化连接
提醒:在你的虚拟环境中安装(也就是你的主app所使用的python解释器)
1.首先安装数据库的中间件驱动
这里小编安装的是pymsql作为驱动,你也可以安装mysqldb或者其他的驱动模块
安装驱动命令:pip install PyMySql -i https://pypi.douban.com/simple
2.安装flask_sqlalchemy(一套ORM框架,orm也就是模型关系映射)
pip install flask_sqlalchemy -i https://pypi.douban.com/simple
3.初始化SQLAlchemy对象
4.在config配置文件中,增加相关配置信息 大写字母不要自行更改,否则app.config.from_object()可能找不到对应的值
# dialect+driver://username:password@host:port/database DIALECT = "mysql" # 需要连接数据库的名称比如mysql ,oracle等 DRIVER = "pymysql" # 连接数据库的中间件 比如dbmysql mysqldb等 USERNAME = "root" # 连接数据库的账号 PASSWORD = "xxxx" # 数据库密码 HOST = "127.0.0.1" # 数据库地址 PROT = "3306" # 数据库端口号 DATABASE = "a_12306" SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PROT, DATABASE) SQLALCHEMY_TRACK_MODIFICATIONS = False5.测试一下数据库连接
好我们发现正常启动,木有报错
现在我们故意把密码修改错误 在试一次
好果然 报错了,这就说们我们初始化连接成功了
二、对数据库的操作部分
1.初始化一个数据库的表模型 比如新建一个数据库表
注意点:一定要继承db.Model这个类,db.String(这个值必须指定),
# 创建模型和表的映射 新增一个表 class Article(db.Model): __tablename__ = "article" # 表名,如果不指定则取类名的小写字母 id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(100), nullable=False) content = db.Column(db.Text, nullable=False) # 这句代码如果注释不会新增一个表 db.create_all()2.数据库表新增数据
注意:其中这个表有个id不过是自增长的 我们可以省略
# 数据库插入一条数据 article = Article(title="西方文学", content="学习西方知识") db.session.add(article) db.session.commit()3.查询数据
# 从数据库查询数据 result = Article.query.filter(Article.title == "西方文学1") if result.first() is None: print("查询到的结果为空") else: for info in result.all(): print(info.id) print(info.title) print(info.content)4.修改数据
# 修改# # 1、先把你需要修改的数据 查出来 result = Article.query.filter(Article.id == "1").first() # 2、把这条数据,你需要修改的地方进行修改 result.title = "东方文学" # 3、做事务的提交 db.session.commit()5.删除数据
# 删除 # 1、需要把删除的数据查询出来 result = Article.query.filter(Article.id == "1").first() # 2、把这个条数的数据删除掉 db.session.delete(result) # 3、做事务的提交 db.session.commit()
