emp

数据库操作

泪湿孤枕 提交于 2019-11-27 08:53:46
一.知识点 △用数据库的原因 1文件操作的复杂度 2同步 3并发处理 4安全 △数据库管理系统-DBM # 网络应用服务端 # 我们要使用服务端的数据 - 需要有一个客户端 # 客户端可以自己写 : 未来写代码的时候 # 也可以用别人写好的 : 第三方的工具 数据库管理软件的公司出版的官方客户端 # 数据库管理系统本质上也是管理一堆文件 # 只不过人家的管理方式比我们更高效 更安全 △数据库管理员-DBA # 搭建数据库服务环境 # 用户的创建 权限的管理 # 性能\语句的优化 # 数据库的二次开发 : 让数据库具有公司的特质 △软件 # mysql : 小公司 # 甲骨文 oracle : 事业单位 金融企业 # 微软 sql server # sqllite 数据库的分类 # 关系型数据库 mysql oracle sqlserver sqllite # 非关系型数据库 redis mongodb memcache hbase 关系型数据库 优点: 1、易于维护:都是使用表结构,格式一致 2、使用方便:SQL语言通用,可用于复杂查询 3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询 缺点: 1、读写性能比较差,尤其是海量数据的高效率读写 2、固定的表结构,灵活度稍欠 3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈 非关系型数据库 优点:

Spark 系列(十一)—— Spark SQL 聚合函数 Aggregations

落花浮王杯 提交于 2019-11-27 07:07:46
一、简单聚合 1.1 数据准备 // 需要导入 spark sql 内置的函数包 import org.apache.spark.sql.functions._ val spark = SparkSession.builder().appName("aggregations").master("local[2]").getOrCreate() val empDF = spark.read.json("/usr/file/json/emp.json") // 注册为临时视图,用于后面演示 SQL 查询 empDF.createOrReplaceTempView("emp") empDF.show() 注:emp.json 可以从本仓库的 resources 目录下载。 1.2 count // 计算员工人数 empDF.select(count("ename")).show() 1.3 countDistinct // 计算姓名不重复的员工人数 empDF.select(countDistinct("deptno")).show() 1.4 approx_count_distinct 通常在使用大型数据集时,你可能关注的只是近似值而不是准确值,这时可以使用 approx_count_distinct 函数,并可以使用第二个参数指定最大允许误差。 empDF.select(approx

oracle数据库与其他数据库区别

