sal

mysql基础教程(四)-----事务、视图、存储过程和函数、流程控制

心不动则不痛 提交于 2020-03-18 13:54:59
事务 概念 事务由单独单元的一个或多个SQL语句组成,在这 个单元中,每个MySQL语句是相互依赖的。 而整个单独单 元作为一个不可分割的整体,如果单元中某条SQL语句一 旦执行失败或产生错误,整个单元将会回滚。所有受到影 响的数据将返回到事物开始以前的状态;如果单元中的所 有SQL语句均执行成功,则事物被顺利执行。 存储引擎 概念 在mysql中的数据用各种不同的技术存储 在文件(或内存)中。 查看 通过 show engines; 来查看mysql支持的存储引擎。 常见引擎 在mysql中用的最多的存储引擎有:innodb, myisam ,memory 等。其中innodb支持事务,而 myisam、memory等不支持事务。 事务特点 事务的ACID(acid)属性 1. 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么 都发生,要么都不发生。 2. 一致性(Consistency) 事务必须使数据库从一个一致性状态变换到另外一个一致性状态 。 3. 隔离性(Isolation) 事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个 事务内部的操作及使用的数据对并发的其他事务是隔离的,并发 执行的各个事务之间不能互相干扰。 4. 持久性(Durability) 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是 永久性的

Hive和Sqoop测试数据

不问归期 提交于 2020-03-18 11:30:27
测试数据以Oracle数据库自带scott用户emp和dept表为准: 一、MySQL数据库创建的emp和dept表语法及数据: drop table if exists dept; create table dept ( deptno int not null comment '部门编号', dname varchar(14) comment '部门名称', loc varchar(13) comment '部门地址', PRIMARY KEY (deptno) )default character set 'utf8' comment '部门表'; insert into dept(deptno,dname,loc) values(10,'ACCOUNTING','NEW YORK'); insert into dept(deptno,dname,loc) values(20,'RESEARCH','DALLAS'); insert into dept(deptno,dname,loc) values(30,'SALES','CHICAGO'); insert into dept(deptno,dname,loc) values(40,'OPERATIONS','BOSTON'); ------------------------------------------------

利用SQL 构造EMP,DEPT表

北战南征 提交于 2020-03-15 21:13:11
Code SELECT ' SELECT ' || '''' || EMPNO || ''' AS EMPNO , ' || '''' || ENAME || ''' AS ENAME , ' || '''' || JOB || ''' AS JOB , ' || '''' || MGR || ''' AS MGR , ' || ' TO_DATE( ' || '''' || TO_CHAR(HIREDATE, ' YYYY-MM-DD ' ) || '''' || ' , '' YYYY-MM-DD '' ) AS HIREDATE , ' || '''' || SAL || ''' AS SAL , ' || '''' || COMM || ''' AS COMM , ' || '''' || DEPTNO || ''' AS DEPTNO ' || ' FROM DUAL ' || ' UNION ' FROM EMP SELECT * FROM ( SELECT ' 7369 ' AS EMPNO , ' SMITH ' AS ENAME , ' CLERK ' AS JOB , ' 7902 ' AS MGR ,TO_DATE( ' 1980-12-17 ' , ' YYYY-MM-DD ' ) AS HIREDATE , ' 800 ' AS SAL , '' AS

oracle PL、SQL(概念)

你离开我真会死。 提交于 2020-03-15 11:32:18
一 .PL/SQL 简介。    Oracle PL/SQL 语言( Procedural Language/SQL )是结合了 结构化查询 和 Oracle 自身过程控制 为一体的强大语言, PL/SQL 不但支持更多的数据类型,拥有自身的变量申明,赋值语句,而且还有条件,循环等流程控制语句。过程控制结构与 SQL 数据处理能力无缝的结合形成了强大的编程语言,可以创建过程和函数以及程序包。 二.优点: 1,支持 SQL      SQL 是访问数据库的标准语言,通过 SQL 命令,用户可以操纵数据库的数据。     PL/SQL 支持所有的 SQL 数据操纵命令、游标控制命令、事务控制命令、 SQL 函数、运算符和伪列。 2,支持面向对象编程      PL/SQL 支持面向对象的编程,在 PL/SQL 中可以创建类型,可以对类型进行继承,可以在子程序中重载方法等。 3,更好的性能      SQL 是非过程语言,只能一条一条的执行,而 PL/SQL 把一个 PL/SQL 统一进行编译后执行,同时还可以把编译好的 PL/SQL 块存储起来,以备重用,减少了应用程序和服务器之间的通信时间,所以 PL/SQL 是高效而快速的。 4,可移植性     使用 PL/SQL 编写的应用程序语言,可以移植到任何操作平台的 ORACLE 服务器,同时还可以编写可移植程序库,在不同环境中使用。

Oracle 检索数据(查询数据、select语句)

放肆的年华 提交于 2020-03-15 08:00:37
/*--> */ /*--> */   用户对表或视图最常进行的操作就是检索数据,检索数据可以通过 select 语句来实现,该语句由多个子句组成,通过这些子句完成筛选、投影和连接等各种数据操作,最终得到想要的结果。 语法:   select { [ distinct | all ] columns | * }   [ into table_name ]   from { tables | views | other select }   [ where conditions]   [ group by columns ]   [ having conditions ]   [ order by columns ] select子句 :用于选择数据表、视图中的列 into 子句:用于将原表的结构和数据插入新表中 from 子句:用于指定数据来源,包括表,视图和其他select 语句。 where 子句:用于检索的数据进行筛选 group by 子句:用于检索结果进行分组显示 having 子句:用于从使用group by子句分组后的查询结果中筛选数据行 order by 子句:用来对结果集进行排序(包括升序和降序) 一、简单查询   只包含select 子句和 from 子句的查询就是简单查询,同时也是select语句的必选项。   select

