#导入第三方连接库sql点金术

from flask_sqlalchemy import SQLAlchemy

#建立对象

app = Flask(__name__)

#载入配置文件

app.config.from_pyfile('config.ini')

# #指定数据库连接还有库名

# app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@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 ')

    #将结果集强转为list

    items = list(items)

    #使用原生语句进行修改操作

    #db.session.execute(" update user set password = '321321' where id = 6 ")

    #将动态数据传递给模板

    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=3).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='')

    #调用添加方法

    db.session.add(user)

    #提交入库

    #db.session.commit()

    return '这里是首页'

flask 连接mysql及基本操作的更多相关文章

  1. Python如何连接Mysql及基本操作

    什么要做python连接mysql,一般是解决什么问题的 做自动化测试时候,注册了一个新用户,产生了多余的数据,下次同一个账号就无法注册了,这种情况怎么办呢?自动化测试都有数据准备和数据清理的操作,如 ...

  2. flask连接mysql数据库

    from flask import Flask from flask_sqlalchemy import SQLAlchemy import pymysql pymysql.install_as_My ...

  3. flask连接mysql出现ModuleNotFoundError: No module named 'MySQLdb'

    只需在配置SQLALCHEMY_DATABASE_URI时,加上pymysql就可以了:  app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql ...

  4. flask使用pymysql连接MySQL,生成xls文件并下载到本地

    版本一:将MySQL数据写入到excel(xsl)文件并下载到默认文件夹(一般问电脑的下载文件夹里面),并显示特效到前端页面. flask框架连接MySQL,我们使用pymsql这个工具,如下操作: ...

  5. Flask 操作Mysql数据库 - flask-sqlalchemy扩展

    数据库的设置 Web应用中普遍使用的是关系模型的数据库,关系型数据库把所有的数据都存储在表中,表用来给应用的实体建模,表的列数是固定的,行数是可变的.它使用结构化的查询语言.关系型数据库的列定义了表中 ...

  6. PHP连接MySQL数据库

    PHP连接MySQL数据库 既然现在你看到了这篇文章,说明你肯定知道PHP和MySQL是怎么一回事,我就不啰嗦了.但为什么你还要继续阅读此文呢?可能是以前你习惯复制粘贴一些代码,并没有真正弄懂代码的含 ...

  7. java 连接 MySQL

    java 连接 MySQL 1.准备工作 需要下载的工具: MySQL:http://www.mysql.com/downloads/ MySQL的可视化工具SQLyog:https://www.we ...

  8. 数据库MySQL的基本操作

    1.MySQL数据库的安装: CentOS6上mysql服务端和客户端的安装和启动: #使用yum安装mysql数据库的服务端和客户端 yum install -y mysql mysql-serve ...

  9. JDBC连接MySQL数据库基础

    主要内容 MySQL的基本操作和基本SQL语法 使用JDBC进行MySQL数据库的开发 使用DriverManager.Connection.PreparedStatement.ResultSet对数 ...

随机推荐

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

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

  2. 使用docker-compose部署nginx

      1.新建docker-compose.yml文件,文件的基本模板如下:(由于yml格式比较严格,注意空格缩进) version: '2.0' services: nginx: restart: a ...

  3. layui基础总结

    1.layui结构 ├─css //css目录      │  │─modules //模块css目录(一般如果模块相对较大,我们会单独提取,比如下面三个:)      │  │  ├─laydate ...

  4. 使用Redis模拟简单分布式锁,解决单点故障的问题

    需求描述: 最近做一个项目,项目中有一个功能,每天定时(凌晨1点)从数据库中获取需要爬虫的URL,并发送到对应的队列中,然后客户端监听对应的队列,然后执行任务.如果同时部署多个定时任务节点的话,每个节 ...

  5. web.xml 文件头

    Servlet 2.3 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN ...

  6. @jsonProperty 实现返回自定义属性名字

    实现场景: 比如说前端需要返回userPic 这个字段,但是我们数据库定义的是pic字段. 可以用@jsonProperty 来实现 public class User{ @JsonProperty( ...

  7. JAVA入门教程 - idea 新建maven spring MVC项目

    用的是Idea2017版本.其他大同小异 1.新建项目 2.勾选Create from archetype 选中maven-archetype-webapp 3.输入项目名字. 4.下一步 5.点Fi ...

  8. Android开发入门经典实例

    开发实例概述 今天带大家做一个简单的Android App,这个App会显示创新工程实践老师们的照片和信息,不妨先看一看效果: 虽然这个App非常简单,但是涉及到了Android开发中的一些关键知识, ...

  9. vs2010 vs2013等vs中如何统计整个项目的代码行数

    在一个大工程中有很多的源文件和头文件,我如何快速统计总行数? ------解决方案--------------------b*[^:b#/]+.*$^b*[^:b#/]+.*$ ctrl + shif ...

  10. [Windows] [VS] [C] [取得指针所指内存的二进制形式字符]

    // 取得指针所指内存的十六进制形式字符串,size指定字节长度#define Mem_toString(address, size) _Mem_toString((PBYTE)address, si ...