自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库设计的三范式

第一范式:每一个表都有主键,没有一个字段原子性不可再分第二范式:建立在第一范式的基础之上,要求所有非主键字段完全依赖主键,不要产生部份依赖第三范式:建立在第二范式的基础之上,要求所有非主键字段直接以来主键,不要产生传递依赖数据库表设计按照以上的设计,不会产生空间的浪费第二范式:多对多怎么设计?多对多,三张表,两个外键第三范式:一对多,两张表,多的表加外键一对一:一张表太庞大,需要拆分表,外键+一个unique约束...

2020-11-20 20:01:56 198

原创 Mysql 视图

视图:从不同的角度看数据mysql> create view `user3` as select * from user1;-- 创建视图Query OK, 0 rows affected (0.04 sec)mysql> select * from user3;+----+-----------+----------+-----+--------------+----------+-----+| id | user_name | over | age | English

2020-11-20 19:33:16 178

原创 Mysql索引概述

索引索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,多个字段联合起来也可以添加一个索引。索引一本书的目录,是为了缩小扫描范围存在的查询机制。这种查找方式叫做通过索引检索,效率较高。Mysql的两种查找机制:1、全表扫描。2、索引查找。在Mysql数据库中索引也是要进行排序的,结构和TreeSet相同,TreeSet底层是一个自平衡的二叉树。在Mysql中是一个B-Tree的二叉树。遵循左小右大存放,采用中序遍历。在所有的主键以及unique约束

2020-11-20 19:05:37 211 1

原创 Mysql 事务概述

什么是事务?一个事务其实就是一个完整的业务逻辑只有DML才会涉及到事务:insert update delete,只有以上的操作才会对数据进行增删改,要考虑数据的安全问题存在事务的根本原因是平时的事务并不能通过一个语句就能完成,而是需要多条DML共同完成。因此需要事务的存在。说到本质上,一个事务就是多条DML语句同时成功或者同时失败。事务是怎么做到多条DML同时成功或者同时失败的:InnoDB提供了一组用来记录事务性的日志性文件。在事务的执行过程中,可以提交事务也可以回滚事务。提交事务:

2020-11-20 16:20:16 114 1

原创 Mysql约束

为了保证数据的完整性和有效性,Mysql约束包括:1、非空约束:not null2、唯一性约束:unique,单被unique约束是可以为null的,联合唯一:mysql> create table `tbl_unique`( -> id int not null, -> name varchar(16), -> item varchar(16), -> unique(name,item));-- 联合唯一性约束,表级约束Quer

2020-11-20 15:35:06 95

原创 Mysql 数据类型

Mysql数据类型:varchar 可变长度的字符串。比较智能,会根据实际的数据长度动态分配空间。优点是:节省空间。缺点:动态分配空间,速度慢char 定长字符串,不管实际的长度,分配固定长度的空间去存储数据。使用不恰当的时候,可能会导致空间的浪费。优点:不需要动态分配空间,速度快。缺点:使用不当可能会导致空间的浪费int 数字中的整数型bigint 数字中的长整型float 单精度浮点型数据double 双精度浮点型数据data 短日期类型 ,只包括年月日信息datafra

2020-11-20 13:54:00 150

原创 Mysql limit

mysql limitmysql> select * from user1 limit 1,2;+----+-----------+----------+-----+--------------+--------+-----+| id | user_name | over | age | English_name | salary | id2 |+----+-----------+----------+-----+--------------+--------+-----+|

2020-11-19 18:41:20 104

原创 Mysql内连接

mysql> select a.user_name,a.over,b.over from user1 a join user2 b;-- 两张表不加任何限制条件进行连接的时候,会出现笛卡尔积现象+-----------+----------+--------+| user_name | over | over |+-----------+----------+--------+| 孙悟空 | 齐天大圣 | 成佛 || 沙僧 | 金身罗汉 | 成佛 ||.

2020-11-19 18:20:56 398

原创 Mysql分组函数:having子句优化问题

按照age分组然后选择公司数量最大为800000之上的元组,则我们得到mysql> select age,max(salary) from user1 group by age having max(salary)>800000;-- having子句可以对过滤后的数据进行处理,但是having子句不能单独使用,不能代替where,必须和group by子句联合使用+-----+-------------+| age | max(salary) |+-----+-----------

2020-11-19 16:56:38 714

原创 Mysql分组函数/多行处理函数

