首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

经验拾忆(纯手工)=> Python-

我总体感觉(peewee像 Django-ORM分离版,,但比Django-ORM和SqlAlchemy 小巧,简单,文档也友好) 还有一更重要感觉就是, peewee API方法名 和 SQL...安装和导入 pip install peewee from peewee import * # peewee模块很结构化,都在peewee,如果懒就都导入进来。...-记录-字段 ORM语法 和 数据库-记录-字段)对应关系如下: ORM结构 数据库 类 实例(对象) 记录 类属性 默认自增主键ID 定义一类,继承了peewee模块Model...不然它不知道你这个在哪个数据库 既然这样,若我们要在一数据库创建很多很多表,那岂不是每次都需要给每张指定一数据库??...,注意嵌套事务 只会回滚 离它最近 一层之间代码。

1.5K10

(数据科学学习手札120)Python+Dash快速web应用开发——整合数据库

快速web应用开发第十七期,在之前各期教程,我们针对Dash各种基础且常用概念展开了学习,但一直没有针对与数据库之间交互进行专门介绍,只是在某些示例利用pandas、SQLAlchemy等工具简陋地操作数据库...2.1 创建数据   利用peewee构建数据,需要定义相应Model类,在类构建属性即对应字段,并且在Meta类定义其他一些属性,譬如下面的例子我们就以最简单SQLite数据库为例...2.2 向中新增记录   在数据创建完成之后,我们第一件事当然是要向插入数据,这在peewee操作非常简单: 插入单条数据   在peewee插入单条记录可以使用create()方法:...图4 插入多条数据   在peewee批量插入数据可以使用insert_many()方法传入对应每行内容字典列表,记得最后要跟着执行execute()方法才会真正向数据库执行: # 批量插入数据 (...2.5 对表数据进行查询   作为增删改查中使用频次最高查,在peewee涉及到知识内容非常之庞大,但基础格式都是利用select()方法,常用有以下方式: # 获取查询结果方式1: query_results

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

纯Python轻松开发在线留言板!

web应用开发」第十七期,在之前各期教程,我们针对Dash各种基础且常用概念展开了学习,但一直没有针对与数据库之间交互进行专门介绍,只是在某些示例利用pandas、SQLAlchemy等工具简陋地操作数据库...2.1 创建数据 利用peewee构建数据,需要定义相应Model类,在类构建属性即对应字段,并且在Meta类定义其他一些属性,譬如下面的例子我们就以最简单SQLite数据库为例:...2.2 向中新增记录 在数据创建完成之后,我们第一件事当然是要向插入数据,这在peewee操作非常简单: 「插入单条数据」 在peewee插入单条记录可以使用create()方法: #...: 图4 「插入多条数据」 在peewee批量插入数据可以使用insert_many()方法传入对应每行内容字典列表,记得最后要跟着执行execute()方法才会真正向数据库执行: # 批量插入数据...2.5 对表数据进行查询 作为「增删改查」中使用频次最高「查」,在peewee涉及到知识内容非常之庞大,但基础格式都是利用select()方法,常用有以下方式: # 获取查询结果方式1: query_results

1.6K40

Python:轻量级 ORM 框架 peewee 用法详解

说明: 1、当 rows 传递字典列表时,fields 是不需要传,如果传了,那么,rows 字段在字典必须存在,否则报错。...如果没有传递 fields 参数,那么默认取所有字典交集作为插入字段。这个也好理解,比如一字典键是a、b、c,一是 b、c、d,那么就取 b、c 作为需要插入字段。...所以数据源跟要插入必须保持一致。...Person.get_by_id(1) 4、get_or_create Peewee 有一辅助方法来执行“获取/创建”类型操作: Model.get_or_create() 首先尝试检索匹配行。...五、查询条件 当查询条件不止一,需要使用逻辑运算符连接,而 Python and、or 在 Peewee 是不支持,此时我们需要使用 Peewee 封装好运算符,如下: 逻辑符 含义 样例

5.7K20

年薪20万Python工程师进阶(5):Python ORM框架之 Peewee入门

这里就给你们介绍一下Peewee基本使用,因为它非常轻量级,最主要是和DjangoORM 操作很像,如果你学过Django那么很容易上手。...User.create_table() # 创建User Tweet.create_table() # 创建Tweet 这里面包含不了少知识点,我们来一一解释。...接下来就是创建,创建BaseModel类,在该类下创建子类Meta,Meta是一内部类,它用于定义peeweeModel类行为特性。指定dabatase 为 前面定义db。...通过CharField、DateTimeField、BooleanField表示字段类型。ForeignKeyField 建立外键。 主键呢? 建时不都要有主键id嘛,不用!...peewee默认已经为我们加上这个id了。 最后,执行create_table()方法创建两张。 通过数据库工具,查看生成两张。 image 三、插入数据 要想操作数据,首先表里得有数据。

