自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shawn派大星

随笔 : https://www.cnblogs.com/songhaixing/

  • 博客(31)
  • 资源 (7)
  • 问答 (7)
  • 收藏
  • 关注

原创 GO语言开发之路

Go语言开发之路????????整洁目录连接

2021-02-26 12:10:42 240

原创 Linux基础

Linux基础????????整洁目录连接

2021-02-26 12:07:09 4885 1

原创 Python基础到进阶

Python基础到进阶????????

2021-02-26 12:02:32 4776

原创 Docker技术

Docker技术????????

2021-02-26 11:58:57 210

原创 计算机核心基础

计算机核心基础????

2021-02-26 11:56:43 204

原创 MySQL

MySQL????????????????????????????????

2021-02-26 11:54:21 1018

原创 数据库读现象(问题)

引入1.什么是读现象(为什么会有)在数据库系统中, 多个事务的并发进行, 在读取数据方面可能遇到一些问题, 包括 : 脏读 、不可重复读、幻读2.是否所有数据库都有读现象对于一些数据库管理软件会自带相应的机制去解决脏读、不可重复读、幻读等问题(mysql的Rr机制和Next-Key Lock解决这个问题,下篇文章详细介绍)因为这些自带的机制, 下面的一些实验现象可能在某一数据库管理软件的默认机制下并不成立, 即我们并不能在所有数据库管理软件中看到所有的读现象所以此处我们暂且抛开具体的某个数

2021-02-26 17:26:25 411

原创 数据库事务(Transaction)详解

一.事务1.什么是事务事务是由一条或多条SQL语句组成的逻辑执行单元, 可以比喻成一个容器, 里面放的就是一堆SQL语句, 这些语句要么全部执行成功, 要么一个都无法执行成功(原子性)2.为什么使用事务对数据进行一系列的操作的时候, 为了防止这些操作中部分操作成功而另一些操作失败, 从而造成数据的不正确性, 这个时候我们就需要使用事务将其回滚到原来的状态3.如何使用事务关键字????开启事务begin; # 或者下面的语句 start transaction;????事

2021-02-26 15:47:35 7539

原创 匿名函数在列表生成式中的应用产生的闭包函数延迟绑定问题

匿名函数在列表生成式 (推导式) 中的应用产生的闭包函数延迟绑定问题先看下面这个函数:def num(): return [lambda x: x * i for i in range(4)]print([func(2) for func in num()])再不运行结果的情况下心算下它的结果…是不是算到 [0,2,4,6] ?于是在pycharm里面运行了一下 : [6,6,6,6], 百思不得其解, 我们先来把匿名函数变成普通函数, 这样好理解一点 :def num():

2021-02-26 14:16:56 221

原创 慢查询优化的基本步骤、慢日志管理

十一.慢查询优化的基本步骤先运行看看是否真的很慢,注意设置SQL_NO_CACHEwhere条件单表查,锁定最小返回记录表。这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始查起,单表每个字段分别查询,看哪个字段的区分度最高explain查看执行计划,是否与1预期一致(从锁定记录较少的表开始查询)order by limit 形式的sql语句让排序的表优先查了解业务方使用场景加索引时参照建索引的几大原则观察结果,不符合预期继续从第一个步骤开始分析十二.慢日志管理慢

2021-02-25 19:42:38 447

原创 MySQL查询优化 : explain 详解

十.MySQL查询优化 : explain官方文档 : https://dev.mysql.com/doc/refman/8.0/en/explain-output.htmlps : 强调 rows 是核心指标,绝大部分 rows 小的语句执行一定很快。所以优化语句基本上都是在优化rows1.explain 是什么explain 简称查看执行计划,使用 explain 关键字可以模拟优化器执行SQL查询语句,从而知道MySQL 是如何处理 SQL 语句的2.explain 如何使用语法 : ex

2021-02-25 19:41:18 345

原创 回表、覆盖索引、联合索引、最左前缀 ## 匹配原则、索引下推

