自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 给什么字段加索引?索引的类型?

我们放在州和积分列上的复合索引包含了关于每个顾客的三条信息,ID 州 积分,因此如果在select里面包含这三者中的内容,mysql可以完整使用索引来满足查询,这就叫覆盖索引:一个包含所有满足查询需要的数据的索引。基于哈希表实现, 对索引字段计算哈希值,直接指向对应的物理位置。前缀索引:如果在上面创建索引的列是一个字符串列,我们的索引会占用大量的空间,且无法达到很好的性能,索引越小越好,因为它们可以存在内存中,让搜索更好,所以索引字符串列的时候,我们不想在索引中包含整个列,只想包含列的前几个字符或列前缀。

2026-05-06 14:27:16 301

原创 Numpy 数据库

多维性:支持0维(标量,数字),1维(向量),2维(矩阵)及更高维同质性:所有元素类型必须一致(通过dtype指定),不同数据类型会被强制转换成相同数据类型高效性:基于连续内存块存储,支持向量化运算。

2026-04-06 22:35:13 69

原创 数据定义:模式、表、索引

2025-12-03 22:54:25 225

原创 数据管理技术的三个发展阶段

特征维度第一阶段:数据集第二阶段:文件核心管理者应用程序操作系统的文件系统结构性无结构,是数据的简单堆砌有结构,以记录为单位的流式文件数据独立性完全不独立,逻辑和物理结构均由程序定义独立性差,逻辑结构仍由程序定义,物理结构由OS管理持久性临时性,通常随程序结束而消失永久性,长期存储在外部设备上共享性不共享,数据与程序一一对应共享性差,文件结构是针对特定程序的,不同程序难以共用数据冗余极高高,因为文件是为应用服务的,相同数据可能在不同文件中重复存储程序员负担沉重,需要管理所有数据细节。

2025-11-30 21:43:45 926

原创 关系数据库

1.1 关系(二维表)域是一组具有相同数据类型的值的集合笛卡尔积的子集叫做关系1.2 关系模式(二维表的框架)1.3 关系数据库。

2025-11-16 19:52:30 229

原创 三级模式、二级映像、概念和逻辑结构

设计数据库主要是满足信息管理和数据操作的要求:在数据库中应该存储和管理哪些数据对象:对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作。

2025-11-14 20:14:23 316

原创 数据库的范式

主属性是候选码的组成部分,主属性本身可能就是一个候选码(如果候选码是单属性),也可能是某个候选码的一部分(如果候选码是属性集)。主属性是所有候选码中包含的属性的总和,一个表可以有多个主属性。在选课表(学号,课程号,成绩)中,单独的 学号 或 课程号 都不能唯一标识一条记录,因为一个学生可以选多门课,一门课可以被多个学生选,但属性集 (学号,课程号) 可以唯一标识一个学生的一门课的成绩,因此它是这个表的唯一候选码。在学生表(学号,姓名,身份证号,班级)中,学号 可以唯一标识一个学生,是一个候选码。

2025-11-10 22:26:34 564

原创 聚集索引和非聚集索引

IO操作的效率很低,在大量数据存储中,查询时我们不能一下子将所有的数据全部加载到内存中,只能逐节点加载,如果采用平衡二叉树作为索引结构,那么磁盘的IO次数和索引树的高度是相关的,平衡二叉树由于树深度过大而造成IO读写过于频繁,进而导致效率低下。按照聚集索引排列顺序,查询显示一定范围数据的时候,由于数据都是紧密相连,数据库可以从更少的数据块中提取数据,节省了大量的IO操作。所有索引都是非聚集索引,所有索引的 B+Tree 的叶子节点存储的都是数据行在 .MYD 文件中的物理地址。索引文件:.MYI 文件。

2025-11-01 21:27:37 1063

原创 网络爬虫介绍

一种无状态的(不会存储用户的信息,即本次请求响应和下一次的请求响应是没有关系的,不会发生数据传递),以请求\应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系统灵活的互动。在前面爬取'https://www.baidu.com'百度首页代码这个例子里,我们发现爬取的数据并不全,这是因为:请求头中有很多字段,其中user-agent字段是必不可少的,表示客户端的操作系统以及浏览器的信息。爬虫的作用:数据采集、软件测试、抢票、网络安全、web漏洞扫描。

2025-09-26 22:31:24 2464

原创 一些模块及应用

用于和操作系统进行交互,通用操作包括:获取平台信息、对目录的操作、判断操作。

2025-09-17 14:11:16 764

原创 正则(二):进阶