限于喜欢 提交于 2019-11-27 05:13:11
本文用的是Oracle 10g数据库,利用PL/SQL Developer的集成开发环境(安装可以自行百度) Oracle数据库 ---> 数据库实例 ---> 表空间(逻辑单位)(用户) ---> 数据文件(物理单位) 可以理解为下面 地球 ---> 一个国家 ---> 省份(逻辑单位)(公民) ---> 山川河流(物理单位) 通常情况下,Oracle数据库只会有一个实例ORCL, 新建一个项目: MYSQL : 创建一个数据库,创建相应的表 Oracle: 创建一个表空间,创建用户,用户去创建表 Oracle和MYSQL的差别 Oracle是多用户的, MYSQL是多数据库的 1. 遵循SQL标准 2. 不同厂商,不同的数据库产品,但是有自己的方言 3. 使用自己的方言,也能够完成相同的功能 4. Oracle安全级别要高,MYSQL开源免费 select * from tab; /* 数据库 ---> 数据库实例 ---> 表空间(逻辑单位)(用户) ---> 数据文件(物理单位) 地球 ---> 一个国家 ---> 省份(逻辑单位)(公民) ---> 山川河流(物理单位) 通常情况下,ORacle数据库只会有一个实例ORCL, 新建一个项目: MYSQL : 创建一个数据库,创建相应的表 Oracle: 创建一个表空间,创建用户,用户去创建表 Oracle和MYSQL的差别

Oracle的大表,小表与全表扫描

若如初见. 提交于 2019-11-27 04:04:36
大小表区分按照数据量的大小区分; 通常对于小表,Oracle建议通过全表扫描进行数据访问,对于大表则应该通过索引以加快数据查询,当然如果查询要求返回表中大部分或者全部数据,那么全表扫描可能仍然是最好的选择。 从V$SYSSTAT视图中,我们可以查询得到关于全表扫描的系统统计信息: SQL> col name for a30 SQL> select name,value from v$sysstat 2 where name in ('table scans (short tables)','table scans (long tables)'); NAME VALUE ------------------------------ ---------- table scans (short tables) 828 table scans (long tables) 101 其中table scans (short tables)指对于小表的全表扫描的此时;table scans (long tables)指对于大表的全表扫描的次数。 从Statspack的报告中,我们也可以找到这部分信息: Instance Activity Stats for DB: CELLSTAR Instance: ora8i Snaps: 20 - Statistic Total per Second

小菜鸟之数据库

十年热恋 提交于 2019-11-27 03:44:44
数据库复习提纲之文字版(这个只是自己整理文案,答案是查的,勿喷,谢谢,希望给别人一些帮助) 1 、 Oracle和 SQL server2005的区别 Oracle数据库:Oracle Database,又名Oracle RDBMS,或简称Oracle。是 甲骨文公司 的一款 关系数据库管理系统 。 它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。 sql server数据库:美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的 数据库管理系统 ,实现了与WindowsNT的有机结合,提供了基于 事务 的企业级信息管理系统方案 两者的区别: (1)操作的平台不同 Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。而SQL Server却只能在Windows上运行了。   但SQL Sever在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性

WCF入门(10)

不打扰是莪最后的温柔 提交于 2019-11-27 01:52:29
前言 又堕落了,哎。 公司是做乙方的,工资还凑合,主要是项目基本都已完成,进去就是干维护,体会不到那种从头彻尾的成就感。项目中具体用了EF+Ado.net+WCF+WPF+(VB.net啊,坑啊,完全不知道是这个东西),整个解决方案有47个项目,是一个国际化的电话保险销售系统中的一部分。感觉自己是去体验生活的。这个项目也就是自己学习WCF的原因。 工作方面,等手上的结束了再卖自己一次吧。 第十集 Message Contract in WCF (WCF 的MessageContract特性) 很简单的一集,讲的主要是WCF中的MessageContract特性,具体作用是用来控制WCF 的xml request和response的soap消息格式。可以理解为前面讲过的 DataContract 的升级版。如果我们想在程序上完全控制soap消息的格式,这就是一个很好的解决方案。 视频上通过修改以前的Demo来演示了一遍他的具体使用。我们也来做一遍。 首先,定义两个类EmployeeRequest 和 EmployeeInfo 1 [MessageContract(IsWrapped = true, WrapperName = "EmployeeRequestObj", WrapperNamespace = "http://HelloWcf.com/2015/02/04")] 2

Oracle的sql (一 )

只谈情不闲聊 提交于 2019-11-27 01:23:52
Oracle体系结构: 数据库 ----> 实例(orcl) ---> 表空间(逻辑单位)(用户) ---> 数据文件(物理单位) 地球 ----> 国家 ---> 省份(省长,公民) ---> 中粮,山川河流 Oracle和mysql区别: 收费, 不开源 Oracle特有的方言/特有的语法 安全级别高 假设要做一个项目: mysql : 新建一个数据库 Oracle : 新建一个表空间,指定一个用户,让这个用去去创建相应的表里 mysql : 多数据库 Oracle : 多用户操作 ,所有的表都是放在用户下面 基本查询操作 SQL分类: DDL: 数据定义语言,定义的表的结构 , create , alter, drop ,truncate DML: 数据操纵语言, 操纵表中数据 , insert , update, delete DCL: 数据控制语言, 控制一些安全级别, 授权,取消授权 grant revoke DQL: 数据查询语言, 查询数据 , select , from , where 查询语句的基本结构: select 显示的列名 from 从哪张表查 [where 条件 ] select * from tab; select 1+1; -- 崩溃........ mysql可以,Oracle不行 /* dual : oracle中虚表/伪表,

Hive笔记6

我怕爱的太早我们不能终老 提交于 2019-11-27 00:55:01
第六章 查询 查询语句语法: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [ORDER BY col_list] [CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list] ] [LIMIT number] 6.1 基本查询 6.1.1 全表和特定列查询 1,全表查询 select * from emp; 2,选择特定列查询 select empno, ename from emp; 注意: SQL语言大小写不敏感 SQL可以写在一行或者多行 关键字不能被缩写也不能分行 各子句一般要分行写 使用缩进提高语句的可读性 6.1.2 列别名 6.1.5 Limit语句 典型的查询会返回多行数据,LIMIT子句用于限制返回的行数 select * from emp limit 5; where语句 1,使用where子句,将不满足条件的行过滤掉 2,where子句紧随from子句 3, 查询薪水大于1000的所有的员工 select * from emp where sal > 1000; 6.2.1 比较运算符

D9-哈希表[Java数据结构和算法]

半腔热情 提交于 2019-11-26 23:51:14
1. 哈希表的介绍和内存布局   1.1哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表   1.2 哈希表图例 2.哈希表实现思路图解   2.1 使用哈希表管理雇员信息的源代码 1 package cn.atguigu.Hashtable; 2 3 import java.util.Scanner; 4 5 public class HashTableDemo { 6 public static void main(String[] args) { 7 //创建哈希表 8 HashTable hashTable=new HashTable(7); 9 //简单菜单 10 String key=""; 11 Scanner scanner=new Scanner(System.in); 12 while(true) { 13 System.out.println("add:添加雇员"); 14 System.out.println("list:显示雇员"); 15 System.out.println("find:查找雇员"); 16 System.out.println("exit:退出系统"); 17 18

Oracle SQL多表查询

回眸只為那壹抹淺笑 提交于 2019-11-26 21:39:22
曾经一段时间我对oracle的多表查询搞的云里雾里,究其原因:oracle自己的语法和SQL国际标准语法混用。此文章仅适合oracle 菜鸟,老鸟直接飞过… 多表连接类型(SQL 1999标准) • Cross joins • Natural joins • USING clause • Full (or two-sided) outer joins • Arbitrary join conditions for outer joins SQL1999语法: SELECT table1.column, table2.column FROM table1 [CROSS JOIN table2] | [NATURAL JOIN table2] | [JOIN table2 USING (column_name)] | [JOIN table2 ON (table1.column_name = table2.column_name)]| [LEFT|RIGHT|FULL OUTER JOIN table2 ON (table1.column_name = table2.column_name)]| [CROSS JOIN table2]; 语法解释: table1.column --指明从中检索数据的表和列 CROSS JOIN --返回两个表的笛卡尔集 NATURAL JOIN -