flask对mysql数据库增删改查_flask后台框架1.4(mysql配置+数据库增删改查)-Go语言中文社区...
mysql配置及问题
前面三份博客的笔记基本记录了所用到的基本操作,这里开始记录后台和数据库的交互,数据库我们用的是mysql然后的话mysql就不记录了因为很简单,要是没有安装学习的话,基本在网上找找学学就明白了,下面进入正题。
在flask中配置mysql前提是我们已经在mysql中创建了一个数据库来供给我们这个flask专门的database我们创建了db_demo1这个数据库。
然后对于mysql的要求就这么多,接着我们来到之前的 config 文件中对后台数据库的链接进行配置。
DIALECT = 'mysql' # 数据库 mysql
DRIVER = 'pymysql' # 驱动 mysqldb
USERNAME = 'root'
PASSWORD = 'root'
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'db_demo1'
SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)
SQLALCHEMY_TRACK_MODIFICATIONS = False
之前在config中只配置了一个 debug=true就没有了,这是紧接着那个配置的,然后主要是倒数第二行那排声明了各种事宜,有一点需要注意pymysql需要另外再安装一下,在python2中用的是mysqldb,如果在3中使用的话可能会报错,基本已经在3中淘汰了。现在都用pymysql,其他的都是翻译过来的意思,根据自己电脑的设置配置一下就可以了。
config配置好之后我们来到主项目中进一步配置。
db = SQLAlchemy(app)来引用数据库
db.create_all()加在它的下面直接运行如果成功运行,证明数据库连接成功。
数据库基本操作
创建数据库表单
数据库的表单如果对应到我们的代码中,可以看成是一个类,所以通过创建类,来创建表单实现一一对应。
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.session.commit() # 提交所修改的内容很重要一定要加
这里我们创建了一个类对象在数据库中对应创建了一个table名字为article
列名用 db.Colunm()
int用 db.Interger
主键用primary_key=True
varchar用db.String(?)
text用db.Text
not null 用 nullable=False
重新启动之后进入一下首页后,到数据库中看一下表单是否创建成功
可以看到成功创建了规定的表单。
增
数据库增加记录操作,实例化一个对象然后记得commit一下就行了
article1 = Article(title='aaa',content='bbb')
db.session.add(article1)
db.session.commit()
第一行是实例化一个对象,然后对于这个对象,我们需要把它存到数据库,就利用 db.session.add方法就行了,后面的commit一定不能忘,如果用过git一般都知道。
查
查 利用Article中继承的query中的filter过滤器来查找两种方式
#方式一
result = Article.query.filter(Article.title == 'yyl').all()
article2 = result[0]
#方式二
article2 = Article.query.filter(Article.title == 'yyl').first()
如果玩过爬虫,应该都清楚一般查找任何东西返回来的都是一个list表单,所以我们实际需要的值在表单里面,用索引或者直接用first方法就行了,实例化了article2之后随便处理都可以。
改
改操作,线找到,然后对于这个找到的直接修改 之后commit一下
article2 = Article.query.filter(Article.title == 'aaa).first()
article2.content = 'ccc'
因为找到数据库,就相当于是引用了那块内存,修改直接对其生效,相当于数据库中的更新操作。
删
删除操作 先查询到然后 调用db.session.delete
article1 = Article.query.filter(Article.id == 4)[0]
db.session.delete(article1)
很简单,不再说明。
flask对mysql数据库增删改查_flask后台框架1.4(mysql配置+数据库增删改查)-Go语言中文社区...相关推荐
- mysql主从配置 简书_Mysql主从配置,实现读写分离-Go语言中文社区
转载:https://www.cnblogs.com/alvin_xp/p/4162249.html 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层 ...
- php mysql.so 下载_Linux安装php-mysql提示需要:libmysqlclient.so.18()(64bit)的解决办法-Go语言中文社区...
一.贴上报错: 错误:软件包:2:postfix-2.10.1-6.el7.x86_64 (@anaconda) 需要:libmysqlclient.so.18()(64bit) 可用: 1:mari ...
- mysql表导出和导入命令行_MySQL命令行导出导入数据库和数据表-Go语言中文社区...
MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:Program FilesMySQLMySQL Server ...
- 安装mysql.dox_linux虚拟机上装mysql数据库-Go语言中文社区
安装mysql 1.上传已经下载好的mysql安装包到虚拟机下面 2.解压安装包 tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz 3.移动文件到 ...
- centos7不能安装mysql数据库_Centos7 上安装mysql遇上的问题:mysql无法正常启动-Go语言中文社区...
第一次在Centos上安装mysql遇到的一些问题. 第一步就遇到问题,安装mysql-server报错没有可用包. [解决方法] 先要安装mysql # wget http://repo.mysql ...
- mysql支持多语言_多种语言连接MySQL-Go语言中文社区
1.java连接MySQL(JDBC) package Abc; import java.sql.*; public class DBConnection{ public static void ma ...
- mysql条件关键字查询有limt_MySQL使用Limit关键字限制查询结果的数量-Go语言中文社区...
1.Limit关键字的使用 查询数据时,可能会查询出很多的记录.而用户需要的记录可能只是很少的一部分.这样就需要来限制查询结果的数量.Limit是MySQL中的一个特殊关键字.Limit子句可以对查询 ...
- mac mysql 查看用户_Mac 最全 Mysql忘记用户名和密码如何处理-Go语言中文社区
工作中一直在维护开发环境和生产环境的数据库,现在想做些小测试需要用到本地库,但忘记了账户名和密码. 还好本姑娘有点儿懒,用的是navicat工具,有记录用户名,不过无所谓,都能查出来. 第一步:关闭m ...
- .tar.gz mysql 安装_mysql tar.gz 版本 linux系统的安装-Go语言中文社区
mysql下载地址: https://dev.mysql.com/downloads/mysql/ 1. 上传下载的tar.gz文件发送到linux 上传的路径: /usr/local/mysql/ ...
最新文章
- TypeError: Total() missing 1 required positional argument: ‘self‘
- 【Unity教程】创建一个完整的驾驶游戏
- 怎样快速学习React
- python使用imbalanced-learn的SMOTEN方法进行上采样处理数据不平衡问题
- 企业生产过程中的日志和时间管理详解
- App上架应用市场,如何攻破安全过检难题
- 转png格式_CAD转PNG,你知道怎样转换成高质量清晰的黑白图片吗?
- PHP开发电脑网站支付宝支付详细流程(沙箱测试篇)
- Appium+python自动化8-Appium Python API
- 文件查询之三:文件和目录的批量操作
- 创新 应用:物流公共信息平台的生命-黄惠良
- keil5安装之后的L6002U问题
- off-by-one error
- 数字html显示e的格式化,表格中数字显示是E+数字 怎么正常显示
- 谈谈新加坡的教育和学区房
- 疫情之下,这10个技巧助你开启云面试的正确姿势
- 如何在Coldfusion中上传文件
- nacos-server1.4.1linux和windows版本下载
- 【java8】LocalDateTime、LocalDate与LocalTime的基本使用
- 【生活常识】如何能安逸的活着?
热门文章
- 一个低时延高吞吐的日志方案设计-2021年6月4日
- Linux内核跟踪eBPF:bpftrace一行教程
- ElasticSearch:图解ElasticSearch的搜索过程
- 为什么系统调用会消耗较多资源?系统调用的三种方法:软件中断(分析过程)、SYSCALL指令、vDSO(虚拟动态链接对象linux-vdso.so.1)
- Linux内存管理:转换后备缓冲区(TLB)原理
- glibc:fd_set机制
- ncurses输出修饰:attron(),attroff(),attrset(),attr_get(),attr_,wattr_,chgat(),mvchgat()
- 在windows下配置PostgreSQL
- cenntos系统配置dns地址_在 Cenntos6.8 下安装 Oracle11g
- ssms安装_SQLServer 2019下载及安装教程