九.回表、覆盖索引、联合索引、最左前缀匹配原则、索引下推1.创建一张表, 并插入记录create table user( -> id int not null auto_increment, -> name char(16) not null, -> age int not null, -> primary key(id), # id 为主键并设置索引(聚集索引) -> index index_name(nam

2021-02-25 19:40:12 549

原创 聚集索引、辅助索引、MySQL索引管理、如何正确建立索引、

四.聚集索引与辅助索引数据库中的 B+树 索引可以分为聚集索引(clustered index)和辅助索引(secondary index), 聚集索引与辅助索引相同的是:不管是聚集索引还是辅助索引,其内部都是B+树的形式,即高度是平衡的, 不同的是 :聚集索引的叶子节点存放的是一整行完整的信息, 而辅助索引的叶子节点存放的并非完整信息(下面介绍)1.聚集索引 (Clustered Index)InnoDB 聚集索引的叶子节点存储行记录,因此 InnoDB 必须要有且只有一个聚集索引如果表定义

2021-02-25 19:39:03 1291

原创 索引介绍、索引原理、索引的数据结构(二叉排序树、平衡二叉树、B树、B+树)

引入本篇博客偏理论, 将会介绍一下知识:索引介绍索引原理索引的数据结构(二叉树—>平衡二叉树—>B树—>B+树)聚集索引与辅助索引MySQL索引管理创建和删除索引的语法创建索引后的测试 (查询速度的变化)如何正确使用索引回表覆盖索引联合索引最左前缀匹配索引下推MySQL查询优化 : explain慢查询优化的基本步骤慢日志管理一.索引介绍1.什么是索引索引是对数据库表中一列或多列的值进行排序的一种数据结构, 使用索引可以快速访问数据库表中的特定

2021-02-25 19:36:26 1452 1

原创 Mysql安装(Linux)

引入前面一篇介绍了 Windows 版本的安装, 下面介绍 Linux 版本的安装一.清理服务的配置环境安装之前先清理干净服务配置环境, 避免带来不必要的影响1.检查是否已安装 MySQL 软件包????查看系统中已安装的 rpm 软件包列表并过滤出 mysqlrpm -qa | grep mysql????类似 mysql-libs-5.1.52-1.el6_0.1.x86_64 这种代表已经安装了, 我们将其卸载rpm -e mysql-libs-5.1.52-1.el6_0.1.x8

2021-02-24 22:54:30 277

原创 mysql多表查询之综合练习

一.练习1.查询每个部门最新入职的员工信息准备表,并插入数据create database emp_dep;use emp_depcreate table emp( id int primary key auto_increment, emp_name varchar(16) not null, sex enum("male","female") default "male", age int unsigned not null, entry_date

2021-02-23 21:06:00 627

原创 Mysql之流程控制( if、while、repeat、loop)

一.流程控制1.条件语句 : ifdelimiter %%%create procedure p01(in num int)begin if num = 1 then select 1; elseif num = 2 then select 2; else select 3; end if;end %%%delimiter ;2.循环语句while 循环delimiter %%%create procedure p0

2021-02-22 20:50:12 348

原创 Mysql之函数(内置函数、自定义函数(定义、调用、删除))

一.函数1.什么是函数上面介绍的存储过程类似于 python 中的自定义的函数而这里的函数指的是 mysql 提供的内置函数2.常用内置函数介绍????????mysql 内置函数官方文档????????????????mysql 内置函数中文文档????????数学函数ROUND(x,y) # 返回参数x的四舍五入的有y位小数的值RAND() # 返回 0 到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值聚合函数(常用于GR

2021-02-22 17:58:03 809

原创 Mysql之存储过程(无参、有参(in、out、inout)))

一.存储过程1.什么是存储过程存储过程中包含了一系列的 SQL 语句, 就类似于 Python 中定义的函数, 通过调用存储过程名(函数名)来执行其内部的一堆 sql 语句(Python代码)2.使用存储过程的优缺点优点 :用于替代程序写的 SQL 语句, 实现程序与 SQL 语句的解耦基于网络的传输, 只传"存储过程名"比传一堆的 SQL 语句的数据量小的多缺点 :程序的可扩展性非常低3.应用程序与数据库结合使用的三种开发模式第一种"应用程序" : 程序员自己

2021-02-21 18:32:16 2266

原创 Mysql之事务

一.事务1.什么是事务事务是由一条或多条SQL语句组成的逻辑执行单元, 可以比喻成一个容器, 里面放的就是一堆SQL语句, 这些语句要么全部执行成功, 要么一个都无法执行成功(原子性)2.为什么使用事务对数据进行一系列的操作的时候, 为了防止这些操作中部分操作成功而另一些操作失败, 从而造成数据的不正确性, 这个时候我们就需要使用事务将其回滚到原来的状态3.事务的四大特征 (ACID)原子性(Atomicity) : 事务是一段程序的最小执行单元, 不可再分(就如同自然界的原子不可再分

2021-02-17 10:50:15 223

原创 Mysql之触发器

一.触发器1.什么是触发器对一张表进行 : 增、删、改操作的时候, 自动触发预先编译好的 SQL 语句的执行 (没有查操作)2.触发器的作用保证数据的完整性, 还可以起到类似于事务回滚的效果, 帮我们实现监控、日志等3.自动触发情况增前、增后删前、删后改前、改后4.注意点说明delimiter : 改变输入的结束符,默认情况下输入结束符是分号 “;”,下面我把它改成了自定义 “%%”,这样做的目的是把多条含分号的语句做个封装,全部输入完之后一起执行,而不是一遇到默认的分号结

2021-02-17 10:49:18 290

原创 Mysql之视图

一.视图1.什么是视图视图就是通过查询得到一张虚拟表(并非真实存在), 然后保存下来, 下次可以直接使用视图的本质也是一张表2.视图的作用如果要频繁的操作一张虚拟表, 就可以将其制作成视图后直接操作3.视图的使用语法 : create view [表名] as [查询表的语句]创建两个相互关联的表select * from emp;select * from dep;创建视图create view emp_dep_view as select *

2021-02-17 10:48:18 246

原创 MySQL数据备份与IDE工具介绍

一.IDE工具介绍 (Navicat)mysql 的可视化工具, 放标我们测试使用, 生产环境中还是推荐使用 mysql 命令行Navicat 正版 : http://www.navicat.com.cn/productsNavicat 15 绿化版 : http://www.downcc.com/soft/430673.html0.Navicat 官方使用手册超级详细 : https://www.navicat.com.cn/manual/online_manual/cn/navicat/win

2021-02-09 11:29:28 309

原创 pymysql模块的使用(mysql的增删改查,execute的注入问题,指针移动scroll,事务处理回滚rollback(),获取最后一条记录的自增id : lastrowid)

引入1.什么是 pymysql**pymysql **是 Python 中用来操作 mysql 的第三方模块(库)(就是一个mysql的客户端)pymysql 是 Python3 之后出来的模块, 而 Python2 中使用 mysqldb 操作数据库Django 中也可以使用 pymysql 连接 mysql 数据库2.pymysql 的安装终端命令行pip3 install pymysql # 或者使用下面的方式pip3 install -i http://pypi.douba

2021-02-08 14:57:32 778

原创 Mysql的安装之Linux平台(二进制包安装,rpm源码包安装,修改密码,设置远程访问,跳过授权表(skip-grent-table))破解密码)

引入前面一篇介绍了 Windows 版本的安装, 下面介绍 Linux 版本的安装一.清理服务的配置环境安装之前先清理干净服务配置环境, 避免带来不必要的影响1.检查是否已安装 MySQL 软件包????查看系统中已安装的 rpm 软件包列表并过滤出 mysqlrpm -qa | grep mysql????类似 mysql-libs-5.1.52-1.el6_0.1.x86_64 这种代表已经安装了, 我们将其卸载rpm -e mysql-libs-5.1.52-1.el6_0.1.x8

2021-02-05 14:02:41 244

原创 MySQL记录的详细操作(DML语句,INSERT插入,UPDATE更新,DELETE删除,SELECT查询,单表查询详细操作,多表查询详细操作)

引入1.什么是 DMLDML是 Data Manipulation Language 的缩写, 意思指数据库操纵语句, 负责对数据库对象运行数据访问工作的指令集, 常用的有查询(SELECT)、插入(INSERT)、更新(UPDATE)、删除(DELETE)2.常用指令介绍INSERT : 实现对数据(记录)的插入UPDATE : 给定条件, 实现对数据的更新DELETE : 实现对数据的删除SELECT : 实现对表数据的查询一.INSERT (插入)1.语法介绍????语法一 :

2021-02-04 18:57:22 597

原创 记录相关操作之多表查询(交叉连接,笛卡尔积,内连接inner join,外连接left|right join,符合条件连接查询,子查询:IN,NOT IN,ANY,ALL,EXISTS)

引入MySQL是关系型数据库, 表与表之间是可以建立联系的, 相关联的两张表或多张表的查询就需要使用一些方法, 下面介绍 MySQL 的多表查询 :多表连接查询交叉连接内连接外连接符合条件连接查询子查询一.创建两张表(准备工作)五个部门, 九个员工(这个随意), 为了实验方便, 设置一个部门没有员工(FI), 设置一个员工不属于任何部门(Lina)create table dep( id int primary key auto_increment, name

2021-02-04 17:55:34 508

原创 记录相关操作之单表查询(查询select,from,条件where,分组group by,过滤having,去重distinct,排序order by,显示条数limit)

一.单表查询完整语法1.书写的语法顺序selectdistinctfromwheregroup byhavingorder bylimit2.完整语法select [字段1,字段2...] from [表名] where [条件] group by [字段] having [分组后的过滤条件] order by [排序字段+顺序] limit [显示条数];二.关键字执行的优先级关键字的优先级是帮助你正确且高效查询数据的前提, 需要重点

2021-02-03 21:42:27 2196

原创 MySQL模式设置方式介绍(严格模式:STRICT_TRANS_TABLES,无引擎提交:NO_ENGINE_SUBSTITUTION,填补字符长度:PAD_CHAR_TO_FULL_LENGTH)

引入我们之前所学的表数据类型中定义 char 或者 varchar 字段, 当你写入长度超过了你指定的长度, 他也不会报错, 这对于mysql来说是没有任何意义的本篇文章主要介绍 :STRICT_TRANS_TABLES : 严格模式NO_ENGINE_SUBSTITUTION : 无引擎提交PAD_CHAR_TO_FULL_LENGTH : 填补字符到全长度ps : char不指定宽度. 默认宽度是1, null 关键字没有宽度限制一.严格模式与非严格模式简单来说就是MySQL自身对数

2021-02-03 14:04:49 8992 3

原创 MySQL表的详细操作(表数据类型详解, 表完整性约束详解)

引入在学习表的详细操作之前有必要先了解存储引擎这块的知识????????存储引擎一.表介绍库是一个文件夹, 那么表就是一个文件, 而表中的一条记录就相当于文件的一行内容, 不同的是表中的记录都有对应的标题, 这个标题就称之为表的字段如上图所示 id、name、age、sex就称之为字段, 下面的都称之为一条条的记录二.创建表 (creat)1.创建表的完整语法在同一张表内, 字段名不能相同宽度和约束条件可选, 字段名和类型是必须的约束条件可以写多个最后一个字段不能有逗号,否则报错

2021-02-01 23:46:15 467 1

原创 Mysql完整性约束详解(字段唯一,非空,主键primary key,外键foreign key,自增长auto_increment)

引入1.什么是完整性约束, 为什么使用为了规范数据格式, 在用户进行插入、修改、删除等操作时,DBMS(数据库管理系统(Data Base Management System))自动按照约束条件对数据进行监测, 使不符合规范的数据不能进入数据库, 以确保数据的完整性和唯一性2.约束分类表完整性约束条件与字段数据类型的宽度一样, 都是可选参数,分为以下几种: 完整性约束关键字 含义 NULL 标识字段值

2021-02-01 19:48:11 3069

psycopg2_zip.zip

python3.5里面

2021-07-09

ftp客户端服务端.zip

有客户端和服务端两个程序, 支持正则匹配文件名是否规范, 支持上传下载, 支持动态更换ip和端口, 支持进度条显示

2021-01-19

socket 实现cs通信.zip

socket 实现cs通信, 有客户端和服务端

2021-01-15

随机删除一半文件,灭霸程序.zip

灭霸的响指, 输入文件夹路径, 将该文件下和子文件夹下所有的文件随机删除一半

2021-01-14

银行基本功能.zip+exe,直接可运行

银行基本功能.zip+exe,直接可运行

2020-12-19

博客园美化.zip,含HTML+js+css代码

博客园美化代码

2020-12-19

atm_12_18.zip

ATM+购物车功能实现+管理员系统

2020-12-19

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

TA关注的人

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