1.4K20

两种列式存储格式:Parquet和ORC

,数据来源多种多样,例如埋点数据,很可能需要把程序某些对象内容作为输出一部分,而每一对象都可能是嵌套,所以如果能够原生支持这种数据,查询时候就不需要额外解析便能获得想要结果。...数据页用于存储当前行组值,字典页存储该编码字典,每一列块中最多包含字典页,索引页用来存储当前行组下该索引,目前Parquet还不支持索引页,但是在后面的版本增加。...数据访问 说到列式存储优势,Project下推是无疑最突出,它意味着在获取中原始数据时只需要扫描查询需要,由于每一所有值都是连续存储,避免扫描整个文件内容。...,如果某些需要是存储位置是连续,那么一次读操作就可以把多个数据读取到内存。...: 图5 ORCschema结构 在ORC结构这个schema包含10column,其中包含了复杂类型和原始类型,前者包括LIST、STRUCT、MAP和UNION类型,后者包括BOOLEAN

5.1K30

最全面的Pandas教程!没有之一!

如上图 out[24] 中所示,如果你从一 Python 字典对象创建 Series,Pandas 会自动把字典键值设置成 Series index,并将对应 values 放在和索引对应...以及用一字典来创建 DataFrame: ? 获取 DataFrame 获取数据,还是用括号 [] 方式,跟 Series 类似。...比如尝试获取上面这个 name 数据: ? 因为我们只获取,所以返回就是一 Series。可以用 type() 函数确认返回值类型: ?...你可以从一包含许多数组列表创建多级索引(调用 MultiIndex.from_arrays ),也可以用一包含许多元组数组(调用 MultiIndex.from_tuples )或者是用一对可迭代对象集合...交叉选择行和数据 我们可以用 .xs() 方法轻松获取到多级索引某些特定级别的数据。比如,我们需要找到所有 Levels ,Num = 22 行: ?

25.8K64

Python 自动化指南(繁琐工作自动化)第二版:十三、使用 EXCEL 电子表格

openpyxl模块允许您 Python 程序读取和修改 Excel 电子表格文件。例如,您可能有从一电子表格复制某些数据并粘贴到另一电子表格枯燥任务。...最后,您可以使用一Workbook对象active属性来获取工作簿活动工作。活动工作是在 Excel 打开工作簿时位于顶层工作。...从工作获取行和 您可以分割Worksheet对象以获得电子表格行、或矩形区域中所有Cell对象。然后,您可以对切片中所有单元格进行循环。...这样程序可以做到以下几点: 从一电子表格读取数据,并将其写入其他电子表格某些部分。 从网站、文本文件或剪贴板读取数据,并将其写入电子表格。 自动“清理”电子表格数据。...sheet.max_column和sheet.max_row工作属性包含什么,这些属性数据类型是什么? 如果您需要获取'M'整数索引,您需要调用什么函数?

18.2K53

一文介绍Pandas9种数据访问方式

以下面经典titanic数据集为例,可以从两方面特性来认识DataFrame: ? DataFrame是一行列均由多个Series组成二维数据框,其中Series可看做是一一维向量。...理解这一点很重要,因为如果把DataFrame看做是一集合类型的话,那么这个集合元素泛型即为Series; DataFrame可看做是一二维嵌套dict,其中第一层dictkey是各个列名;...通常情况下,[]常用于在DataFrame获取单列、多或多行信息。具体而言: 当在[]中提供单值或多值(多个列名组成列表)访问时按进行查询,单值访问不存在列名歧义时还可直接用属性符号" ...."访问 切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签),包含两端标签结果,无匹配行时返回为空...由于DataFrame可看做是嵌套dict结构,所以也提供了类似字典get()方法,主要适用于不确定数据结构是否包含该标签时,与字典get方法非常类似: ? 9. lookup。

3.7K30

【03】从零开始学Python—列表、元组、字典

