首页 > 其他分享 >07-数据表创建方式(Database First、Model First、Code First)

07-数据表创建方式(Database First、Model First、Code First)

时间:2024-10-11 18:37:40浏览次数:1  
标签:Code flask 数据库 数据表 sqlalchemy mysql SQLAlchemy First

常见的创建数据表结构的三种方式:

  • Database First
  • Model First   DBA经常使用这个方式
  • Code First    推荐程序员使用, 此方法专注于业务模型的设计,而不是专注数据库设计

 

Flask-SQLAlchemy介绍
SQLALchemy 实际上是对数据库的抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升
SQLAlchemy是一个关系型数据库框架,flask-sqlalchemy 是一个简化了 SQLAlchemy 操作的 flask 扩展。

1) 安装 flask-sqlalchemy

pip install flask-sqlalchemy

2)如果连接的是 mysql 数据库,需要安装 mysqldb

pip install flask-mysqldb

3) 数据库连接设置

# 程序使用的数据库必须保存到Flask配置对象的 SQLALCHEMY_DATABASE_URI 键
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:[email protected]:3306/test'

参考链接:flask数据库之Flask-SQLAlchemy安装及配置_如何安装flask sqlalchemy-CSDN博客

 

扩展:数据库完整连接 URI 列表

数据库 URL
MySQL mysql://scott:tiger@localhost/mydatabase
Oracle oracle://scott:[email protected]:1521/sidname
SQLite sqlite:absolute/path/to/foo.db

 

标签:Code,flask,数据库,数据表,sqlalchemy,mysql,SQLAlchemy,First
From: https://www.cnblogs.com/REN-Murphy/p/18458796

相关文章

  • Code Review:探索工程实践之道
    作者:京东物流冯志文前言本文参考《京东JAVA代码规范-V1.1》&Google代码评审工程实践方法论,结合团队代码评审的实践经验整理成文档,这份文档是我们团队集体经验的结晶。我相信公司其他部门也有类似的经验和最佳实践。希望通过互相交流和学习,共同提高代码质量,进而提高系统的稳定......
  • LeetCode:871. 最低加油次数(DP Java)
    目录871.最低加油次数题目描述:实现代码与解析:DP原理思路:871.最低加油次数题目描述:        汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。沿途有加油站,用数组 stations 表示。其中 stations[i]=[positioni,fueli] 表示第 ......
  • 淘宝程序员没活硬整?在 Excel 和 VSCode 中购物!
    大家好,我是程序员鱼皮,最近某宝网站的改进,属实是有点“新”了。你敢相信这是一个购物网站么?你可以在Excel表格中挑选商品进行购物,还原度极高,这两个图表更是点睛之笔。哪个天才想出来的,把特么广告都整成了Excel图表。PS修图软件中也可以购物,不仔细看的话还真以为我在设计......
  • VS Code安装C#开发工具包并编写ASP.NET Core Web应用
    前言    前段时间微软发布了适用于VSCode的C#开发工具包(注意目前该包还属于预发布状态但是可以正常使用),因为之前看过网上的一些使用VSCode搭建.NETCore环境的教程看着还挺复杂的就一直没有尝试使用VSCode来编写.NETCore。不过听说C#开发工具包提供了一系列功能和扩展,从而......
  • Visual Studio Code调试和发布ASP.NET Core Web应用
    前言上一篇文章主要讲了VisualStudioCode安装C#开发工具包并编写ASP.NETCoreWeb应用有兴趣的同学可以去看看,今天咱们主要是要讲讲如何在VSCode中调试和发布ASP.NETCoreWeb应用。VisualStudioCode安装C#开发工具包并编写ASP.NETCoreWeb应用配置launch.json文件launch.jso......
  • AtCoder Beginner Contest 373 (A-F)
    AtCoderBeginnerContest373(A-F)比赛链接A-September#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;voidShowball(){intans=0;for(inti=1;i<=12;i++){strings;cin>>s;ans+=((int)s.si......
  • Codeforces Round 932 (Div. 2) C. Messenger in MAC
    对于选定的\(p_i\)的情况下,如何使得代价小?显然是按照\(b\)升序的方式。因此我们可以考虑按照\(b\)进行排序。考虑一种贪心的做法,我们枚举区间\([l,r]\),这样区间的必选就是\(a_l,a_r,(b_r-b_l)\),因此我们可以贪心的选择剩下\(a\)中的最小值。这样复杂度是\(O(n^3\logn)\)。考......
  • Letcode--反转链表+回文链表
     ok小伙伴们,今天给大家带来关于链表的算法题目。首先学习一下反转链表,大家先看题目: 这道题目比较简单,所以先给大家看一下代码:ListNode*reverseList(ListNode*head){if(!head){returnnullptr;}ListNode*pre=nullptr,*cur=h......
  • Leetcode 839. 相似字符串组【附并查集模板】
    1.题目基本信息1.1.题目描述如果交换字符串X中的两个不同位置的字母,使得它和字符串Y相等,那么称X和Y两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。例如,”tars”和“rats”是相似的(交换0与2的位置);“rats”和“arts”也是相似的,但是“s......
  • Codeforces Round 975 (Div. 2)
    Codeforces975div2A.MaxPlusSize点击查看代码voidsolve(){intn;cin>>n;intimax1=0,imax2=0;for(inti=1;i<=n;i++){intx;cin>>x;if(i%2)imax1=max(imax1,x);elseimax2=max(imax2,x);}if(!n%2)cout......