自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库课堂笔记11(慢查询日志)

分析● 1.观察,至少跑一天,看看生产的慢SQL情况● 2.开启慢查询日志,设置阙值,比如超过5秒钟的就是慢SQL,并抓取出来● 3.explain + 慢SQL分析● 4.show profile● 5.进行SQL数据库服务器的参数调优(运维orDBA来做)总结● 1.慢查询的开启并捕获● 2.explain+慢SQL分析● 3.show profile查询SQL在MySQL服务器里面的执行细节● 4.SQL数据库服务器的参数调优慢查询日志● MySQL的慢查询日志MySQL提供的

2021-10-31 11:05:47 146

原创 数据库课堂笔记10(SQL语句分析)

explain分析SQL语句explainexplain是什么?使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。explain能干嘛?表的读取顺序数据读取操作的操作类型那些索引可以使用那些索引被实际使用表之间的引用每张表有多少行被优化器查询explain怎么玩?explain + SQL语句explain字段解释对上图的表进行解释id表的读取顺序select查询的顺序号,包含一组数字,表示查询中执行select子句

2021-09-13 21:45:26 148

原创 数据库课堂笔记9(SQL函数、MySQL基准测试)

SQL函数函数在计算机语言的使用中贯穿始终,在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作,比如求某列数据的平均值,或者求字符串的长度等。从函数定义的角度出发,我们可以将函数分成内置函数和自定义函数。在 SQL 语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的,下面讲解的是 SQL 的内置函数。什么是 SQL 函数函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维

2021-09-05 15:52:50 221

原创 数据库课堂笔记8(数据库存储引擎)

数据库存储引擎服务层第二层服务层是MySQL的核心,MySQL的核心服务层都在这一层,查询解析,SQL执行计划分析,SQL执行计划优化,查询缓存。以及跨存储引擎的功能都在这一层实现:存储过程,触发器,视图等。通过下图来观察服务层的内部结构连接管理器连接管理器的作用是管理和维持所有MySQL客户端的请求连接,当我们向MySQL发起请求时,连接管理器会负责创建连接并校验用户的权限。对于已经建立的连接,如果没有太久没有发送请求,连接管理器会自动断开连接,我们可以通过设置变量wait_timeout决

2021-09-05 12:36:23 128

原创 数据库课堂笔记7(索引 账户管理)

索引思考在图书馆中是如何找到一本书的?一般的应用系统对比数据库的读写比例在10:1左右(即有10次查询操作时有1次写的操作),而且插入操作和更新操作很少出现性能问题,遇到最多、最容易出问题还是一些复杂的查询操作,所以查询语句的优化显然是重中之重解决办法当数据库中数据量很大时,查找数据会变得很慢优化方案:索引索引是什么索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库

2021-09-04 21:43:38 365

原创 数据库课堂笔记6(视图、事务)

视图视图介绍视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。我们之前学的要运行sql语句有对应的数据库,那么当数据库改变了,我们对应的sql语句也要有所修改。那么现在我们在不改变sql语句的前提下使用不同数据库名,那么视图就是这样的存在。在sql语句与数据库直接联系变为间接联系。中间加入的就是视图。sql语句对应视图,由视图来映射不同的数据库。sql语句可以不用修改,只需要改变

2021-09-04 18:03:06 281

原创 数据库复习

数据库特点持久化存储速度快数据的有效性易拓展sql语句DDL:针对表,库DML:针对表数据的操作DCL:开放权限数据类型数值类型(int float decimal(10,0) double。。)字符串类型charvarchartext枚举enum(“nan”,“nv”)日期类型date(年月日)time(时分秒)timestampdatetime(年月日时分秒)year(年)约束:not nullprimary keyauto_incr

2021-09-01 22:41:05 61

原创 数据库课堂笔记5(MySQL与Python交互)