01概念 关于列表三点说明: 列表构造:英文状态下方括号[],元素存放在该方括号。元素不受任何限制,可以存放数值、字符串及其他数据结构内容。...02四种常见索引方式 1.正向单索引 从左到右只获取列表某一元素,用[n]表示。举例: ?...注: 变量list1是一含有7元素列表,位置索引是从0开始,以6结束; 该列表包含字符串(用引号括起来)、数值和列表(嵌套列表); 本例print(list1[6][1])两层索引可以取出嵌套列表元素...第一冒号是指从列表第一元素开始获取;第二冒号是指到最后一元素结束。注意,这里与切片索引不同是,会包含最后一元素值。例如: ?...03元素增加删除、修改 1.列表增加元素 如果要往列表增加元素,可使用三种方法:append、extend和insert。 append是列表特有的方法,其他常见对象没有。

1.1K10

快速学习-Presto简介

Catelog定义文件是在Presto配置目录。 (3)Schema Schema是用于组织table。把catelog好schema结合在一起来包含一组。...2)Presto存储单元包括: Page:多行数据集合,包含多个数据,内部仅提供逻辑行,实际以列式存储。...(4)字典block:对于某些,distinct值较少,适合使用字典保存。...主要有两部分组成: 字典,可以是任意一种类型block(甚至可以嵌套字典block),block每一行按照顺序排序编号。 int ids[]表示每一行数据对应value在字典编号。...在查找时,首先找到某一行id,然后到字典获取真实值。 1.5 Presto优缺点 PrestoSQL运行过程:MapReduce vs Presto ?

1.8K30

Python 算法基础篇:图基本概念和表示方法

图可以分为有向图和无向图,有权图和无权图: 有向图:图中边有方向,从一节点指向另一节点。如 A -> B 表示从 A 到 B 有向边。 无向图:图中边没有方向,表示节点之间双向关系。...如果有边连接,那么矩阵元素值通常为 1 ,否则为 0 。 2.2 邻接表表示法 邻接是一种更加节省空间图表示方法,它使用一字典或者数组来存储每个节点及其相邻节点列表。...C'], 'C': ['A', 'B'] } 在邻接字典键代表图中节点,对应值为一列表,包含了与该节点相邻节点。...图创建和基本操作 在 Python ,我们可以使用字典来表示邻接,使用嵌套列表来表示邻接矩阵。下面我们通过示例代码来演示图创建和基本操作。...首先,我们定义一图类 Graph ,包含两个私有属性: _graph_dict 用于表示邻接, _directed 用于表示是否为有向图。

56630

Python数据分析-pandas库入门

pandas使用最多数据结构对象是 DataFrame,它是一面向(column-oriented)二维结构,另一是 Series,一一维标签化数组对象。...DataFrame 既有行索引也有索引,它可以被看做由 Series 组成字典(共用同一索引)。DataFrame 数据是以一或多个二维块存放(而不是列表、字典或别的一维数据结构)。...,可以将 DataFrame 获取为一 Series,代码示例: frame2['state'] frame2.state 可以通过赋值方式进行修改,赋值方式类似 Series。...另一种常见数据形式是嵌套字典,如果嵌套字典传给 DataFrame,pandas 就会被解释为:外层字典键作为,内层键则作为行索引,代码示例: #DataFrame另一种常见数据形式是嵌套字典...5-2出了这些函数。

3.7K20

像对象一样对待数据

对于一刚刚学会 Python 不久开发新手来说,使用数据库 SQL 语句几乎相当于再学一种新语言。...我们假定一表示人类型 Person,包含姓名 name 和生日 birthday 两个字段: class Person(peewee.Model): class Meta:...通常是增加一 is_deleted 字段标记已删除内容。(所以,不要以为在网上把发布过内容删掉就真的不存在了) > 创建关联数据 在程序,经常会有一些具有关联关系数据。...地址:http://docs.peewee-orm.com/en/latest/peewee/quickstart.html > 自动生成代码 peewee 提供了一功能,可以从已有的数据库反向生成数据模型代码...自动生成代码 在我们先前案例,有一些就使用了 peewee。比如 Python 高频词汇(关键字:单词)和押韵检索工具(关键字:押韵)。

71020

SQL优化:一篇文章说清楚Oracle Hint正确使用姿势

[20160912034234937.jpg] *在提示通过@来引用一查询块。 3、提示数据字典 Oracle在11g版本中提供了一数据字典—V$SQL_HINT。...它对n很敏感,如果n值很小,CBO就会生成包含嵌套循环以及索引查找计划;如果n很大,CBO会生成由哈希连接和全扫描组成计划(类似ALL_ROWS)。...这主要是因为它改变了查询驱动,而不是因为全扫描。在使用其他某些提示时,也必须使用FULL提示。只有访问整个时,才可利用CACHE提示将进行缓存。并行组某些提示也必须使用全扫描。...当在一联合索引某些谓词条件并不在联合索引第一时(或者谓词并不在联合索引第一时),可以通过index skip scan来访问索引获得数据。...需要查询条件里面包括所有索引,然后取得每个索引得到rowid列表。然后对这些对象做merge join,过滤出相同rowid后再去获取数据或者直接从索引获得数据。