(ab)\numP<name>)P=name)search():扫描整个字符串并返回第一个成功匹配的对象,如果匹配失败,则返回Nonefindall():以列表形式返回整个字符串中所有匹配到的字符串,不需要通过group()提取sub():将匹配到的数据进行替换。sub(pattern,repl,string,count) pattern:正则表达式(代表需要被替换的,也就是字符串里面的旧内容);repl:新内容;string:字符串;count:指定替换次数。

2025-09-08 14:35:55 782

原创 正则(一):基础与使用

记录文本规则的代码,需要导入re模块。语法比较复杂,可读性较差,但通用性很强,适用于多种编程语言。步骤:导入re模块;使用match方法进行匹配操作,re.match()能匹配出以×××开头的字符串,如果起始位置没有匹配成功,返回None;如果上一步数据匹配成功,使用group()提取数据。match是从开始位置匹配,整体进行匹配,匹配不到就没有。

2025-09-07 12:32:31 877

原创 线程、进程、协程

线程是cpu调度的基本单位,每一个进程至少都会有一个线程,这个线程通常就是我们所说的主线程。进程是操作系统进行资源分配的基本单位,每打开一个程序至少就会有一个进程。一个进程默认有一个线程,进程里面可以创建多个线程,线程是依附在进程里面的,没有进程就没有线程。

2025-09-06 10:20:19 2102

原创 迭代器、生成器

可迭代对象Iterable:可以用for...in...这类语句遍历读取数据的对象称之为可迭代对象,遍历是依次从对象中把一个个元素取出来的过程。可迭代对象的条件:对象实现了__iter__()方法;__iter__()方法返回了迭代器对象。isinstance():判断一个对象是否是可迭代对象或者是一个已知的数据类型。迭代器是一个可以记住遍历位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束,迭代器只能往前不会退后。

2025-09-03 20:26:32 836

原创 文件读写操作

open():创建一个file对象,默认是以只读模式打开read(n):n表示从文件中读取的数据的长度,没有传n值就默认一次性读取文件的所有内容write():将指定内容写入文件close():关闭文件文件名.name:返回要打开的文件的文件名,可以包含文件的具体路径文件名.mode:返回文件的访问模式文件名.closed:检测文件是否关闭,关闭就返回True。

2025-08-29 11:20:52 487

原创 面向对象编程(下):单例模式与魔法方法

是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例模式就能派上用场。优点是可以节省内存空间,减少了不必要的资源浪费;弊端是多线程访问的时候容易引发线程安全的问题。有四种实现方式:通过@classmethod;通过装饰器实现;通过重写__new__()实现(重点);通过导入模块实现。通过重写__new__()实现通过导入模块实现,在同一个模块中调用两次或者在不同的模块中分别调用,得到的内存地址都是一样的,所以模块是天然的单例模式。

2025-08-26 21:48:16 553

原创 面向对象编程(中):封装、继承、多态

面向对象的三大特性:封装、继承、多态。

2025-08-24 23:20:39 2290

原创 面向对象编程(上):基础

面向过程是先分析出解决问题的步骤,再把步骤拆成一个个方法,是没有对象去调用的,通过一个个方法的执行解决问题。(需要实现一个功能的时候,重要的是过程,分析出一个个步骤,并把一个个步骤用一个个函数去实现,再依次去调用一个个函数即可,每一个步骤都需要自己亲力亲为)面向对象是将编程当成一个事物(对象),对外界来说,事物是直接使用的,不用去管内部的情况,而编程就是设置事物能做什么事情。(需要实现一个功能的时候,看重的是谁去帮我做这件事情。

2025-08-18 22:13:09 880 1

原创 闭包、装饰器

在嵌套函数(嵌套定义)的前提下,内部函数使用了外部函数的局部变量,而且外部函数的返回值是内部函数的函数名,我们就把使用了外部函数变量的内部函数称为闭包。每次开启内函数都在使用同一份闭包变量。使用闭包的过程中,一旦外函数被调用一次,返回了内函数的地址,虽然每次调用内函数会开启一个函数,但执行后就会消亡。

2025-08-16 10:55:42 568

原创 异常、模块与包

首先创建一个Exception('××')对象,××是异常提示信息,然后用raise抛出这个异常对象。并没有打印出哈哈哈,因为抛出异常后代码不能继续往下执行了raise Exception("抛出一个异常")print("哈哈哈")funa()"""funa()raise Exception("抛出一个异常")Exception: 抛出一个异常"""用户输入密码,判断输入的长度是否大于等于6,如果输入的长度不足6位,就报错,即抛出自定义异常,并捕获该异常。

2025-08-12 22:26:16 1272

原创 函数的各类应用

在一个函数里面定义另一个函数print("晚上在学习")print("python基础")course()study()"""晚上在学习python基础"""

2025-08-09 10:35:29 642

原创 深、浅拷贝

变量li和li2指向同一个列表,等于完全共享资源。

2025-08-03 11:47:03 365 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除