数据库

mysql基础面试题

六月ゝ 毕业季﹏ 提交于 2020-03-12 03:32:41
1、 uuid和id区别   1) uuid类型是varchar(36),而自增长Id则一般是bigInt类型。   2) 相对于bigInt类型的自增长Id,varchar(36)类型的uuid消耗的物理空间更为明显。   3)uuid几乎保证了不同数据库的不同表的id唯一,而自增长id只能保证一个数据库中的一张表的id唯一    进行数据库合并的话并然会因主键冲突而失败,这是一个硬伤。 2、 主从数据库怎么针对从数据库查,主数据库修改增加   1)主从数据库本身就是主表更新操作,从表查询操作,主从分离,数据同步 来源: https://www.cnblogs.com/jiaxinzhu/p/12466852.html

mongdb数据库的操作

一世执手 提交于 2020-03-12 03:24:57
一、数据库使用   1.使用mongodb服务,必须先开启服务,开启服务使用 mongod --dbpath D:mongdb (D:mongdb 自己所创建数据库的路径, 在cmd窗口中输入) 2.管理mongodb数据库,mongo (必须新建一个新的cmd窗口输入,之前打开的cmd窗口不能关闭) ** cls 清屏命令 二、创建数据库 1.使用数据库、创建数据库 use student 如果真的想把这个数据库创建成功,那么必须插入一个数据 数据库中不能直接插入数据,只能往集合(collections)中插入数据,不需要专门创建集合,只需要写点语法插入数据就会创建集合 db.student.insert({"name":"xiaoming"}); //插入数据  show collections 就能看到刚才创建的集合(student) 2.删除当前所在的数据库 db.dropDatabase(); 删除集合语法 db.collection_name.drop db.student.drop() 三、插入数据 db.student.insert({"name":"xiaoming"}); //插入数据 四、查找数据  1.查询所有记录 db.student.find() 2.查询去掉后的当前聚集集合中的某列的重复数据 db.student.disnct("name") /

MyBatis 源码分析-项目总览

筅森魡賤 提交于 2020-03-12 02:43:33
MyBatis 源码分析-项目总览 1.概述 本文主要大致介绍一下MyBatis的项目结构。 引用参考资料《MyBatis技术内幕》 此外, https://mybatis.org/mybatis-3/zh/index.html MyBatis官方也提供了很不错的中文文档。对于使用中有碰到一些问题,可以参考一下。 2.模块划分 MyBatis在项目模块划分还是很清晰的。各个模块层次以及具体作用,如下: 模块 层次 定义 session 接口层 提供给外部使用的接口API scripting 核心处理层 解析映射文件中的动态SQL节点。并形成数据库可执行的SQL语句。 mapping 核心处理层 映射 builder 核心处理层 配置解析 executor 核心处理层 执行器模块,串联整个执行流程。 plugin 核心处理层 插件模块:提供插件接口,通过自定义插件方式对MyBatis进行拓展 cursor 核心处理层 游标模块 reflection 基础支持层 反射模块:mybatis专门对反射模块进行封装。提供更加简单易用的API type 基础支持层 类型转换模块:Mybatis为简化配置提供了别名机制。提供java类型与JDBC类型转换 logging 基础支持层 日志模块:主要是集成第三方日志 io 基础支持层 资源加载模块:对类加载器进行了封装。确定类加载器顺序

数据库思想、框架总结

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-12 02:09:02
原始JDBC: 加载数据库驱动类 驱动管理工具类获取连接,写用户名,密码连接数据库; 利用java带的类,根据连接的数据库,获得一个可以输入sql语句的对象; 写sql语句; 执行语句; 如果为查询,得到一个ResultSet; 轮询ResultSet,人工组装成为你想要的类; Spring提供的JDBC模板 减少了try,catch语句; ORM ORM:对象关系映射; 核心:ORM是一个实现使用对象操作数据库的设计思想,让编程人员不编写任何SQL语句; 完整的ORM框架: 包括Object->Relation和Relation->Object两方面 Hibernate是个完整的ORM框架,而MyBatis完成的是Relation->Object JPA JPA(Java Persistence API,Java持久化API),定义了对象-关系映射(ORM)以及实体对象持久化的标准接口。 Sun引入新的JPA ,ORM规范出于 两个原因: 其一,简化现有Java EE和Java SE应用开发工作; 其二,Sun希望整合ORM技术,实现天下归一。(提出ORM思想后,ORM的实现太多了,整合) ORM的出现是由于面向对象的大潮,创作者希望对数据库的操作也使用 面向对象 ,从而避免对sql的繁琐操作。 JPA包括三方面的技术: ORM 映射元数据 JPA支持 XML 和JDK5.0

郝斌 SqlServer2005 学习笔记