5.6K340

Pandas 数据结构

import pandas as pd s2 = pd.Series(['w','s','q'],index = [1,2,3]) print(s2) 2)传入一字典dict: 字典key值就是数据标签...(1)创建一 DataFrame 1)传入一列表list: 只传入一单一时,该列表值会显示成一,且行和都是从0开始默认索引。...import pandas as pd df1 = pd.DataFrame(['a','b','c']) df1 2)传入一嵌套列表list: 当传入一嵌套列表时,会根据嵌套列表数显示成多行数据...行和都是从0开始默认索引。 df2 = pd.DataFrame([ ['a','A'],['b','B'],['c','C'] ] ) df2 列表里面嵌套列表也可以换成元组。...行','3行']) df5 4)传入一字典dict: 直接以字典传入DataFrame时,字典key值就相当于索引,若未设置行索引,默认从0开始索引。

1.1K30

【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(一)模式、、索引与视图

视图:从一或几个基本导出 数据库只存放视图定义而不存放视图对应数据,视图是虚 用户可以在视图上再定义视图 注意: 一DBS实例可包含多个数据库 一数据库可包含多个模式...一模式可包含多个、索引、视图... 2....删除 DROP INDEX ; 删除索引时,系统会从数据字典删去有关该索引描述。 示例: 创建示例: 【1】为学生-课程数据库Student,Course,SC三建立索引。...视图 视图特点 虚,是从一或几个基本(或视图)导出 只存放视图定义,不存放视图对应数据 基数据发生变化,从视图中查询出数据也随之改变 4.1 定义视图 1....若一视图是从单个基本导出,并且只是去掉了基本某些行和某些,但保留了主码,我们称这类视图为行列子集视图。 【1】建立信息系学生视图。

13310

第八章《视图》

视图:视图(view)是一种虚拟存在,是一逻辑,本身并不包括数据 作为一select语句保存在数据字典 通过视图,可以展现基部分数据,属兔数据来自定义视图查询中使用 使用视图动态生成...视图是一张虚拟,和真实一样包含一系列带有名称行和数据,视图是从一或多个中导出来数据结构,我们可以通过DML语句(insert,update,delete)来操作视图当中数据,当视图当中数据被修改时...(如果视图不存在,那就创建视图); ALGORITHM:选择select语句运算方法 UNDEFINED:mysql自动选择算法 MERGE;合并,表示将视图设置字段名称和select语句从获取字段内容合并...运算符; (7)位于选择列表子查询; (8)FROM子句中包含多个; (9)SELECT语句中引用了不可更新视图; (10)WHERE子句中子查询,引用FROM子句中; (11)ALGORITHM...; (2)视图没有实际物理记录,而有; (3)是内容,视图是窗口; (4)和视图碎岩都占用物理空间,但是视图只是逻辑概念存在; (5)视图是查看表数据一-种方法,可以查询数据某些字段构成数据

45520

第八章《视图》

视图:视图(view)是一种虚拟存在,是一逻辑,本身并不包括数据 作为一select语句保存在数据字典 通过视图,可以展现基部分数据,属兔数据来自定义视图查询中使用 使用视图动态生成...视图是一张虚拟,和真实一样包含一系列带有名称行和数据,视图是从一或多个中导出来数据结构,我们可以通过DML语句(insert,update,delete)来操作视图当中数据,当视图当中数据被修改时...(如果视图不存在,那就创建视图); ALGORITHM:选择select语句运算方法 UNDEFINED:mysql自动选择算法 MERGE;合并,表示将视图设置字段名称和select语句从获取字段内容合并...运算符; (7)位于选择列表子查询; (8)FROM子句中包含多个; (9)SELECT语句中引用了不可更新视图; (10)WHERE子句中子查询,引用FROM子句中; (11)ALGORITHM...; (2)视图没有实际物理记录,而有; (3)是内容,视图是窗口; (4)和视图碎岩都占用物理空间,但是视图只是逻辑概念存在; (5)视图是查看表数据一-种方法,可以查询数据某些字段构成数据

28710
领券