
数据库
不贰过先生
这个作者很懒,什么都没留下…
展开
-
mysql中information_schema数据库、mysql数据库、test数据库介绍
今天我们来介绍一下mysql数据库内自带的三个数据库以及这三个数据库内表的作用的介绍。mysql数据库服务器有三个数据库:information_schema数据库,mysql数据库,test数据库。information_schema数据库:这个数据库保存了mysql服务器所有数据库的信息。以及查看他们的语法命令原创 2017-01-31 12:30:03 · 4760 阅读 · 1 评论 -
MySQL索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第...转载 2018-08-27 11:32:03 · 218 阅读 · 0 评论 -
B-tree/b+tree 原理以及聚簇索引和非聚簇索引
B-Tree介绍B-Tree是一种多路搜索树(并不是二叉的): 1.定义任意非叶子结点最多只有M个儿子;且M>2; 2.根结点的儿子数为[2, M]; 3.除根结点以外的非叶子结点的儿子数为[M/2, M]; 4.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字) 5.非叶子结点的关键字个数=...转载 2018-08-26 15:23:27 · 791 阅读 · 0 评论 -
MySQL索引原理及慢查询优化
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问...转载 2018-08-26 11:23:32 · 993 阅读 · 0 评论 -
ORACLE数据库实现自增的两种方式
Mysql数据库因为其有自动+1,故一般我们不需要花费太多时间,直接用关键字auto_increment即可,但是Oracle不行,它没有自动增长机制。顾我们需要自己去实现。一般有两种方式,但是这两种方式都与序列化有关。第一种方式:序列化+触发器;第二种方式:序列化+显示调用序列化。一般我选用第一种方式。因为我们只要建立好序列化+触发器,这样我们就需要太多的去关注这个字段了,触发器会在我们插入数据...原创 2018-07-27 22:16:04 · 7313 阅读 · 0 评论 -
初学mysql(十一)之细枝末节-数据类型与运算符
上面的10篇博客我已经把自己学到的Mysql数据库的主要知识讲了一下,有数据库的创建、删除;表的创建、删除、修改;表的内容的增加、修改、删除;以及讲解了视图、触发器、索引、游标、存储过程和函数。现在我来说说mysql数据库中的数据类型与运算符。mysql数据库支持多种数据类型,主要有字符串类型、数值类型、日期类型、二进制类型。字符串类型:char(M):固定长度非二进制字符串;M(1-25...原创 2016-11-15 23:00:46 · 416 阅读 · 0 评论 -
初学mysql(十)-数据库之存储过程、函数与游标-自定义函数和流程控制(下)
上一篇博客讲了存储过程、函数、以及游标,这一篇博客接着上一篇博客来说。首先说说mysql数据库中的流程控制及自定义函数的使用。自定义函数:根据所需要的功能,使用流程控制来完成所需要的功能,完成功能的代码就称为自定义函数。要想完成自定义函数就必须学会流程控制的使用。存储过程和函数可以使用流程控制来控制语句的执行。MYSQL中可以使用IF语句、case语句、loop语句、leave语句、ite...原创 2016-11-14 08:24:01 · 919 阅读 · 0 评论 -
初学mysql(九)-数据库之存储过程、函数与游标(上)
上一篇博客讲了mysql数据库中的触发器,这一篇博客来说说mysql数据库中公认的稍微比较难理解的存储过程、函数与游标。定义:存储过程是一组为了完成特定功能的SQL语句集合。使用存储过程的目的是将常用或复杂的工作,预先用SQL语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中(可以减少客户端与服务器端的数据传输),因此称为存储过程。在以后需要数据库提供与已定义好的存储...原创 2016-11-13 13:37:25 · 595 阅读 · 0 评论 -
初学mysql(八)-数据库之触发器
上一篇博客讲了视图,包括视图的创建、修改、更新、删除、查看等操作。这一篇博客我来说说mysql数据库中的触发器(trigger)。定义:触发器是由事件触发某个操作。事件包括insert事件、update事件、delete事件。它是一种特殊的存储过程,它的执行不是由程序调用,也不是人为的手动执行,而是通过事件进行触发来执行的。当对一个表进行插入、删除、修改等操作事件时,触发器就会被激活进行执行。...原创 2016-11-09 15:08:16 · 584 阅读 · 0 评论 -
初学mysql(七)-数据库之视图
上一篇博客讲了索引,这一篇博客我来说说我对mysql数据库视图的学习。定义:是一个由查询语句定义数据内容的表,表中的数据就是SQL语句查询的数据的结果集,行和列均来自SQL查询语句中使用的数据表。视图是一种虚拟的表,是从数据库中一个或者多个实体表中导出来的虚表;数据库中只存放了视图的定义,并没有存放视图中的数据,数据还是在原来的表中存在;使用视图查询数据时,数据库系统会从原来的表中取出来的数据...原创 2016-11-08 22:16:29 · 952 阅读 · 2 评论 -
初学mysql(六)-数据库之索引
上一篇博客讲述了mysql数据库的连接查询、子查询和合并查询。这一篇博客我来说说mysql数据库中的索引。A):索引:它由数据库中表的一个列或多个列组合形成索引,其目的是加快数据的查询速度。类似与我们的身份证上的编码,可以快速定位需要的东西。数据库中的主键就是一个特殊的唯一性索引。它的优点是提升了在数据库表中的查询速度,缺点是增加了创建和维护索引的时间。索引可以分为:1:普通索引(可以...原创 2016-11-08 15:08:43 · 412 阅读 · 0 评论 -
初学mysql(五)-数据库之连接查询、子查询和合并查询
上一篇讲了博客讲了数据库表内容的插入、删除、修改的基本操作,这一篇博客我来说一下mysql数据库的连接查询和子查询、和合并查询A):连接查询:用到两张或者是两张以上的表的查询叫做连接查询。连接查询可以分为:内连接查询、外连接查询、复合条件的连接查询。1):内连接查询:可以查询两张及两张以上的表,常用where做限制。最常用的查询方式。如查询t_book表与t_bookType表中t_b...原创 2016-11-07 23:30:20 · 736 阅读 · 0 评论 -
初学mysql(四)-数据库之数据库表内容的插入删除修改操作
上一篇博客讲了数据库中一些常用的聚合函数的使用用法,这一篇我来说一下我学习到的数据库中数据库表中的内容的插入删除修改的操作(本博客除非特别说明否则都是针对针对mysql数据库来讲)原创 2016-11-06 17:36:35 · 724 阅读 · 0 评论 -
初学mysql(三)-数据库之一些常用的聚合函数的使用
上一篇博客讲了数据库中关于单表select的有关操作,这一篇来说一些我学到的数据库中聚合函数的使用。聚合函数常和group by联合使用。1:max()求某字段中最大值:求t_book表中按书籍类型中每种书的最大数量:select bookName, max(bookNum) from t_book group by booType;原创 2016-11-06 17:08:43 · 2518 阅读 · 0 评论 -
初学mysql(二)-数据库之表内容单表查询
这一篇中我来说一下我学习的对数据库中的表的内容的操作,其中包括表容查 询,增加,删除,某一字段求和,求平均值,求最大最小值, where关键字指定属性字段值得查询、模糊查询、对某个字段进行排序ASC升序排序,Desc降序排序、group by 分组查询: limit分页查询原创 2016-11-06 16:40:21 · 729 阅读 · 0 评论 -
初学mysql(一)-数据库和表的操作
mysql数据库是初学数据库者一个很好用的数据库。mysql数据库简单易操作,今天我就学习了mysql数据库的数据库与表的操作。mysql数据库的数据库操作:数据库的创建:create database db_book(数据库名字);数据库的显示:show databases;数据库的删除:drop database db_book(数据库名字);引用数据库:use db_bo原创 2016-10-11 08:25:54 · 676 阅读 · 0 评论 -
MySQL中Innodb的聚簇索引和非聚簇索引
聚簇索引数据库表的索引从数据存储方式上可以分为聚簇索引和非聚簇索引(又叫二级索引)两种。Innodb的聚簇索引在同一个B-Tree中保存了索引列和具体的数据,在聚簇索引中,实际的数据保存在叶子页中,中间的节点页保存指向下一层页面的指针。“聚簇”的意思是数据行被按照一定顺序一个个紧密地排列在一起存储。一个表只能有一个聚簇索引,因为在一个表中数据的存放方式只有一种。一般来说,将通过主键作为聚簇...转载 2018-08-29 22:22:15 · 30098 阅读 · 12 评论