emp

二十四、oracle pl/sql 变量

大兔子大兔子 提交于 2020-02-09 15:31:54
一、变量介绍 在编写pl/sql程序时,可以定义变量和常量;在pl/sql程序中包括有: 1)、标量类型(scalar) 2)、复合类型(composite) --用于操作单条记录 3)、参照类型(reference) --用于操作多条记录 4)、lob(large object) 二、标量(scalar)——常用类型 1)、在编写pl/sql块时,如果要使用变量,需在定义部分定义变量。 pl/sql中定义变量和常量的语法如下: identifier [constant] datatype [not null] [:=| default expr] identifier: 名称 constant:指定常量。需要指定它的初始值,且其值是不能改变的 datatype:数据类型 not null:指定变量值不能为null := 给变量或是常量指定初始值 default 用于指定初始值 expr :指定初始值的pl/sql表达式,可以是文本值、其它变量、函数等。 2)、标量定义的案例 1.定义一个变长字符串 v_ename varchar2(10); 2.定义一个小数,范围-9999.99~9999.99 v_sal number(6,2); 3.定义一个小数并给一个初始值为5.4,:=是pl/sql的赋值号 v_sal2 number(6,2):=5.4; 4.定义一个日期类型的数据 v

哈希表

Deadly 提交于 2020-02-09 12:52:56
哈希表(散列表)根据关键码值(Key)直接访问,加快查找的速度。 简单来说就是把数据分组,在进行查找的时候直接在对应的组里进行查找,以此减少查找数据时对不必要查找数据时所浪费的时间 package hashtab; import java.util.Scanner; public class HashTabDemo { public static void main(String[] args) { HashTab hashTab = new HashTab(7); String key = ""; Scanner scanner = new Scanner(System.in); while (true) { System.out.println("add"); System.out.println("list"); System.out.println("find"); System.out.println("del"); System.out.println("exit"); key = scanner.next(); switch (key) { case "a": int id = scanner.nextInt(); String name = scanner.next(); Emp emp = new Emp(id, name); hashTab.add(emp);

Oracle基础 程序包

别说谁变了你拦得住时间么 提交于 2020-02-08 05:00:26
一、程序包   程序包是一种数据库对象,它是对相关PLSQL类型、子程序、游标、异常、变量和常量的封装。程序包包含两部分内容:   1、程序包规范:可以声明类型、变量、常量、异常、游标和子程序。   2、程序包主题:可以实现在程序包规范中定义的游标、子程序。 二、程序包规范   程序包规范包含一些应用程序课件的公共对象和类型的声明它是应用程序的借口。规范包含应用程序所需的资源,如果程序包规范只声明类型、常量、变量和异常,则不需要有程序包主体。只有子程序和游标才具有程序包主体。   语法:   create [or replace] package package_name   is|as     [public type and item declations]     [subprogram specifications]   end [package_name]   说明:   package_name:包的名称。   public type and item declations:声明公共类型、常量、变量、异常和游标等。   subprogram specifications:声明PL/SQL子程序,也就是存储过程和函数。   在程序包规范中声明的项也可以再程序包之外使用。这样的项成为“公用对象”。      例: --程序包规范的声明 CREATE OR REPLACE

MySQL查询语句

让人想犯罪 __ 提交于 2020-02-08 03:24:13
1、 条件查询使用where语句,运算符 如下所示: 2、字段可以参与数学运算,比如查询员工的年薪 MariaDB [powernode]> select ENAME ,SAL*12 from EMP; ​ 给查询的结果重命名, 中文要加单引号 ,用as关键字: MariaDB [powernode]> select ENAME ,SAL*12 as '年薪' from EMP; ​ as关键字可以省略: MariaDB [powernode]> select ENAME,EMPNO,SAL*12 yearsal from EMP; 3、查询SMITH的工资: MariaDB [powernode]> select SAL from EMP where ENAME = 'SMITH' ; 4、找出工资高于3000的员工: MariaDB [powernode]> select ENAME,SAL from EMP where SAL > 3000; 找出工资不等于3000的员工: MariaDB [powernode]> select ENAME,SAL from EMP where SAL != 3000; 找出工资在1100到3000之间的员工,包括1100和3000; MariaDB [powernode]> select ENAME,SAL from EMP where

Spring-Boot缓存

二次信任 提交于 2020-02-08 00:24:12
title: Spring Boot缓存 catalog: true date: 2019-12-02 13:35:41 subtitle: SpringBoot学习 header-img: “/img/article_header/article_header.png” tags: Spring Boot catagories: SpringBoot top: 1 一、JSR107 Java Caching定义了5个核心接口: CachingProvider 定义了创建、配置、获取、管理何控制多个CacheingManageer,一个应用可以在运行期访问多个CachingProvider。 CachingManager 定义了创建、配置、获取、管理何控制多个唯一命名的Cache,这写Cache存在于CacheManager的上下文中,一个CacheManager仅被一个CacheProvider所拥有。 Cache 是一个类似Map的数据结构并临时存储以key未索引的值,一个cache仅被一个CacheManager所拥有 Entry 是每一个存储在Cache的key-value对。 Expiry 每一个存储在Cache中的条目有一个定义的有效期,一旦超过这个时间,条目未过期的状态。一旦过期,条目姜不可访问、更新和删除。缓存有效期可以通过ExpiryPolicy。 二、缓存注解

MySQL优化:explain和show profile

六眼飞鱼酱① 提交于 2020-02-06 18:36:36
前言 要想优化SQL语句,首先得知道SQL语句有什么问题,哪里需要被优化。这样就需要一个SQL语句的监控与量度指标,本文讲述的 explain 和 show profile 就是这样两个量度SQL语句的命令。 本文主要基于 MySQL5.6 讲解其用法,因为之后的MySQL版本会去掉 show profile 功能。 SQL脚本 本篇使用的表结构以及数据如下 /*Table structure for table `dept` */ CREATE TABLE `dept` ( `deptno` int(2) NOT NULL, `dname` varchar(15) DEFAULT NULL, `loc` varchar(15) DEFAULT NULL, PRIMARY KEY (`deptno`) USING BTREE, UNIQUE KEY `index_dept_dname` (`dname`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT; /*Data for the table `dept` */ insert into `dept`(`deptno`,`dname`,`loc`) values (10,'ACCOUNTING','NewYork'), (20,'RESEARCH','Dallas')

Oracle中select函数以及分组多表连接等重要点以及示例

被刻印的时光 ゝ 提交于 2020-02-06 04:10:07
Oracle中select函数以及分组多表连接等重要点 函数 –函数 –内置函数和自定义函数 –单行函数:一条记录返回一个结果的 –多行函数|组函数|聚合函数:多条记录返回一条结果的 单行函数 单行函数:一条记录返回一个结果的 示例: --单行函数 --当前时间 select distinct sysdate from emp; select sysdate from dual; select current_date from dual; --加减时间 --2天以后 select sysdate+2 from dual; --所有员工入职的3天前是几号 select hiredate,hiredate-3 from emp; --查询所有员工的使用期期到期(转正的日期)3个月试用期 select hiredate,add_months(hiredate,3) from emp;--add_month(日期对象,月份数) --查询所有员工到目前为止一共工作了几个月 select hiredate,months_between(sysdate,hiredate) from emp;--months_between(大的月份,小的月份) --查询当前月的最后一天 select last_day(current_date) from dual;--last_day(日期对象) -

MySQL基础

﹥>﹥吖頭↗ 提交于 2020-02-05 21:19:40
1、MySQL的部署结构 服务器端:服务存储/维护数据 要确保3306不被占用 mysqld.exe 客户端:负责向服务端发起增删改差 mysql.exe 2、使用客户端连接服务器端 mysql.exe -h127.0.0.1 -P3306 -uroot -p -h host 主机ip或域名 -P port 端口 -u user 用户 -p password 密码 mysql -uroot 注意:连接的时候不能在结尾加分号 3、MySQL常用管理命令 quit; 退出服务器连接 show databases: 显示服务器上当前所有数据库 use 数据库名; 进入指定的数据库 show tables; 显示当前数据库中所有的数据库表 desc 表名; 描述表中有哪些列 4、SQL命令 SQL:结构化查询语言,用于操作关系型数据库,主要是对数据库进行增删改查等操作 SQL命令的两种执行方式: (1)交互模式:适用于临时性的查看数据 (2)脚本模式:适用于批量操作数据 不能进入MySQL mysql -uroot <脚本路径名 5、SQL语法规范 (1)每条SQL命令可以跨越多行遇到英文分号结束 (2)假如某一条命令出现语法错误,则该语句及后面的语句都不会再执行 (3)SQL命令不区分大小写,习惯上关键字用大写,非关键字用小写 (4)SQL中可以使用单行注释(#),也可以使用多行注释(/

Oracle数据库环境搭建和select查询重要点

随声附和 提交于 2020-02-05 02:19:00
Oracle数据库环境搭建和查询重要点 环境搭建 安装OracleXE112_Win64 安装plsqldeveloperxx(64) DBMS 数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。大部分 DBMS 提供数据定义语言DDL(Data Definition Language)和数据操作语言 DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。 DDL DDL包括了create创建;drop删除;alter修改;rename重命名;truncata截断; DML 包括了insert插入;delete删除;update更新;select查询; DCL 包括了grant授权;revoke回收权利;commit提交事务;rollback回滚事物; 表 表是从属于用户的 ,查询表(用户名.表名),当前用户查询自己的表时,用户名.可以省略,其他用户查询 别的用户表 ,不能省略,同时必须存在权限。 表结构 表由表名、字段(名称+类型+约束)、记录 组成 三范式 在设计数据库时,存在行业的标准,这个标准也称为条件,即范式 Normal Form

数据库设计三范式

我们两清 提交于 2020-02-04 10:24:11
1.范式说明 1.1 第一范式(1NF)无重复的列   所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能同时有多个值, 即实体中的某个属性不能有多个值或者不能有重复的属性 。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。   在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 在当前的任何关系数据库管理系统(DBMS)中,不可能做出不符合第一范式的数据库,因为这些DBMS不允许你把数据库表的一列再分成二列或多列。因此,你想在现有的DBMS中设计出不符合第一范式的数据库都是不可能的。 举例1: 比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分为省份、城市、详细地址等多个部分进行存储,这样在对地址中某一部分操作的时候将非常方便。这样设计才算满足了数据库的第一范式,如下表所示。 UserInfo(ID,Name,Age,LinkTel,Province,City,Address)