emp

sql--DQL_函数

巧了我就是萌 提交于 2020-03-02 11:38:32
一、函数的分类: 1、单行函数: 输入一行数据,每一行都会返回一个结果。 a、字符函数 :输入的是字符,返回的也是字符 常见的函数(upper 、lower、initcap首字母大写、concat、length(按字符来统计)、lengthb(按字节的方式来统计)、lengthc(按照的是unique码统计)、substr、instr、trim、ltrim、rtrim、replace b、数值函数:abs, mod, trunc, round, ceil ,floor c、日期函数 :输入的是一个日期返回的是日期或数值 sysdate , months_between (距某个日期相隔了几个月),add_months , next_day, last_day ,trunc d、转换函数 :to_char , to_number, to_date e、通用函数 :nvl , nvl2 ,nullif f、分支函数 : decode() ,case...when...then g、正则表达式函数 :regexp_substr,regexp_instr,regexp_like 2、多行函数/聚合函数/分组函数: 输入多行,返回的结果为一行 count(),sum(),avg()平均值,max(),min(),group by 分组, having 分组或筛选,rollup滚动函数

hive 导入数据表乱码

大憨熊 提交于 2020-03-01 15:10:12
emp表的数据来自oracle的emp表中,windows中使用plsql导出的数据文件为emp.csv,使用hdfs dfs -put emp.csv /files 上传到hdfs中; create external table emp (empno int,ename varchar(64),job varchar(64),mgr int,hiredate date,sal float,comm float,deptno int ) row format delimited fields terminated by ',' location '/files'; ALTER TABLE newemp SET SERDEPROPERTIES ('serialization.encoding'='gbk'); 由于windows中导出的文件编码默认为gbk,所以只需要设置hive表的格式也为gbk即可。 字符编码相关信息 来源: oschina 链接: https://my.oschina.net/u/1011578/blog/537452

MySQL子查询

被刻印的时光 ゝ 提交于 2020-03-01 09:41:50
分类: 多表关联或者表内字段关联时,或做相似功能判断时,往往会使用子查询来解决相应问题 1. 无关子查询: 内查询没有用到外查询的列,而且内查询可以单独运行. 2. 相关子查询: 内查询使用了外查询的列,而且内查询不能单独运行. 子查询的特点 子查询很灵活,可以解决很多其他查询方式不能解决的问题 子查询效率很低,其中相关子查询效率最低 子查询嵌套的层数越多,则效率越低 为什么相关子查询的效率极其低下? 内查询用到了外查询的列,每次查询行记录时都会迭代表格中 每一行的行记录,而这种迭代中产生的值都是动态生成的. 结论: 性能排序/优先使用 关联/分组查询>无关子查询>相关子查询 找出各个部门中大于他所在部门平均工资的员工名和工资 mysql>select e.first_name,e.salary from s_emp e where e.salary>(select avg(e1.salary) from s_emp e1 where e1.dept_id = e.dept_id); 1 2 e.id = dept_id = 41 确定e是否能够被查询出来,e.salary>select avg(e1.salary) from s_emp e1 where e1.dept_id = 41 1 2 找出职称相同的员工 mysql>select first_name from s

手写哈希表

旧巷老猫 提交于 2020-02-29 19:16:38
情景: google公司上机题, 有一个公司,当有新员工来报到时,要求将该员工的信息加入(ID,姓名,年龄,地址),当输入员工的ID时,要求查找到该员工的所有信息 要求: 不使用数据库,速度越快越好====》言外之意,用hash表来完成 package com.datastructure.HashTableDemo; import java.util.Scanner; /** * google公司上机题 * * 有一个公司,当有新员工来报到时,要求将该员工的信息加入(ID,姓名,年龄,地址),当输入员工的ID时,要求查找到该员工的所有信息 * * 要求:不使用数据库,速度越快越好====》言外之意,用hash表来完成 */ public class HashTab { //测试一把 public static void main(String[] args) { HashT hashT = new HashT(5); boolean flag = true; while (flag){ System.out.println("add.添加元素"); System.out.println("del.删除元素"); System.out.println("find.查找元素"); System.out.println("list.展示元素"); System.out.println(

Spring Boot Web开发(二)

眉间皱痕 提交于 2020-02-29 17:09:55
RestfulCRUD【实验】 1. 默认访问首页 package com.atguigu.springboot.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; /** * ClassName:MyMvcConfig * Package:com.atguigu.springboot.config * Description: * * @Date:2020/2/21 10:30 * @Author:liangshuai@shuaige.com */ @Configuration public class MyMvcConfig

SQL入门经典(第四版)学习记录——SQL语法(二)

感情迁移 提交于 2020-02-29 07:34:17
一、创建表 create table 表里包含什么类型的数据 表的名称是什么 主键 列的名称是什么 每一列的数据类型是什么 每一列的长度是多少 表里哪些列可以是空的 语法: create table table_name (field1 data_type [not null], field2 data_type [not null], field3 data_type [not null]); 例子:(有语法错误,在SQL SERVER中提示) create table EMPLOYEE_TBL (EMP_ID  CHAR(9)   NOT NULL, EMP_NAME  VARCHAR(40)  NOT NULL, EMP_ST_ADDR  VARCHAR(20)  NOT NULL, EMP_CITY   VARCHAR(15)   NOT NULL, EMP_ST   CHAR(2)   NOT NULL, EMP_ZIP  INTEGER(5)  NOT NULL, EMP_PHONE  INTEGER(10)  NULL, EMP_PAGER  INTEGER(10)  NULL); (这个不会报错) create table EMPLOYEE_TBL (EMP_ID CHAR(9) NOT NULL, EMP_NAME VARCHAR(40) NOT NULL,

ORACLE SEQUENCE 介绍

折月煮酒 提交于 2020-02-29 03:46:22
在oracle中sequence就是所谓的序列号,每次取的时候它会自己主动添加,一般用在须要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1開始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10; 一旦定义了emp_sequence,你就能够用CURRVAL,NEXTVAL CURRVAL=返回 sequence的当前值 NEXTVAL=添加sequence的值,然后返回 sequence 值 比方: emp_sequence.CURRVAL emp_sequence.NEXTVAL 能够使用sequence的地方: - 不包括子查询、snapshot、VIEW的 SELECT 语句 - INSERT语句的子查询中 - NSERT语句的VALUES中 - UPDATE 的 SET中 能够看例如以下样例: INSERT INTO emp VALUES (empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20); SELECT

JAVA集合 - ArrayList

删除回忆录丶 提交于 2020-02-29 00:00:01
集合可实现增删改查,下面的项目用ArrayList集合来做实例,ArrayList集合几个常用的函数   .size()  集合大小   .add()  添加对象到集合   .remove() 删除集合的对象 用到的其他函数   .equals() 字符串比较   System.exit(-1) 退出系统,非零 1 /* 2 * 作者:白客C 3 * 时间:2020年02月28日 4 * 内容:简单员工管理系统 5 */ 6 7 package com.beekc.www; 8 import java.io.*; 9 import java.util.*; 10 11 public class Beekc { 12 public static void main(String[] args) throws Exception{ 13 14 //创建EmpManage 15 EmpManage em = new EmpManage(); 16 17 //输入流 18 InputStreamReader isr = new InputStreamReader(System.in); 19 BufferedReader br = new BufferedReader(isr); 20 21 //简易菜单 22 em.menu(); 23 while (true) 24 { 25 26

防止开发人员获取到敏感数据(SQL Server的数据加密简介)

旧城冷巷雨未停 提交于 2020-02-28 07:20:54
背景 有时候,我们还真的会碰到这样的需求:防止开发人员获取到敏感数据。也许你觉得很简单,把开发和运营分开不就可以了吗?是的,如果公司有专门的运营团队的话,但对于很多小公司来说,几个人的开发团队就兼顾了需求分析、设计、开发、测试、调试、部署和运营了,数据库密码知道,程序代码全有,怎么办?——必须对数据库里的数据进行加密,这是唯一的办法。 也许你还是不明白,什么东西需要瞒着我们了不起的程序员,好吧,我直说了:工资!假如你的公司让你做一个工资系统,你会不会有这方面的顾虑,一旦工资信息被公开,后果必定是很严重的,也许老板对你很信任,认为让你知道没什么问题,但其他开发人员呢?后来接手你的工作的人呢?所以必须考虑这个问题。而且,还外带一个需求:员工自己可以用自己的“薪资查看密码”来查看自己的工资(只能看自己的),每个人自己的“薪资查看密码”都不一样。另外不需要描述的隐藏需求还有:将来必定是要对薪资做统计做报表的。 相关代码 SQL Server(2005及之后的版本)提供了内置的加密机制,加密方式有两大类,一类是对称加密,另一类则是非对称加密。 SQL Server的对称加密示例代码: --创建一个对称密钥,其实只需要创建一次,不用每次都创建,这个对称密钥密码为123456(嗯,大多数人认为的密码),密码是nvarchar类型的 CREATE SYMMETRIC KEY my_symetric

Oracle存储过程

安稳与你 提交于 2020-02-27 21:57:00
http://blog.csdn.net/u013057786/article/details/17165623 Oracle存储过程 2013-12-06 13:11 807人阅读 评论 (0) 收藏 举报 oracle 一、 存储过程 1、定义 所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过 编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数 来调用并执行它,从而完成一个或一系列的数据库操作。 2、存储过程的创建 Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。 (1) 无参存储过程语法 Sql代码 create or replace procedure NoParPro as //声明 ; begin // 执行 ; exception//存储过程异常 ; end; (2) 带参存储过程实例 Sql代码 create or replace procedure queryempname(sfindno emp.empno%type) as sName emp.ename%type; sjob emp.job%type; begin .... exception .... end; (3) 带参数存储过程含赋值方式 Sql代码 create or