MySQL高级(四)
MySQL高级(四)一、MySQL存储引擎1.MySQL体系结构 体系结构的概念 任何一套系统当中,每个部件都能起到一定的作用! MySQL的体系结构 体系结构详解 客户端连接 支持接口:支持的客户端连接,例如C、Java、PHP等语言来连接MySQL数据库 第一层:网络连接层 连接池:管理、缓冲用户的连接,线程处理等需要缓存的需求。 例如:当客户端发送一个请求连接,会从连接池中获取一个连接进行使用。 第二层:核心服务层 管理服务和工具:系统的管理和控制工具,例如备份恢复、复制、集群等。 SQL接口:接受SQL命令,并且返回查询结果。 查询解析器:验证和解析SQL命令,例如过滤条件、语法结构等。 查询优化器:在执行查询之前,使用默认的一套优化机制进行优化sql语句 缓存:如果缓存当中有想查询的数据,则直接将缓存中的数据返回。没有的话再重新查询! 第三层:存储引擎层 插件式存储引擎:管理和操作数据的一种机制,包括(存储数据、如何更新、查询数据等) 第四层:系统文件层 文件系统:配置文件、数据文件、日志文件、错误文件、二进制文件等等的保存 2.M ...
MySQL高级(三)
MySQL高级-03一、MySQL存储过程和函数1.存储过程和函数的概念 存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合 2.存储过程和函数的好处 存储过程和函数可以重复使用,减轻开发人员的工作量。类似于java中方法可以多次调用 减少网络流量,存储过程和函数位于服务器上,调用的时候只需要传递名称和参数即可 减少数据在数据库和应用服务器之间的传输,可以提高数据处理的效率 将一些业务逻辑在数据库层面来实现,可以减少代码层面的业务处理 3.存储过程和函数的区别 函数必须有返回值 存储过程没有返回值 4.创建存储过程 小知识 1234567/* 该关键字用来声明sql语句的分隔符,告诉MySQL该段命令已经结束! sql语句默认的分隔符是分号,但是有的时候我们需要一条功能sql语句中包含分号,但是并不作为结束标识。 这个时候就可以使用DELIMITER来指定分隔符了!*/-- 标准语法DELIMITER 分隔符 数据准备 1234567891011121314151617181920-- 创建db8数据库CREATE DATABASE db8;-- ...
MySQL进阶(二)
MySQL进阶(二)一、约束1.外键约束 外键约束概念 让表和表之间产生关系,从而保证数据的准确性! 建表时添加外键约束 为什么要有外键约束 123456789101112131415161718192021222324252627282930-- 创建db2数据库CREATE DATABASE db2;-- 使用db2数据库USE db2;-- 创建user用户表CREATE TABLE USER( id INT PRIMARY KEY AUTO_INCREMENT, -- id NAME VARCHAR(20) NOT NULL -- 姓名);-- 添加用户数据INSERT INTO USER VALUES (NULL,'张三'),(NULL,'李四'),(NULL,'王五');-- 创建orderlist订单表CREATE TABLE orderlist( id INT PRIMARY KEY AUTO_INCREMENT, -- id number VARCHAR(20) ...
MySQL总结(五)
MySQL学习笔记登录和退出MySQL服务器12345# 登录MySQL$ mysql -u root -p12345612# 退出MySQL数据库服务器exit; 基本语法12345678910111213141516171819202122232425262728293031323334353637383940-- 显示所有数据库show databases;-- 创建数据库CREATE DATABASE test;-- 切换数据库use test;-- 显示数据库中的所有表show tables;-- 创建数据表CREATE TABLE pet ( name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);-- 查看数据表结构-- describe pet;desc pet;-- 查询表SELECT * from pet;-- 插入数据INSERT INTO pet VALUES ('puffball& ...
MySQL基础(一)
MySQL基础一、数据库的基本概念1.为什么要学数据库? 之前我们如果想将一些数据实现永久化存储,可以怎么做呢?没错。使用IO流的技术将数据保存到本地文件中 但是接下来我有这样一个需求:将下面的user.txt文件中的王五年龄修改为35 12345张三 23 男李四 24 男王五 25 女赵六 26 女周七 27 男 我们要如何实现呢? 可以采用字符缓冲流,将每一行数据读取出来,封装为User对象。将多个User对象保存到集合中 然后遍历集合,将王五对象的年龄修改为35,再重新将集合中的对象信息写回到文件中 这一套操作太麻烦了,而现在我们有一种更加方便的方式来完成这个需求了,这种方式就是数据库! 2.什么是数据库? 用于存储和管理数据的仓库 英文单词为:DataBase,简称DB 3.数据库的好处? 可以持久化存储数据 方便存储和管理数据 使用了统一的方式操作数据库 – SQL 4.常见的数据库有哪些? 二、MySQL数据库的介绍和安装1.MySQL数据库介绍 小型的数据库 开源免费(6版本之前免费) 所属于Oracle公司 2.MySQL数据库安装 通过secure ...
Maven高级-分模块合并与私服
Maven高级1)分模块开发与设计1.1)工程模块与模块划分 1.2)ssm_pojo拆分新建模块 拷贝原始项目中对应的相关内容到ssm_pojo模块中 实体类(User) 配置文件(无) 1.3)ssm_dao拆分 新建模块 拷贝原始项目中对应的相关内容到ssm_dao模块中 数据层接口(UserDao) 配置文件:保留与数据层相关配置文件(3个) 注意:分页插件在配置中与SqlSessionFactoryBean绑定,需要保留 pom.xml:引入数据层相关坐标即可,删除springmvc相关坐标 spring mybatis spring 整合mybatis mysql druid pagehelper 直接依赖ssm_pojo(对ssm_pojo模块执行install指令,将其安装到本地仓库) 1.4)ssm_service拆分 新建模块 拷贝原始项目中对应的相关内容到ssm_service模块中 业务层接口与实现类(UserService、UserServiceImpl) 配置文件:保留与数据层相关配置文件(1个) ...
hadoop,hive搭建使用
hadoop1. hadoop概述Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 1.hadoop搭建 [待记录]hive1.hive概述 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并 ...
HBuilderX打包网址踩坑记录
前言 HBuilderX打包网址时,会出现返回退出问题,注意 我们打包的是网址 所以网上的那些乱七八糟的教程都不好使,这就很苦恼,改怎样解决呢,既不改变网址的源代码,又实现返回,返回两次退出呢。 并且设置开屏广告 URL预加载效果 Uniapp打包网址这里采用的是uniapp打包网址的,因为打包其他 根本监听不到返回事件,所以采用uniapp模式打包网址,首先要有vue的基础,我有点vue的基础,所以采用了uniapp 非常方便! Template模板1234<div class="backImg"> <view class="content"> </view></div> Data数据区123456789data() { return { webviewStyles: { progress: false }, wv: null, first: null } }, 点击返回事件处 ...
Golang学习
安装环境:CentOS7.2 64位,安装Golang查看go是否安装过:12345678910111213141516171819202122$ go envGOARCH="amd64"GOBIN=""GOEXE=""GOHOSTARCH="amd64"GOHOSTOS="linux"GOOS="linux"GOPATH="/root/go"GORACE=""GOROOT="/usr/lib/golang"GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64"GCCGO="gccgo"CC="gcc"GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build892156781=/tmp/go ...
Git操作使用
git1.Git介绍☆git各个空间的理解(核心流程) ☆git的操作 -> 添加操作->提交操作->推送操作->下拉操作 理解并应用 git的核心操作 add commit push pull 1.1版本控制(理解)无论是代码编写,还是文档编写,我们都会遇到对文档内容反复修改的情况 1.2开发中存在的问题(理解) 程序员小明负责的模块就要完成了,就在即将提交发布之前的一瞬间,电脑突然蓝屏,硬盘光荣下岗! 几个月来的努力付之东流 老王需要在项目中加入一个很复杂的功能,一边尝试,一边修改代码,就这样摸索了一个星期。可是这被改得面目全非的代码已经回不到从前了。 小明和老王先后从文件服务器上下载了同一个文件 因项目中Bug过多,导致项目进度拖延,项目经理老徐因此被骂,但不清楚Bug是手下哪一个程序员写的 开发中要解决的问题 代码备份 版本控制 协同工作 责任追溯 1.3SVN版本控制(理解)SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最 ...