Flask Mysql数据库连接
下载库:
pip install flask-sqlalchemy
下载后进入终端使用python后import导入模块测试没有报错就说明成功了
py文件:
# -*- encoding: utf-8 -*- from flask import Flask #导入第三方链接库sql点金术 from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config.from_pyfile('config.ini') # #指定数据库连接还有库名,也可以写到配置文件里,root前为固定写法,root对应的是mysql的密码@后对应的是服务网址和端口/这里对应的是数据库名?后指定的是字符集 app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:mysql@127.0.0.1:3306/myflask?charset=utf8' # #省略提交数据库,也可以加到配置文件里,下面操作有commit所以这里注释掉 # app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True #建立数据库对象 db = SQLAlchemy(app) #建立数据库类,用来映射数据库表,将数据库的模型作为参数传入 class User(db.Model): #声明表名 __tablename__ = 'user' #建立字段函数 建立字函数段必须和建立好的mysql表内字段名和约束一致 id = db.Column(db.Integer,primary_key=True) name = db.Column(db.String(255)) password = db.Column(db.String(255)) @app.route('/') def index(): #增加,入库逻辑 #声名对象,调用类指定添加内容,id为自增主键可以不传入值 user = User(name="你好你好",password="asd789") #调用添加方法 db.session.add(user) # #提交入库 db.session.commit() return '这是首页' #数据库的查询操作(查) @app.route('/select') def select_user(): # #简单的全量查询 # #翻译 select * from # ulist = User.query.all() # for i in ulist: # print(i.name) # print(i.password) # #只取一条 # #翻译成 select * from user limit 1 # ulist = User.query.first() # print(ulist.name) # print(ulist.password) # #使用原生的sql语句 # #翻译为select * from user order by id desc limit 1,2 items = db.session.execute('select * from user order by id desc') #将结果集强转为list items = list(items) print(items) return render_template('day5.html',items=items) #数据库的修改 @app.route('/edit') def edit_user(): #根据某个字段做修改操作 #翻译为 update user set name='张三' where id = 2 User.query.filter_by(id=2).update({'name':'456','password':'789'}) #使用原生语句进行修改操作 # db.session.execute('update user set password = "123" where id = 6') return '修改操作' #数据库删除操作 @app.route('/del') def deluser(): #删除根据某个字段做删除,filter_by可以理解为where条件限定 #翻译为delete from user where id = 1 User.query.filter_by(id = 8).delete() return "这是删除操作" #数据库入库操作 @app.route('/') def index(): #增加,入库逻辑 b #声名对象 user = User(name="你好你好",password="asd789") #调用添加方法 db.session.add(user) # #提交入库 # db.session.commit() return '这是首页' if __name__ == "__main__": app.run()