关系式数据存储
文章平均质量分 92
关系式数据库学习
BoringError
字节跳动后端工程师 | 持续学习,保持敬畏
展开
-
Oracle数据库的多表查询
在说明多表查询之前,需要先介绍笛卡尔积。 什么是笛卡尔积?笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。下图可以说明两个数据表之间的笛卡尔积: 这个结果是没有意义的,因为部门id都不同,...原创 2018-06-15 11:33:40 · 1589 阅读 · 0 评论 -
Oracle数据库的基本查询
·基本sql语句1、DDL数据库定义语言主要用于建立、修改、删除数据库对象(表),不需要事务的参与CREATE:创建表CREATE TABLE emp(id NUMBER(10),name VARCHAR2(20),gender CHAR(1),birth DATE,salary NUMBER(6,2));DESC :查询表结构DESC emp;RENA...原创 2018-06-13 23:40:01 · 395 阅读 · 0 评论 -
Oracle数据库---helloword
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。·windows7下安装oracle10g...原创 2018-06-13 23:39:52 · 419 阅读 · 0 评论 -
MySQL基础笔记(17)-悲观锁与乐观锁
文章目录一.什么是乐观锁、悲观锁二.MySQL中的乐观锁与悲观锁1.悲观锁1.互斥锁-for update2.共享锁-lock in share mode3.update、insert、delete自动加行锁2.乐观锁-版本号控制一.什么是乐观锁、悲观锁乐观锁指的是在对数据进行读取时,默认认为此时没有线程去修改数据(在Java中Atomic原子类就是这么设计的,例如CAS),只是在提交时才去...原创 2020-01-06 18:47:28 · 788 阅读 · 0 评论 -
MySQL基础笔记(16)-事务原理总结
文章目录推荐学习MySQL基础笔记(1)-深入理解索引一.事务1.什么是事务2.事务四大特性(ACID)1.Atomic-原子性2.Consistency-一致性3.Isolation-隔离性4.Durability-持久性3.并发事务带来的四大问题1.脏读2.不可重复读3.幻读4.更新丢失Q:不可重复读和幻读有什么不同?二.数据库锁机制1.四种事务隔离级别2.InnoDB存储引擎的锁算法Q:三种...原创 2019-12-15 17:08:53 · 475 阅读 · 0 评论 -
MySQL基础笔记(11)-参数优化小结
MySQL服务器内置许多参数,就MySQL5.5版本而言,就有三百多个参数,大部分参数不需要开发者去配置,但是有小部分参数需要开发者熟悉其含义和懂得配置。本文将从以下角度小结一下对于MySQL服务器的性能有较大影响的参数,即内存参数、I/O参数、并发参数、其他参数四个方面展开;本文基于Innodb引擎,MySQL5.5版本。对于MySQL服务器性能来说有许多的影响因素,主要分为以下:1、S...原创 2019-02-09 23:37:57 · 382 阅读 · 0 评论 -
MySQL基础笔记(12)-使用Docker搭建MySQL主从复制架构
文章目录一、Docker入门介绍二、MySQL主从复制原理2.1、主从复制2.2、读写分离三、开始搭建3.1、拉取MySQL镜像3.2、启动第一个容器作为主服务器3.3、进入主服务器容器3.4、更新apt-get工具并且下载vim3.5、修改主服务器配置文件3.6、创建SLAVE用户3.7、记录下主服务器的信息3.8、创建从服务器3.9、修改从服务器配置文件3.9.1、进入从服务器MySQL配置主...原创 2019-02-11 18:53:40 · 886 阅读 · 0 评论 -
MySQL基础笔记(14)-使用Amoeba和Docker搭建MySQL读写分离架构
文章目录一、搭建MySQL主从复制和主主复制架构二、读写分离架构三、Amoeba的下载和安装2.1、安装配置JDK2.2、下载Amoeba2.3、将其上传并解压授权四、为Amoeba创建MySQL账号五、配置Amoeba服务器5.1、修改amoeba.xml5.2、修改dbServers.xml六、启动Amoeba七、使用AmoebaAmoeba(变形虫)相当于一个SQL请求的路由器,目的是...原创 2019-02-22 21:51:41 · 1258 阅读 · 5 评论 -
MySQL基础笔记(15)-搭建基于GTID的MySQL主从复制架构
文章目录一、为什么需要GTID二、GTID是什么2.1、GTID的组成2.2、基于GTID的主从复制原理三、开始配置3.1、准备Docker的MySQL服务3.2、三个重要参数3.3、主库配置3.4、从库配置3.5、在主库中创建用于主从复制的账号四、开启主从复制一、为什么需要GTID之前写过一篇文章介绍过基于日志点的MySQL的主从复制:https://blog.csdn.net/pbrlov...原创 2019-02-28 23:44:15 · 1303 阅读 · 0 评论 -
MySQL基础笔记(13)-使用Docker搭建MySQL主主热备架构
上一篇文章已经详细介绍了MySQL主从复制架构的搭建流程,现在开始介绍搭建MySQL主主热备架构。主主热备又被称为主主复制,即两台MySQL主机之间互为主从,当任一库的数据发生变更时,都可在另一库找到完全一样的备份数据,从而达到主库发生故障时迅速切换到另一主库,以便备灾。一、准备工作和主从复制一样,首先需要使用docker搭建MySQL的服务,下载vim工具以便修改配置文件。这里不再赘述:...原创 2019-02-14 18:45:37 · 1128 阅读 · 2 评论 -
MySQL基础笔记(10)-实用SQL优化技巧小结
文章目录一、SQL优化的基本思路1.1、数据库表设计角度1.2、业务角度1.3、语句优化角度1.4、数据库自身的设置二、数据库表设计2.1、确定最基本的字段2.2、将整表划分为多表2.3、创建第三方表三、EPLAIN关键字的使用3.1、简单使用3.2、结果解读四、各种SQL优化方法4.1、优化INSERT语句4.2、优化WHERE语句4.3、优化特定的ORDER BY语句4.4、优化GROUP B...原创 2019-02-01 22:12:20 · 526 阅读 · 0 评论 -
MySQL基础笔记(2)-连接查询
目录MySql的连接查询一、连接查询的作用二、建表语句和数据三、七种连接查询介绍使用连接查询的格式1、全连接2、内连接3、左外连接4、左内连接5、右外连接、右内连接即把右表视为主表,左表视为从表。MySql的连接查询是多表查询的基础,也是查询语句中较难理解的一块内容,也是项目实际中常常使用到的,把连接查询的几种形式弄明白是十分必要的,这篇文章是我的...原创 2018-09-04 21:31:12 · 2174 阅读 · 0 评论 -
MySQL基础笔记(3)-常用函数
目录MySql函数介绍1、聚集函数2、字符串处理函数3、数学函数4、日期时间处理函数5、加密和解密函数MySql函数介绍通常,数据库在设计时都会内嵌入一些内建函数,这里边封装了我们可能会用到的一些命令,方便我们对数据库进行一些操作,如统计一个表有多少行数据,或者查询出某个字段的平均值等。熟悉常用的函数,可以让我们面对复杂的查询和需求时快速找到解决方案...原创 2018-09-06 13:32:31 · 1005 阅读 · 0 评论 -
MySQL基础笔记(4)-子查询
MySql的子查询是多表查询的一个重要组成部分,常常和连接查询一起使用,是多表查询的基础,本文将带着大家学习常见的子查询相关知识以及一些例子用以巩固所学。一、什么是子查询当一个查询是另一个查询的条件时,称之为子查询。子查询可以使用几个简单命令构造功能强大的复合命令。子查询最常用于SELECT-SQL命令的WHERE子句中。子查询是一个 SELECT 语句,它嵌套在一个 SELE...原创 2018-09-06 21:51:59 · 4777 阅读 · 0 评论 -
MySQL基础笔记(8)-MySql单表查询练习
目录一、需求二、解答本篇从经典的单表复杂查询入手,回顾前面的常用子句,子查询和聚合函数知识,多多练习,才能对sql有更深刻的认识。对子查询和函数,子句不熟悉的朋友可以参考本专栏的文章:1、子查询2、MySql函数3、MySql子句分析一、需求假设数据库中有一张学生成绩表tb_grade,字段如下: | sno |sname | cno | cname |...原创 2018-09-10 17:25:12 · 1112 阅读 · 0 评论 -
MySQL基础笔记(5)-常用子句分析
目录一、常用的MySql子句二、建表语句三、子句使用1、WHERE子句2、GROUP BY语句3、ORDER BY 子句4、HAVING子句所谓子句,就是在一条查询sql中起到特定功能的关键字段,子句在复杂查询中占据了很重要的位置,比如说分组查询,聚合函数使用后的条件筛选等,都需要用到特定的子句,本篇将介绍常用的MySql子句以及子句分析。一、常用的MySq...原创 2018-09-07 14:01:01 · 698 阅读 · 0 评论 -
MySQL基础笔记(6)-多表查询练习(1)
目录一、需求二、解题思路三、小结本篇文章作为前面四篇基础文章的回顾,从某公司的Java面试题入手,讲解三表查询的常见需求以及常见查询方法,夯实MySql的连接查询、子查询基础。一、需求有三张表,学生表student,课程course,学生课程表sc,学生可以选修多门课程,一门课程可以被多个学生选修,通过sc 表关联。1)写出建表语句;2)写出SQL 语句,查询选修了...原创 2018-09-07 18:46:02 · 666 阅读 · 0 评论 -
MySQL基础笔记(9)-在Ubuntu中安装MySQL数据库
由于几乎所有web项目的部署环境都是linux服务器,所以平时windows下的mysql将不再可用,开发者必须在linux服务器中部署mysql数据库并进行相应配置,本文将介绍在`ubuntu`系统中安装mysql及mysql的常用命令。原创 2018-09-27 13:23:55 · 383 阅读 · 0 评论 -
MySQL基础笔记(1)-深入理解索引
目录一.B树介绍1.B树是什么2.B-树介绍3.B+树介绍二.索引介绍1.索引为什么能加快查询2.MySQL索引有哪些3.为什么不在每列都创建一个索引4.什么地方建立索引5.聚簇索引和非聚簇索引(都通过B+树实现)1.聚簇索引和非聚簇索引有什么区别2.聚簇索引中主键索引和辅助索引的关系3.聚簇索引为什么要避免使用UUID作为主键6....原创 2018-05-16 21:28:47 · 5376 阅读 · 0 评论