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. 千人基因组(1000 Genomes)提取群体(population)或者样本(sample ID)信息

    进入链接:http://www.internationalgenome.org/data-portal/sample 点击“filter by population”,在弹出的选择框里,选择想要下载的 ...

  2. malloc()

    malloc()没啥好讲的,唯一要注意的就是与new的区别 malloc()失败是返回NULL指针,new失败是抛出异常 malloc和new的空间释放的方式不能串着用 new数组时需要注意配合del ...

  3. c#线程2

    多线程中很有可能存在争夺一个变量资源而产生死锁或者不被期望的结果. 测试类; class TestClass { ; private object objLock = new object(); pu ...

  4. C#语法糖(Csharp Syntactic sugar)

    目录 一.C#语法糖大汇总 1. 经过简化的Property2. 经过两次变异的委托写法3. 集合类的声明4. 集合类各个项的操作5. using == try finally6. 可爱的var7. ...

  5. libmysqlclient.so.18: cannot open shared object file

    libmysqlclient.so.18: cannot open shared object file 解决libmysqlclient.so.18: cannot open shared obje ...

  6. mysql5.6.40单实例安装二进制快捷安装

    mysql5.6.40单实例安装二进制快捷安装 近期因不同环境需要不同版本的mysql实例,故为了方便操作,特此记录下来,方便自己查找. # 1.1.Centos最小化安装推荐常用依赖包 yum cl ...

  7. social-auth-app-django集成第三方登录

    GitHub:https://github.com/python-social-auth/social-app-django 官网文档:http://python-social-auth.readth ...

  8. Linux top、VIRT、RES、SHR、SWAP(S)、DATA Memory Parameters Detailed

    catalog . Linux TOP指令 . VIRT -- Virtual Image (KB) . RES -- Resident size (KB) . SHR -- Shared Memor ...

  9. python 线程(其他方法,队列,线程池,协程 greenlet模块 gevent模块)

    1.线程的其他方法 from threading import Thread,current_thread import time import threading def f1(n): time.s ...

  10. Trailing slash

    Trailing Slash common case It's common for URLs with a trailing slash to indicate a directory, and t ...