MySQL与Python交互准备数据准备数据-- 创建一个商品 goods 数据表CREATE TABLE goods( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL, NAME VARCHAR(150) NOT NULL, cate_name VARCHAR(40) NOT NULL, brand_name VARCHAR(40) NOT NULL, price DECIMAL(10,3) NOT NULL DEFAULT

2021-08-30 23:00:10 210

原创 数据库课堂笔记4(SQL语句2)

自关联可以简单的理解为自己与自己进行连接查询。比如:一张 areas 表里面有省市区,我们需要在通过这一张表查询某省对应的所有市。比如:省份选择湖南省,那么湖南省对于的属于湖南省的市,其中再选长沙市,之后选择对应长沙市的区。那么这里面就有三张表,第一张是省表 第二张是市表 第三张是区表这三张表的数据是有关联的,或者是一一对应的。这三张表我们设置为了SQL文件,那么在sqlyog中我们先选择:导入–> 之后选择执行SQL脚本–> 选择路径(选择脚本位置)–> 导入SQL脚本完

2021-08-29 12:02:23 710

原创 数据库课堂笔记3(SQL语句)

SQL语句操作数据库语句(DDL语句)连接数据库mysql -u用户名 -p按空格后会显示 enter password:输入密码举例 sqlyog连接数据库时设置的用户名是root,密码为root。那么在终端输入的时候:mysql -uroot -p 【按回车】enter password:****【*代表root】如下图所示:退出数据库exit 或者 quit在终端输入exit 或者quit注意:不需要加括号。即exit()查看已经创建的数据库show database

2021-08-24 22:52:29 1988 1

原创 数据库作业1

作业1-- 创建 mytest 数据库CREATE TABLE mytest(id INT PRIMARY KEY AUTO_INCREMENT not null);-- 显示当前所有数据库SHOW DATABASES;-- 显示当前使用数据库SELECT DATABASE();-- 使用 mytestUSE mytest;-- 展示该数据库所有表SHOW TABLES;-- 创建 Teacher 表 且拥有字段:教师编号tid(主键) 姓名name 年龄age(默认30) 性别gen

2021-08-24 14:44:06 84

原创 数据库课堂笔记2(SQL语法)

SQL语法基础SQLSQL介绍SQL是结构化查询语言,是一种用来操作RDBMS(关系型数据库管理系统)的数据库语言。当前关系型数据库都支持SQL语言进行操作。即可以通过SQL操作oracle、sqlserver、mysql等关系型数据库。SQL语句主要分为DDL语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。【在sqlyog中创建数据库、建立数据表、对表结构的操作都属于DDL语句,需要了解的语句】DML语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,

2021-06-16 14:21:34 152

原创 数据库课堂笔记1(数据库介绍、MySQL介绍、SQLyog)

数据库数据库介绍数据库介绍数据库(database)简称DB,实际上就是一个文件集合,是一个存储数据的仓库。本质就是一个文件系统,数据库按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查等操作。数据库存储数据特点持久化存储(存储的数据不会因为死机、意外关机等而丢失。是一种特殊的文件)读写速度极高(效率快,对数据的增删改次效率快)保证数据的有效性(本身有数据类型和约束。比如年龄都是正数并且最大200以内,当有负数情况就被约束了是无效数据。)对程序支持非常好,容易扩展(任何语言都支

2021-06-15 14:15:57 641 1

原创 Web高阶课堂笔记8(并发编程-IO模型)

并发编程-IO模型基本概念和术语Unix体系结构关于Unix操作系统的体系结构:内核(Kernel)主要用于控制硬件以及提供运行环境,位于核心部分。系统调用(systemcall)是内核提供的接口。Shell和公共函数库是系统调用之上,应用程序可以使用公共函数库,在部分情况下也可以使用系统调用。Shell是一个命令行解释器程序,可以按照用户的输入执行相关操作,也可以运行其他程序。应用程序大多数情况使用公共函数库,部分情况也可以使用系统调用。一般运维人员使用到Shell脚本。U

2021-05-29 18:41:00 120

原创 复习总结1

1、如何区别可变数据类型和不可变数据类型可变数据类型:列表、字典、集合不可变数据类型:字符串、元组、整数、布尔值、字节从对象内存地址(id)区分:可变:在内存地址(id)不变的情况下,值可变不可变:在内存地址(id)改变的情况下,值也跟着变2、Python垃圾回收机制引用计数引用计数为0的时候,会被回收查看变量引用计数:sys.getrefcount(变量名)循环引用:手动回收,gc.collect()标记清除分代回收2.1、Python中会有函数或成员变量包含单下划线前

2021-05-19 15:17:07 140

原创 Web高阶课堂笔记7(多任务)

多任务多任务多任务介绍多任务:同时做多个事情(多个任务)多任务理解并发:CPU小于当前执行的任务,假多任务。生活中较常见。当每个程序按个进入CPU执行一次的时候,因为在CPU中运行的时间过短造成了几个程序同时运行的假象就是并发,也就是假多任务。并行:CPU大于当前执行的任务,真多任务。生活中少见。当程序各占一个cpu,并不需要时间片轮转就是并行。线程运行没有先后顺序,先到先得(抢到资源分配)实现多任务的三种方式线程进程协程线程线程介绍线程(thread)是操作系统能够

2021-05-15 13:50:02 274

原创 Web高阶课堂笔记6(HTTP协议和静态Web服务器)

HTTP协议和静态Web服务器HTTP协议HTTP协议HTTP协议介绍HTTP协议的全称(HyperText Transfer Protocol),即 超文本传输协议。超文本是超级文本的缩写,指 超越文本限制或者 超链接(a标签),比如图片、音乐、视频、超链接等等都属于超文本。HTTP协议的制作者是蒂姆·伯纳斯·李。于1991年设计出来的,HTTP协议设计之前目的是传输网页数据,现在允许传输任意类型的数据。传输HTTP协议格式的数据基于TCP传输协议的,发送数据之前需要先建立连接(常连接)。

2021-04-20 21:26:01 247

原创 Web高阶课堂笔记5补充(黏包)

黏包现象当发送网络数据时,TCP协议会根据Nagle算法将时间间隔短、数据量小的多个数据包打包成一个数据包,先发送到自己操作系统的缓存中,然后操作系统将数据包发送到目标程序所对应操作系统的缓存中,最后将目标程序从缓存中取出。而第一个数据包的长度,应用程序并不知道,所以会直接取出数据或者取出部分数据,留部分数据在缓存中,取出的数据可能第一个数据包和第二个数据包粘到一起。当超过recv()方法中规定的最大字节数后,会发现内容第一次只会发送到1024【假设recv(1024)】个字节的内容,而剩下的字节内容

2021-04-12 13:34:47 67

原创 Web高阶课堂笔记5(TCP、UDP的客户端服务端连接、socket编程)

UDP发送与接收数据IP地址介绍与分类IP地址与IP协议规定网络地址的协议叫IP协议。定义的地址为IP地址。广泛采用的V4版本的即IPV4,它规定网络地址由32位2进制表示。注意⚠️:一个IP地址通常写成四段十进制数范围 0.0.0.0 - 255.255.255.255windows和Linux查看网卡信息windows查看网卡信息:终端输入:ipconfigLinux查看网卡信息(mac或者虚拟机上查看)终端输入:ifconfigIP地址分类#mermaid-svg-

2021-04-11 10:00:36 550

原创 Web高阶课堂笔记4(python元类及迭代器生成器)

_getattr _ 与 _ getattribute _魔法函数_getattr _魔法函数_getattr _:是当类调用一个不存在的属性时才会调用getattr魔法函数,他传入的值哦那个item就是你这个调用的不存在的值。如下图所示:user.age:是个不存在的属性。要解决方法一:在user类中添加age属性。方法二:使用getattr魔法函数。那么此时魔法方法_getattr _(self, item):中的item就自动对应不存在的属性。此处对应age。当age这个属性不存在的时候触

2021-03-31 15:05:54 68

原创 Web高阶课堂笔记3(python垃圾回收及性能分析)

通过实例方法名字的字符串调用方法getatter:获取getatter(对象,属性【对象中有没有该属性】,None【可选填】)字符串中使用find方法查找,有的话会返回下标,没有的话则-1。 使用getatter获取看是否有find方法。当没有的方法会报错,此时,第三个参数可以使用None,当没有属性的时候返回None已知:有三个图形类:Circle、Triangle、Rectangle都有一个获取图形面积的方法,但是方法名字不同。需求:实现一个统一获取面积的函数,使用每种方法名进行尝试,

2021-03-24 10:19:20 73

原创 Web高阶课堂笔记2(类与对象深度问题与解析)

如何派生内置不可变类型并修改实例化行为练习需求自定义一个新类型的元组,对于传入的可迭代对象,只保留其中int类型且值大于0的元素。需求:定义IntTuple类IntTuple([2, -2, ‘jr’, [‘x’, ‘y’], 4])得到(2, 4)单独将IntTuple([2, -2, ‘jr’, [‘x’, ‘y’], 4])取出正数并且大于0可以用for循环遍历,此处用推导式简化。但是可以发现。(推导式)外部部的元组()打印的结果是生成器。如果使用列表[ 推导式 ]的形式则打印出[2,

2021-03-20 20:33:22 125

原创 property

正常情况下我们使用类中的方法,都需要在方法名后面加上括号表示调用方法。而property可以使我们直接不加括号就能调用方法。例如:原本调用方法需要d.test() 通过property只需要d.test 即可调用方法,不需要括号。@propeerty装饰器在需要访问的方法上面直接添加property装饰器。注意:使用装饰器后,被装饰的方法不能再加括号,会报错。同时,被装饰的方法不能进行修改即不能传参,只能为只读模式,即只能访问。这需要其他两个装饰器:重新赋值:@xx. setter【xx

2021-03-20 19:24:59 116

原创 web高阶课堂笔记1(深入类和对象)

鸭子类型和多态多态的概念:java 和 c# 是这一类是强类型语言。使用时,比如整数1 需要声明类型 int a = 1 。而 python崇尚鸭子类型【即弱类型语言,也可以称为动态语言】。即只需要a=1即可不需要写明类型。在调用实例方法时不检查类型,只要方法存在,参数正确就可以调用,即【一个对象只要看起来像鸭子,走路像鸭子,就能看作鸭子。】这一类型就是鸭子类型。如下图所示:在实参中传入的参数,只要是可迭代对象就可以运行。【此处即只要长得像可迭代对象即可】python中的多态:定义时的类型和运行

2021-03-17 14:00:00 144

原创 课堂笔记18(文件读写操作)

文件操作文件操作介绍在实际操作中,通常需要将数据写入到本地文件或者从本地文件中读取数据等操作。常见的本地文件有:本地文件操作步骤找到文件所在位置打开文件操作文件关闭文件python方法操作open()函数open(file, mode=‘r’, encoding=None): 打开文件file:文件路径mode:操作文件模式·r:只读模式·w:写入·a:追加encoding:指定文件编码·utf-8:当文件中文乱码时,则指定编码为utf-8解决。...

2021-03-05 15:23:47 308

原创 课堂笔记17(异常、模块、包)

异常捕获异常:当python无法正常处理程序的时候就会发生异常。异常是python对象,表示错误。要整数1的时候如果输入浮点数1.0会报错,改成转为浮点数的时候能够执行,但是如果失误多输入了一个点的时候又会报错,这样就可以发现要实现一个内容的时候,可能会存在多种失误从而引发异常导致报错,此时如果用判断可以实现,但是需要很多判断条件过于复杂。通过捕获异常避免报错问题后程序的终止。异常捕获代码块try:正常程序执行此块代码except:抛出欧五执行此代码块例:通过上图可以发现当发生报错的

2021-03-02 18:44:09 170 1

原创 第十一次作业

作业1作业2

2021-03-02 13:26:31 65

原创 课堂笔记16(面向对象:魔法方法、单例模式)

魔法方法魔法方法:在python中,有一些内置好的特定方法,这些方法在进行特定的操作时会自动被调用,成为魔法方法。魔法方法的命名总是被双下划线包围,比如: _ 名称_常用魔法方法_ doc_ : 用来查看类的说明文档(类中的注释说明)_ module_:查看当前类所在的模块_class _:查看对象(根据所要查看的对象调用对象会不同。)_dict _:用于获取类或者实例的属性字典注意:实例属性存储在对象中,所以通过对象._dict_获得的是实例属性除实例属性以外的

2021-02-15 18:56:01 152

原创 第十次作业

作业1作业2

2021-02-01 23:07:39 191

原创 课堂笔记15(面向对象编程:成员、属性、方法。继承、多态)

面向对象成员类的成员属性实例属性实例属性:属于对象,只能通过对象访问定义:Self.属性名称例如:self.name. self.age 都是实例属性访问:self.属性名称 或者 对象.属性名称弊端:每创建一个对象的时候都要传入默认的self.country = ‘中国’,会造成内存消耗的浪费。此时,就需要用到类属性。多个对象都是属于中国这个类的。类属性类属性(静态属性):属于类,保存在类中,在创建时,仅创建一份,并且所有对象都共享静态属性。执行时可以是类访问也可以是对象访问。

2021-01-30 19:18:28 131

原创 课堂笔记14(面向对象)

面向对象编程介绍面向对象编程:Object Oriented Programming 简称:oop,是一种程序设计思想。需要注意的是,与之对应的是面向过程编程思想。实际上,能够使用面向对象编程思想实现的程序也能够通过面向过程完成。只是看哪种思想更适合当前开发需求。面向对象与面向过程区别:面向过程:根据业务逻辑从上到写写代码面向对象:将数据与函数绑定到一起,进行封装,减少重复代码的重写过程。面向对象概念及术语类:是一个抽象的概念,仅仅是模板。用来描述具有相同属性和方法的对象的集合。比如:“人”是

2021-01-26 15:44:39 93

原创 第九次作业

作业1name = ['jerry', 'hansen', 'Amy', 'Wendy', 'Tom', 'Bob']li = [i.upper() for i in name if len(i) > 3]print(li)作业2li = [(i, j) for i in range(0, 6, 2) for j in range(1, 6, 2)]print(li)嵌套+判断。li= [(i, j) for i in range(0, 6) if i % 2 == 0 f

2021-01-20 19:50:53 124

原创 课堂笔记13(函数闭包、装饰器、推导式、迭代器、生成器)

函数闭包闭包的定义需要满足的三个条件:在一个外函数中定义一个内函数内函数里运用了外函数的临时变量外函数的返回值 是内函数的引用函数的引用图文解析:图中t_o这个函数调用赋值的变量就可以称为函数的引用还有函数调用时候的函数名取掉括号。如图中 tesr_one 也可以称为函数的引用。闭包三条件图文解析:1,外函数中定义内函数2、内函数运用了外函数的临时变量外函数的临时变量也可以称为局部变量3、外函数的返回值是内函数的引用闭包解析:调用test_in:正常调用后执行

2021-01-20 18:22:33 131

原创 第八次作业

作业1# 自定函数进行三个参数的相加,返回三个数的和def num_1(a, b, c): d = a + b + c print(f"三个数的和:{d}") # 传出返回值 return ddef num_2(d): a = d / 3 print(f'三个数的平均值为:{a}')# 用户自己输入3个数字a = int(input("请输入第一个数字:"))b = int(input("请输入第二个数字:"))c = int(inpu

2021-01-18 18:47:59 158

原创 课堂笔记12(常见内置文件方法、匿名函数)

内置文件中常用方法内置函数和类统称为内置方法常见内置文件方法:range():生成一个左闭右开区间的范围,并以列表形式返回。range(start,stop,step)。start:起始值默认为0。stop:结束值,但不包括stop。 step:步长,默认为1。zip():用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 zip(iter[,iter2[…]])map(func, *iterables): 将iterables里面的元

2021-01-18 15:32:45 91

原创 课堂笔记11(函数、函数的参数、函数的返回值、函数作用域、函数递归)

函数函数介绍函数:是组织好的,可重复使用的,用来实现单一、或相关联功能的代码段。函数作用:提高应用的模块性与代码的复用性例如:将一个代码重复10遍,如果直接复制粘贴过于繁琐和多【不方便】,用函数可以提高代码复用性,直接函数设置好重复的次数即可。函数只有在调用的时候才会执行。调用方式:函数名+()。如果()内需要参数则填写参数。自定义函数已经接触过的内置函数len() 【内置函数,直接调用传参数来达到求参数的长度目的】print()input()我们也可以自定义函数定义规则:函数

2021-01-17 16:54:54 226

原创 第七次作业

作业1作业2作业3# 将变量st_1的输入语句作为下列判断条件。st_1=input("最近学习了吗?yes/no:")# 作为整个判断语句大框架。填写yes的时候进入下一步循环和判断语句。if st_1 == "yes": # 判断成功后打印内容。 print("very good") # 将选项进行换行设置。 print("1.python", "2.高数", "3.退出", sep="\n") # 将st_2输入语句作为子判断条件。

2021-01-13 11:37:29 104

原创 课堂笔记10(顺序执行、条件判断、循环控制、range函数)

顺序执行对于普通语句,代码从上至下执行。函数、方法的代码:虽然代码从上至下执行,但是函数只有在调用时候才会执行。执行规则:普通语句,从上至下直接执行。碰到函数,将函数体载入内存,并不直接执行,需要调用再执行。碰到类,执行类内部的普通语句,但是类的方法只载入,不执行,需要调用再执行。碰到if、for等控制语句,按相应控制流程执行。碰到@,break,continue等,按规定语法执行。碰到函数、方法调用等,转而执行函数内部代码,执行完毕继续执行原有顺序代码。程序主入口...

2021-01-12 21:21:35 436

原创 课堂笔记9(集合、可变类型不可变类型总结)

集合(set)集合介绍集合是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素,是可变数据类型。集合数据类型的核心在于自动去重。集合创建集合使用{}框定元素,并以逗号进行分隔。集合的样式: se_1 = {a, b}s = {ele1, ele2, ele3…}s = set()s = set(可迭代对象)注意⚠️如果直接 s = {}创建的是字典(dict)形式。s1 = set()这样才是创建了空的集合。同时set()括号内可添加可迭代对象。s2 = set([1

2021-01-08 13:44:25 2417

原创 第六次作业

作业一:zip方法:作业二:作业三(暂时不做):作业四:字符串转为字节:方法一:方法二:字节转为字符串:作业五:可变数据类型:列表 字典 ,其中列表为序列结构,字典为集合。不可变数据类型:元组 字符串 字节 数值(整数、浮点数、复数、bool)其中元组和字符串为序列结构但是不可迭代。...

2021-01-07 16:11:18 163

空空如也

空空如也

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

TA关注的人

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