0%

本章是整理知识内容,为强化知识长期更新。

  • MySQL基础(一) 已经介绍了MYSQL最常用基础的操作,由于篇幅已经很大,所以分开记录。

MySql基础操作

子查询与连接

在MYSQL实际操作中,最大的操作就是查询,下面就关于子查询和链接做记录。

子查询

  • 子查询(SubQuery)是指出现在其它SQL语句中的SELECT子句。比如
1
2
SELECT * FROM table_1 AS t1 WHERE columns_1 = (SELECT columns_2 FROM table_2 AS t2);
# 这里的SELECT * FROM table_1 AS t1 称之为 Outer Query/Outer Statement;SELECT columns_2 FROM table_2 AS t2 成为 SubQuery。
  • 子查询严格以上是指嵌套在查询内部,且必须始终出现在圆括号内
  • 子查询可以包含多个关键字:DISTINCTGROUP BYORDER BYLIMIT等函数。
  • 子查询的外层可以是:INSERTUPDATESELECT DELETESETDO等操作。
  • 子查询可以返回结果,这个结果可以是标量一行一列,或者子查询。
  • 子查询的引发条件:这里需要特别注意,并不是显示的才是子查询。
    • 使用比较运算符的子查询:= , > , < , >= , <= , <> , != , <=>
    • 使用结构语法:operand comparison_operator subquery ,可以使用一下修饰符来配合比较运算符。
      • operand comparison_operator ANY(subquery)
      • operand comparison_operator SOME(subquery)
      • operand comparison_operator ALL(subquery)
运算符\关键字 ANY SOME ALL
>>= 最大值 最小值 最大
<<= 最大值 最大值 最小值
= 任意值 任意值
<>!= 任意值
阅读全文 »

本章是整理知识内容,为强化知识长期更新。

Mysql介绍

  • Mysql数据库是一种C\S结构,就是客户端和服务端。
  • 关键字
    1. DB : DataBase 数据库
    2. DBMS:Database Management System数据库管理系统
    3. DBS:Database System = DBMS + DB数据库系统
    4. DBA:Database Administrator 数据库管理员
    5. 行\列:二维表中存储的数据。
      1. row\record (一条记录)。
      2. column\field(一个字段)。
  • SQL

SQL:Structured Query Language,结构化查询语言(数据以查询为主,99% 都是在进行查询操作),SQL是关系型数据库的操作指令,是一种约束,但不强制,类似与W3C,所以不同的关系型数据SQL语句可能会有一定的差异性。

  • DDL:Data Definition Language数据定义语言,用来维护存储数据的结构(数据库、表),代表指令为createdropalter等。
  • DML:Data Manipulation Language,数据操作语言,用来对数据进行操作(表中的内容)代表指令为insertdeleteupdate等,不过在 DML 内部又单独进行了一个分类,即 DQL(Data Query Language),数据查询语言,代表指令为select
  • DCL:Data Control Language,数据控制语言,主要是负责(用户)权限管理,代表指令为grantrevoke等。
  • TPL:``,事物控制语言

Mysql基本操作

本章部分内容在Centos中实现,Centos7-MySql部署记录

交互方式

阅读全文 »

本章是整理知识内容,为强化知识长期更新。

Stack

  • 栈是元素的集合,其包含了两个基本操作:push 操作可以用于将元素压入栈,pop 操作可以将栈顶元素移除。
  • 遵循后入先出(LIFO)原则。
  • 时间复杂度:
  • 索引: O(n)
  • 搜索: O(n)
  • 插入: O(1)
  • 移除: O(1)

Stack

Collection成员之一,继承了Vector,通过重写Vector来实现LIFO(Last-in-First-out 后进先出)特性。

概述

  • Java Stack是LIFO对象。它扩展了Vector类。

源码分析Stack

阅读全文 »

本章是整理知识内容,为强化知识长期更新。

Vector

概述

  • Vector是Java Collection Franmework成员。
  • 列队允许添加重复元素
  • 列队允许null的存在
  • 列队从0开始,也就是列队头部的下标是0。
  • 列队支持泛型,这样可以避免ClassCastException异常。

与ArrayList的区别

阅读全文 »

参考文献

RabbitMQ介绍

RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。
AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。

背景

RabbitMQ 是流行的开源消息队列系统,是 AMQP(Advanced Message Queuing Protocol 高级消息队列协议)的标准实现,用 erlang 语言开发。RabbitMQ 具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用。

安装

RabbitMQ 基于erlang。需要先安装erlang环境。

阅读全文 »

Redis

Redis全称:Remote Dictionary Server(远程数据服务)。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

单实例安装

只是学习使用使用yum 方式安装比较快。而且centos自带官方源。

yum安装

  • yum install epel-release –下载fedora的epel仓库
  • yum install redis – 安装redis数据库
阅读全文 »