不打扰是莪最后的温柔 提交于 2020-03-11 23:56:26
1.0 什么是数据库 狭义:存储数据的仓库。 广义:可以对数据进行存储和管理的软件以及数据本身统称为数据库。 另外一种说法:数据库是由表、关系、操作组成。 2.0 为什么要学习数据库 几乎所有的应用软件的后台都需要数据库。 数据库存储数据占用的空间小,容易持久化。 存储比较安全。 容易维护和升级。 数据移植比较容易。 简化对数据的操作。 3.0 数据结构和数据库的区别 数据结构是在系统软件级别研究数据的存储和操作。(内存) 数据库是在应用软件级别研究数据的存储和操作。(外部存储) 4.0 数据库中连接概念 5.0 对内存数据的操作,编程语言更加灵活;对于硬盘数据的操作,通过数据库管理软件更加容易。但是对于复杂的数据操作,当通过数据库语言没法操作时,通常把数据先写入内存通过编程语言处理以后,再存入数据库。 6.0 建议初学者从三个方面学习数据库  数据库是如何存储数据的 字段、记录、表、约束  数据库是如何操作数据的 insert、update、delete、TL-SQL、存储过程、函数、触发器  数据库是如何显示数据的 select(查询) 7.0 创建数据库 8.0 删除数据库 9.0 数据库的备份和还原 10.0 数据库的分离和附加 11.0 用户的创建和密码修改 安全性→登录名 12.0 表以及表相关的基本概念 字段(也叫 列):模拟的是某一个事物的某一个静态的特征。

Hive元数据的解析

a 夏天 提交于 2020-03-11 23:36:51
Hive体系结构的元数据(Metastore)是一个重要的组件,保存了Hive有关库、表、存储、分区等信息。元数据主要包括两个方面:一方面是元数据库,最常见的是采用MySQL;另一方面是元数据服务,与其他查询引擎共享,比如Presto或Impala等。 Hive元数据库 Hive支持两种类型的元数据库: 本地或嵌入的元数据库:Derby 远程的元数据库:MySQL 说明:嵌入的元数据库主要用于单元测试,并且一次只能有一个进程来连接,所以生产环境不推荐使用。实际上,线上使用最多的是采用MySQL作为远程的元数据库。 (1)配置Hive元数据库 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/hive?characterEncoding=UTF-8</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName<

CentOS下Redis服务器安装配置

前提是你 提交于 2020-03-11 21:47:52
说明: 操作系统:CentOS 1、安装编译工具 yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl 2、安装tcl组件包(安装Redis需要tcl支持) 下载:http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz 上传tcl8.6.1-src.tar.gz到/usr/local/src目录 cd /usr/local/src #进入软件包存放目录 tar zxvf tcl8.6.1-src.tar.gz #解压 cd tcl8.6.1 #进入安装目录 cd unix ./configure --prefix=/usr --without-tzdata --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit) #配置 make #编译 sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" -i tclConfig.sh make install

数据库SQL Server与C#中数据类型的对应关系

旧巷老猫 提交于 2020-03-11 21:45:56
ylbtech- .NET-Basic:数据库SQL Server与C#中数据类型的对应关系 数据库SQL SServer与C#中数据类型的对应关系 1.A, 返回顶部 数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string datetime System.DateTime decimal System.Decimal float System.Double image System.Byte[] money System.Decimal nchar String ntext String numeric System.Decimal nvarchar String real System.Single smalldatetime System.DateTime smallint Int16 smallmoney System.Decimal timestamp System.DateTime tinyint System.Byte varbinary System.Byte[] varchar String Variant Object unique identifier System.Guid 作者: ylbtech 出处: http://ylbtech

第十八篇 Linux环境下常用软件安装和使用指南

为君一笑 提交于 2020-03-11 21:42:29
提醒:如果之后要安装virtualenvwrapper的话,可以直接跳到安装virtualenvwrapper的方法,而不需要先安装好virtualenv 安装virtualenv和生成虚拟环境 安装virtualenv:yum -y install python-virtualenv 生成虚拟环境: 先切换到想要生成虚拟环境的目录下面 生成python2的虚拟环境:virtualenv 虚拟环境名,例如:virtualenv test_py2 生成python3的虚拟环境:virtualenv -p python3的安装目录 虚拟环境名,例如:virtualenv -p /usr/local/bin/python3.6 test_py3 启动虚拟环境: 先切换到bin目录下面:cd test_py2/bin 或者 cd test_py3/bin 使用source命令启动虚拟环境:source activate 退出虚拟环境:deactivate 快速启动虚拟环境(安装virtualenvwrapper) 安装vitualenvwrapper:pip install -i https://pypi.douban.com/simple/ virtualenvwrapper 使用find命令查找virtualenvwrapper.sh的位置:find / -name

Nodejs WEB开发常用库和框架

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-11 19:39:45
我在Nodejs的体系里也算泡了很久了,的确非常喜欢javascript和Nodejs. 在我看来,用nodejs做web开发有以下几个优点: Javascript作为一个语法异常简单的脚本语言,约束较少,开发效率比较高. Nodejs在设计时就考虑了依赖管理,有一个成熟的npm机制,在使用过程中很少遇到版本问题. Javascript的语法非常灵活,而且它的基于prototype的链式集成机制,obj[property]和obj.property的混用可以创造出很多变化. 对于JSON的天然支持 原生的异步编程机制和单线程的工作方式,因此不像同步模型需要锁等机制 javascript可以让前后端开发语言统一,现在不少框架把网络通讯层进行了封装.前后端的区别更加模糊. 特别是现在前端的逻辑越来越复杂,单页面的web app程序越来越流行. 相信Nodejs会被更多的互联网公司接受. 这篇文章简单记录下我经常用到的一些库或者框架,仅供参考. 标准LIB path path库最常用的就是path.join了,另外path.extname也经常能用到. path和require机制配合可以做模块的动态加载等一些功能. fs fs是nodejs的文件管理模块,常用的几套api有: readFile[Sync], writeFile[Sync]等用来读取文件内容的. lstat,