郝斌 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 表以及表相关的基本概念 字段(也叫 列):模拟的是某一个事物的某一个静态的特征。

oracle的分析函数‘over’

亡梦爱人 提交于 2020-03-11 18:35:03
分析函数语法: 例 : sum(sal) over (partition by deptno order by ename) new_alias sum 就是函数名 (sal) 是分析函数的参数 , 每 个函数有 0~3 个参数 , 参数可以是表达式 , 例如 :sum(sal+comm) over 是一个 关键 字 , 用于 标识 分析函数 , 否 则查询 分析器 不能区 别 sum() 聚集函数和 sum() 分析函数 分析函数用于 计 算基于 组 的某 种 聚合 值 ,它和聚合函数的不同之 处 是: 对 于 每 个 组 返回多行,而聚合函数 对 于 每 个 组 只返回一行。 常用的分析函数如下所列 : row_number() over ( partition by ... order by ...) rank() over ( partition by ... order by ...) dense_rank() over ( partition by ... order by ...) count() over ( partition by ... order by ...) max() over ( partition by ... order by ...) min() over ( partition by ... order by ...) sum() over

7、Java之MySQL

蓝咒 提交于 2020-03-10 17:10:39
1、数据库 1 数据库概念(了解) 1.1 什么是数据库 数据库就是用来 存储和管理 数据的仓库! 数据库存储数据的优先:可存储大量数据; l 方便检索; l 保持数据的一致性、完整性; l 安全,可共享; l 通过组合分析,可产生新数据。 1.2 数据库的发展历程 l 没有数据库,使用磁盘文件存储数据; l 层次结构模型数据库; l 网状结构模型数据库; l 关系结构 [c1] 模型数据库:使用二维表格来存储数据; l 关系-对象模型数据库;   MySQL就是关系型数据库! 1.3 常见数据库 l Oracle(神喻):甲骨文(最高!); l DB2:IBM; l SQL Server:微软; l Sybase:赛尔斯; l MySQL:甲骨文; 1.4 理解数据库 l RDBMS = 管理员(manager)+仓库(database) l database = N个table l table: 表结构:定义表的列名和列类型! 表记录:一行一行的记录! 我们现在所说的数据库泛指“关系型数据库管理系统(RDBMS - Relational database management system [c2] )”,即“数据库服务器”。 当我们安装了数据库服务器后,就可以在数据库服务器中创建数据库,每个数据库中还可以包含多张表。 数据库表就是一个多行多列的表格。在创建表时

Oracle分析函数Over()

Deadly 提交于 2020-03-09 13:30:09
Over()分析函数   说明:聚合函数(如sum()、max()等)可以计算基于组的某种聚合值,但是聚合函数对于某个组只能返回一行记录。若想对于某组返回多行记录,则需要使用分析函数。 rank()/dense_rank over(partition by ... order by ...) 说明:over()在什么条件之上;   partition by 按哪个字段划分组;   order by 按哪个字段排序; 注意:   (1)使用rank()/dense_rank() 时,必须要带order by否则非法   (2)rank()/dense_rank()分级的区别:     rank(): 跳跃排序,如果有两个第一级时,接下来就是第三级。     dense_rank(): 连续排序,如果有两个第一级时,接下来仍然是第二级。 示例:查询每个部门工资最高的员工信息 一般的写法 SELECT E.ENAME, E.JOB, E.SAL, E.DEPTNO FROM SCOTT.EMP E, (SELECT E.DEPTNO, MAX(E.SAL) SAL FROM SCOTT.EMP E GROUP BY E.DEPTNO) ME WHERE E.DEPTNO = ME.DEPTNO AND E.SAL = ME.SAL; 使用Over()函数 方法一: SELECT E

Oracle学习(6)

冷暖自知 提交于 2020-03-09 11:33:40
5、SQL的基础查询 ----DQL语言 1)基本查询语言 (1)from 关键字 select …from… where… 指定从那个表中查询 (2)使用别名的问题 在select语句后面,select是指定查询的那些列 语法:别名写在列名之后,空格隔开,中间可以加或者不加as关键字。 列名 别名 / 列名 as 别名 说明:如果希望别名中区分大小写字符,或者别名中包含字符或空格,则必须用双引号括起来。 (3)select子句 select用于指定要查询的列 ----如果是特定的某几列,在select后面写清楚那几列,逗号分隔开。 (4)where子句 where子句用于在查询中做条件限制的 (where子句可以用在select、update、delete) 强调: ----在where子句中,如果条件是和数字比较,可以使用单引号,也可以不用 ----在where子句中,如果条件是和字符串以及日期类型的数据进行比较,则必须要用单引号引起来 查询在部门 10 下面的员工信息 select * from emp where deptno = 10 ; select * from emp where deptno = '10' ; 查询员工表中职位是SALESMAN的职员 select * from emp where job = 'SALESMAN' ; select * from