from flask import Flask,render_template
#导入第三方链接库sql点金术
from flask_sqlalchemy import SQLAlchemy
#建立对象
app = Flask(__name__)
#载入配置文件
app.config.from_pyfile("config.ini")
#指定数据库连接还有库名
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:mysql@127.0.0.1:3306/myflask?charset=utf8'
#指定配置,用来省略提交操作
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
#建立数据库对象
db = SQLAlchemy(app)
#建立数据库类,来映射数据库表,将数据库的模型作为参数传入
class User(db.Model):
#声明表名
__tablename__ = 'user'
#建立字段函数
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(200))
password = db.Column(db.String(200))
#数据库的查询操作(查)
@app.route('/select')
def select_user():
#简单的全量查询
#翻译为select * from user
ulist = User.query.all()
print(ulist)
for item in ulist:
print(item.name)
#只取一条
#翻译为 select * from user limit 1
ulist = User.query.first()
print(ulist)
#使用原生的sql语句
#翻译为 select * from user order by id desc limit 1,2
items = db.session.execute('select * from user order by id desc limit 1,2')
#将结果集强转为list
items = list(items)
#使用原生语句进行修改操作
# db.session.execute("update user set password = '12355554' where id=6 ")
# return "这里是查询页面"
#将动态数据传递给模板
return render_template('day5.html',items=items)
#数据库的修改操作(改)
@app.route('/edit')
def edit_user():
#根据某个字段做修改操作
#翻译为 update user set name = "张三" where id = 6
User.query.filter_by(id=6).update({'name':'张三'})
return "这里是修改操作"
#数据库的删除操作(删)
@app.route("/del")
def del_user():
#根据某字段做删除,filter_by可以理解为where条件限定
#翻译为 delete from user where id=1
User.query.filter_by(id=1).delete()
return "这里是删除操作"
#数据库入库操作(增)
@app.route("/")
def index():
#增,入库逻辑
#声明对象
user = User(name='贾还虎',password='18636061558')
#调用添加方法
db.session.add(user)
#提交入库
db.session.commit()
return "这是一个首页"
if __name__ == "__main__":
app.run()

Flask中Mysql数据库的常见操作的更多相关文章

  1. 【代码学习】MYSQL数据库的常见操作

    ---恢复内容开始--- ============================== MYSQL数据库的常见操作 ============================== 一.mysql的连接与 ...

  2. 【代码总结】MYSQL数据库的常见操作

    ============================== MYSQL数据库的常见操作 ============================== 一.mysql的连接与关闭 -h:指定所连接的服 ...

  3. MySQL数据库的常见操作(七)

    MySQL数据库的常见操作 1.创建数据库 2.创建重名的数据库以及如何查看警告信息 3.设置数据库的编码方式(默认为utf8) 4.修改和查看数据库的编码方式 5.删除数据库 6.6.删除已经删除了 ...

  4. MySQL数据库的常见操作

    1.查看所有的数据库 1 show databases; 2.创建数据库  后面的时编码格式 1 create database dbName charset='utf8'; 3.使用/切换数据库 1 ...

  5. Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令

    Vc数据库编程基础MySql数据库的常见操作 一丶数据库常见的库操作 1.1查看全部数据库 命令:  show databases 1.2 创建数据库 命令: Create database 数据库名 ...

  6. 更改XAMPP中MySQL数据库的端口号

    更改XAMPP中MySQL数据库的端口号 如果电脑上已安装MySql数据库,还想用XAMPP中自带的数据库就需要更改XAMPP中数据库的端口号,避免和已安装的数据库冲突.本例以更改为3307端口号为例 ...

  7. linux系统上Mysql数据库导入导出操作

    需求:把MySQL数据库目录中的dz数据库备份到/home/dz_bak.sql ,然后再新建一个数据库dzbak,最后把/home/dz_bak.sql 导入到数据库dzbak中.操作如下:以下操作 ...

  8. PHP对MySQL数据库的相关操作

    一.Apache服务器的安装 <1>安装版(计算机相关专业所用软件---百度云链接下载)-直接install<2>非安装版(https://www.apachehaus.com ...

  9. mysql 数据库必备命令操作,入门练习一下

    mysql 数据库必备命令操作 show databases: 查看所有的数据库: create database jfedu: 创建名为jfedu数据库: use nihao: 进入jfedu数据库 ...

随机推荐

  1. Counted(内存管理机制)

    class Counted { private: unsigned int count_; public: Counted() : count_() { } virtual ~Counted() { ...

  2. JavaScript的函数声明与函数表达式的区别

    1)函数声明(Function Declaration); // 函数声明 function funDeclaration(type){ return type==="Declaration ...

  3. Laravel 下生成验证码的类

    <?php namespace App\Tool\Validate; //验证码类 class ValidateCode { private $charset = 'abcdefghkmnprs ...

  4. Luogu P4484 [BJWC2018]最长上升子序列

    状压\(DP\)+打表,要命的题目..... 具体思路请参考这位巨佬的博客,本蒟蒻对这道题感到心力交瘁,决定不再作出补充.. 关键的要学习的是:对于排列问题,从左到右处理比较困难的话,考虑从小到大把数 ...

  5. maomao的现在与未来

    今晚开始,maomao决定要成为一个和以前不一样的人了. 自从高一开始竞赛生涯以来,我的竞赛就一直处于不是很好,也不是很差的水平,就像我初中一年级到二年级一直处于的状态一样.一直以来,我从来没有对自己 ...

  6. (string 数组) leetcode 804. Unique Morse Code Words

    International Morse Code defines a standard encoding where each letter is mapped to a series of dots ...

  7. (贪心)P1223 排队接水 洛谷

    题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小. 输入输出格式 输入格式: 输入文件共两行,第一行为n:第二行分别 ...

  8. JDBC-DBCP

    依赖 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...

  9. 2、JPA-Annotation

    注解放在类属性上不生效时可放在get方法上试试,原因未知 @Entity /** * @Entity 该Java类为实体类,将映射到数据库表.如声明一个实体类 Customer,它将映射到数据库中的 ...

  10. Hadoop记录-fair公平调度队列管理

    <?xml version="1.0"?> <allocations> <queue name="root"> <qu ...