Mysql分组函数/多行处理函数:输入多行,最终输出一行。count(),sum(),avg(),max(),min()。分组函数必须先进行分组,然后才能用。如果没有对数据分组,整张表默认为一组1、分组函数使用的注意事项:分组函数自动忽略null,不需要提前对null进行处理mysql> select sum(salary) as sum from user1;+-------+| sum |+-------+| 19000 |+-------+1 row in set (0

2020-11-19 16:03:55 385

原创 Mysql数据处理函数/单行处理函数

1、数据/单行处理函数mysql> select user_name,over,age,lower(English_name) from user1;-- lower()转换小写+-----------+----------+-----+---------------------+| user_name | over | age | lower(English_name) |+-----------+----------+-----+---------------------+|

2020-11-19 15:28:24 402 1

原创 Mysql排序

数据库SQL操作语言:1、DQL数据查询语言:凡是带有select关键字的都是查询语句2、DML数据操作语言:凡是对数据进行增删改的都是DML:insert delete update3、DDL数据定义语言:凡是带有create drop alter4、TCL事务控制语言:事务提交commit和事务回滚rollback5、DCL数据控制语言:授权grant、撤销权限revoke导入数据source,注意:路径中不要有中文oder by子句:考虑如下的表格:+----+-

2020-11-19 14:04:56 210

原创 影响数据库性能的因素

不像web服务器,数据库为了保持完整性和一致性,是很难进行扩展的。那么影响数据库性能的因素有哪些呢?1、服务器硬件2、操作系统3、数据库存储引擎的选择。MyISAM:不支持事物,表级锁;InnoDB:事务级存储引擎,完美支持行级锁,事物ACID特性。4、数据库服务器的配置参数5、数据库结构设计和SQL查询语句...

2020-11-18 23:02:46 475

原创 使用join来优化子查询

对于如下的两个表user1和user2:+----+-----------+----------+| id | user_name | over |+----+-----------+----------+| 1 | 孙悟空 | 齐天大圣 || 2 | 沙僧 | 金身罗汉 || 3 | 唐僧 | 功德佛 || 4 | 猪八戒 | 净坛使者 |+----+-----------+----------++----+-----------+

2020-11-17 22:02:56 370

原创 利用join来更新表

我们发现update子句无法更新包含在from子句中的表,如这样的两个表user1和user2+----+-----------+----------+| id | user_name | over |+----+-----------+----------+| 1 | 孙悟空 | 斗战胜佛 || 2 | 沙僧 | 金身罗汉 || 3 | 唐僧 | 功德佛 || 4 | 猪八戒 | 净坛使者 |+----+-----------+---

2020-11-17 18:33:03 313

原创 ERROR 1054 (42S22): Unknown column ‘齐天大圣‘ in ‘field list‘ 错误解决过程

这个真的…,大家一定要记住,Mysql,表名、字段名、数据库名用``值一定要用""啊

2020-11-17 18:18:45 3083 2

原创 解决Mysql只显示错误代码不显示错误原因

近期发现我的Mysql只显示错误代码不显示错误的位置和具体原因,这…看着头疼mysql> selec;ERROR 1064 (42000):网上查了一下,找到了解决方法!打开my.ini,发现自己的basedir完全不知道是个啥地址,改成自己现在的mysql安装地址,如下:basedir=C:\Programing\Mysql\mysql-5.7.19-winx64没错,重启一下Mysql,一切都正常了!...

2020-11-17 17:08:11 1731

原创 Mysql-五种join类型

-- join从句可以分为5种:内连接:inner join;全外连接:full outer;左外连接:left outer;右外连接:right outer;交叉连接:cross1、inner join考虑如下的两张表(user1,user2):+----+-----------+----------+| id | user_name | over |+----+-----------+----------+| 1 | 孙悟空 | 斗战胜佛 || 2 | 沙僧

2020-11-17 15:48:31 993

原创 Mysql解决ERROR 1075 (42000):

如下,通过alter修改表结构使id列自增的时候报出错误:ERROR 1075 (42000):alter table user2 add id int not null auto_increment first;ERROR 1075 (42000):原因:Mysql在定义自增列的时候需要指定表的主键,进行如下修改:alter table user2 add id int not null auto_increment first,add primary key(id);Query OK

2020-11-17 15:09:29 1266

原创 C# GDI+双倍缓冲技术

在C#Windows窗体中开发游戏时,会发现屏幕发生闪烁,那如何进行解决呢?这就用到了GDI+的双倍缓冲技术:导致画面闪烁的原因:随着游戏的进行,窗体内容在不断变化,每次都要调用paint事件来进行窗体重绘。因此,只要是有图元存在的地方,就会有图像的重绘,而由于窗体重绘存在时间间隔,导致闪烁的出现。特别是当图元内容特别多的时候,闪烁更加严重。当鼠标对图元进行操作或者是进行追踪的时候,paint事件会经常被调动。使得窗口刷新的次数大大增加,虽然窗口刷新会使得图元一次性显示到窗体上,但也会有时间延迟

2020-11-14 13:52:36 263

原创 元胞自动机模型—interesting应用

最近回忆起元胞自动机模型,让我们来康一康这个模型的基本原理:元胞自动机是由计算机之父冯·诺伊曼模拟生命系统的自复制功能提出来的。元胞自动机采用离散的空间布局和时间间隔,将元胞分成有限种状态。元胞个体状态的演变,仅与当前状态和某个局部领域状态有关。我们将其应用在“拍照打卡APP”任务模型中,具体描述如下:元胞自动机的基本要素:空间:元胞在空间格局中的格点,可以是一维、二维、多维(对应于整个任务地图,表现为二维)状态集:可以是两种状态,生死、黑白,也可以是多种状态,如颜色表示等(对应于任务的两种

2020-11-14 10:14:14 755

原创 Mysql-必须会的基本操作

create table if not exists `testtable`(-- 创建name为testtable的表 -> `table_title` varchar(100) not null, -> `table_id` int unsigned auto_increment,-- auto_increment设置id自动增长排序 -> `table_author` varchar(40) not null, -> `submission_..

2020-11-13 22:22:25 93

原创 Mysql数据类型

整数类型的存储和范围:日期和时间类型:字符串类型:

2020-11-11 20:42:50 121

原创 Mysql数据用户管理

C:\Programing\Mysql\mysql-5.7.19-winx64\bin>mysql -hlocalhost -uroot -pEnter password: ***********Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 6Server version: 5.7.19 MySQL Community Server (GPL)Copyright (.

2020-11-11 11:28:35 95

原创 手把手教你如何查看某条微博的ID

同组的小姐姐们被爬数据搞到眼泪掉下来,找微博也是个很有工作量的活儿,接下来我们来看看怎么查看具体某一条微博的ID: 浏览器:火狐,打开微博网页版,找到你想爬的微博。比如: 然后:Fn+F12同时按住,调出来这个东西(忘了叫什么了): 选择其中的网络-->XHR ,像这种图片微博,可以点击评论,然后发现: 找到含有mid=.........

2019-11-26 12:03:23 8513

原创 Pandas——不得不用的文件读取神器!

大家吼哇,我又来了。今天我要讲讲这个,让所有人一用就爱上的Python库——Pandas。它为了解决数据分析问题而生,它纳入了各种库和标准数据类型,对于我们处理数据文件而言,可以说是非常方便了。它能够处理很多多维数据,一维数据Series,二位数据DataFrame,三维数据Panel,四维数据Panel4D,多维数据PanelND。接下来,我们来具体实践一下Pandas的使用吧~i...

2019-11-23 20:53:53 374

原创 手把手教你怎么在PyCharm中导入库

大家都知道,Python是一个极其方便的由库构建的编程语言。比如机器学习的库sklearn,文件读取pandas,文件读写xlwt,xlrt,矩阵运算numpy等等等等等等等等等等,多到你无法想象!那到底如何导入Python库呢?我们今天就来学习一下~ 点击File->New Project,创建一个PyCharm项目,然后点击File->Settings->P...

2019-11-16 14:28:27 32155 1

原创 教你怎么在PyCharm中导入GitHub中的开源项目

Python有的时候真的是让人又爱又恨,特别是导入库出问题的时候,版本出问题的时候…但是!!!它能导入GitHub中开源项目的功能真的是让人心水到哭泣~接下来让我们一起来看看具体的操作吧~导入GitHub之前,我们需要用到一个叫Git的东西,就是长这个样子的:我们可以通过官网下载(大家可以根据需要选择自己的版本~)https://git-scm.com/download...

2019-11-15 21:30:02 19969 4

原创 Python的垃圾回收机制和分支语句

Python是一门动态语言,它在内存管理上存在着以下的特征:1. 变量无需事先声明,也不需要事先指定变量类型2. 编程中一般无需关心变量的存亡,也不需要关心内存的使用情况3. Python使用引用计数来记录所有对象的引用数: 当对象的引用数变为0,启用垃圾回收机制GC 引用数增加:对象赋值给其他变量,如x=3,y=x 引用数减少:函数运行结束时,局部变量...

2019-09-11 10:10:48 128

原创 Python爬虫:爬虫基础and粗鲁地爬取一个网页

今天我们要学习的内容是轻量级的爬虫,即我们所抓取的页面是静态加载的网页内容,而不是那些需要用户登录或者JavaScript异步加载的网页内容。首先我们明确一个问题:爬虫能干什么?爬虫:一段自动抓取互联网信息的程序我们可以把互联网看成URL组成的网状结构,就像下图一样:我们通过手工的方式来访问其中的部分URL,当我们有访问很多的具有某一方面的相同特征的网页需要,手工的方式效率就太...

2018-07-22 11:01:29 455

原创 Python基础:赋值语句

今天我们来看一下最基本的Python语句——赋值语句,赋值语句的最基本机制为:赋值创建一个对象引用 名称创建于首次赋值 名称引用前必须赋值 某些操作对象会隐式赋值基本的赋值操作:基本赋值 元组/列表赋值 两个变量的交换 序列赋值 多目标赋值 参数化赋值 ...

2018-07-21 12:18:10 2523

原创 Python基础:语句与语法——猜数字游戏的实现

Python的语句是程序的最基本的组成部分,对Python的语句做一个简单的分类如下:赋值 运行函数 执行选择(如if...else) 迭代语句 循环 函数 模块与命名空间 类 异常处理 其他Python语言相对于其他的编程语言也有自己的特点:强制缩进:4个空格 if条件判断等后面使用的是冒号 代码体不需要使用花括号括起来 其他了解了Python语言的语句和语法...

2018-07-18 23:19:22 317

原创 Python基础:文件读写

今天我们来看一下Python中对于文件读写的基本操作,仍然是从三个方面展开:文件对象声明与基本操作声明 open("路径","模式",encoding="编码")其中,路径包含绝对路径和相对路径两种:绝对路径:"C:\\data.txt"("\"需要进行转义);r"C:\data.txt" 相对路径:"data.txt" 没有指定文件路径的情况下,会在当

2018-07-17 14:19:36 1019

原创 Python基础:dict字典表

今天我们来将一个在Python中应用除了list列表之外的最频繁的一个数据类型,属于映射的一种——dict字典表首先我们来看一下字典表的特性:通过键,非下标索引来访问数据可包含任意的无序集合可变长度、异质并且可以任意嵌套属于“可变映射”分类对象引用表(哈希表)接下来我们来看一下字典表的声明:{}空字典表{key:value},标准声明方法dict(key=value)dict([(key,valu...

2018-07-14 18:38:17 655

原创 Python基础:str字符串

前面讲解了Python常用列表、序列等内容,今天我们来讲解序列中另一个不可变序列——str字符串。1、字面值的声明。字符串的声明可以通过单引号或者双引号,没有本质区别'字符串' "字符串" """内容有多行""" \n换行符 \t tab "\\"转义为"\" 在字符串前面加"r",忽略对字符的转义通过一段demo,我们得到如下结果接下来,我们声明一段路径:我们发...

2018-07-14 15:00:08 319

原创 数据挖掘算法之k-匿名算法

    在大数据时代,随着数据的价值被人们更多地挖掘和利用,各种隐私保护问题也越来越多地引起了大家的注意。给予这一点,相继提出了多种隐私保护算法。今天我们来讲解一种匿名隐私保护模型——k-匿名模型    在讲解k-匿名模型之前,我们首先对用户数据类型进行一个分类:    ①显式标识符(ID,能够唯一地确定一条用户记录)    ②准标识符(QI,能够以较高的概率结合一定的外部信息确定一条用户记录) ...

2018-03-25 15:35:57 16662 8

原创 Python基础:range

    在不可变序列中,还存在着我们经常会用到的一种序列——range序列        range是不可变序列的一种,它并不支持原位改变。接下来我们来看一下range的三种声明方法:        ①直接用括号中的数字指定产生多少个数字,从0开始    ②指定数字的起始和终止,其中起始包括而终止不包括    ③按指定步长产生数字    同样地,range范围也支持序列的通用操作:        ...

2018-02-13 16:07:56 363

原创 Python基础:tuple元组

    前面看过了list列表的特性以及通用操作和常用操作,今天我们来看一下不可变序列中的tuple元组,与list列表最大的不同在于,tuple元组不支持原位改变    接下来我们通过一段代码来测试一下tuple元组的特性以及通用操作:     ①异质 一个tuple元组中可以包含不同类型的对象(数值型、字符型、元组、列表)    ②任意嵌套 一个元组可以嵌套元组或是列表等        注意在...

2018-02-13 11:38:07 388

原创 Python基础:list列表以及序列常用操作

    我们来看一下Python中的序列:        序列可分为可变序列与不可变序列。可变序列的最本质特征就是支持原位改变,首先我们来看一下可变序列中的list列表的五个特征:        ①任意类型对象的有序集合。Python的list列表中的对象与C/C++不同,它支持不同类型的对象,可以是字符串、整数、浮点数甚至是列表等    ②与C/C++语言类似,list列表也可以通过下标来访问列...

2018-02-10 10:08:12 580

原创 Python基础:数值类型、常用函数、工具模块以及bool类型本质

我们现在来看一下Python中的数值类型: ①int十进制二进制0b八进制0o十六进制0x ②float 值得注意的是,Python对于整数的大小并不像例如C/C++等语言中的整数类型有明确的限制,而是与硬件的性能有关,这使得Python的数据处理能力很强 运算符:+ - * / **(次方运算) //(取整运算) %(取余运算) ...

2018-02-08 23:34:44 241

空空如也

空空如也

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

TA关注的人

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