- 博客(54)
- 资源 (1)
- 收藏
- 关注
原创 SQL性能优化
1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 解决办法: 其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下: a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列
2017-09-25 15:01:24 157
原创 9、在Shell脚本中调用其他脚本
9、在Shell脚本中调用其他脚本 在Shell脚本的执行过程中,Shell脚本支持调用另一个Shell脚本,调用的格式为:程序名 实例:在Shell脚本test1中调用test2。 1、调用test2 #test1脚本 root@ubuntu:/home/study# vi test1; #!/bin/bash echo "The main name is $0"; ./
2016-09-30 09:44:41 362
原创 8、在Shell脚本中使用函数
8、在Shell脚本中使用函数 学习目标 Shell的函数 Shell程序也支持函数。函数能完成一特定的功能,可以重复调用这个函数。 函数格式如下: 函数名() { 函数体 } 函数调用方式: 函数名 参数列表 实例:编写一函数add求两个数的和,这两个数用位置参数传入,最后输出结果。 root@u
2016-09-30 09:44:10 376
原创 7、条件结构语句
7、条件结构语句 学习目标 Shell的条件结构语句 Shell程序中的条件语句主要有if语句与case语句。 12-7-1 if语句 语法: if 表达式1 then 操作 elif表达式2 then 操作 elif表达式3 then 操作 else 操作 fi Linux里的if的结束标志是将if反过来写成fi;而e
2016-09-30 09:43:39 287
原创 6、循环结构语句
6、循环结构语句 学习目标 Shell的循环语句 Shell常见的循环语句有for循环、while循环语句和until循环。 12-6-1 for循环 语法: for 变量 in 列表 do 操作 done 注意:变量要在循环内部用来指列表当中的对象。 列表是在for循环的内部要操作的对象,可以是字符串也可以是文件,如果是文件则为文件名。 实例:在列表中
2016-09-30 09:43:10 211
原创 5、表达式的比较
5、表达式的比较 学习目标 字符串操作符 逻辑运算符 用test比较的运算符 数字比较符 文件操作符 在Shell程序中,通常使用表达式比较来完成逻辑任务。表达式所代表的操作符有字符操作符、数字操作符、逻辑操作符、以及文件操作符。其中文件操作符是一种Shell所独特的操作符。因为Shell里的变量都是字符串,为了达到对文件进行操作的目的,于是才提供了文件操作符。 12-5-1
2016-09-30 09:42:36 380
原创 4、在Shell程序中的使用变量
4、在Shell程序中的使用变量 学习目标 变量的赋值 变量的访问 变量的输入 12-4-1 变量的赋值 在Shell编程中,所有的变量名都由字符串组成,并且不需要对变量进行声明。要赋值给一个变量,其格式如下:变量名=值。 注意: 等号(=)前后没有空格 例如: x=6 a=”How are you ” 表示把6赋值给变量x,字符串“How are you
2016-09-30 09:41:51 261
原创 3、在Shell程序中使用的参数
3、在Shell程序中使用的参数 学习目标 位置参数 内部参数 如同ls命令可以接受目录等作为它的参数一样,在Shell编程时同样可以使用参数。Shell程序中的参数分为位置参数和内部参数等。 12-3-1 位置参数 由系统提供的参数称为位置参数。位置参数的值可以用$N得到,N是一个数字,如果为1,即$1。类似C语言中的数组,Linux会把输入的命令字符串分段并给每段进行标号,标号
2016-09-30 09:41:14 306
原创 2、编写/修改权限及执行Shell程序的步骤
2、编写/修改权限及执行Shell程序的步骤 学习目标 编写Shell程序 执行Shell程序 正文 Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂。Shell程序是指放在一个文件中的一系列Linux命令和实用程序。在执行的时候,通过Linux操作系统一个接一个地解释和执行每条命令。首先,来编写第一个Shell程序,从中学习Shell程序的编写、修
2016-09-30 09:27:26 769
原创 1、Shell命令行书写规则
学习目标 Shell命令行书写规则 正文 对Shell命令行基本功能的理解有助于编写更好的Shell程序,在执行Shell命令时多个命令可以在一个命令行上运行,但此时要使用分号(;)分隔命令,例如: root@ubuntu:~# ls a* -l;free;df 长Shell命令行可以使用反斜线字符(\)在命令行上扩充,例如: root@ubuntu:~
2016-09-30 09:26:53 346
原创 二十九、oracle 触发器
二十九、oracle 触发器 一、触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。然后,触发器的触发条件其实在你定义的时候就已经设定好了。这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级
2016-09-23 08:30:03 181
原创 二十八、oracle 视图
二十八、oracle 视图 一、介绍 视图是一张虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。(视图不是真实存在磁盘上的) 二、视图与表的区别 1、表需要占用磁盘空间,视图不需要 2、视图不能添加索引(所以查询速度略微慢点)
2016-09-23 08:29:42 172
原创 二十七、oracle 例外
二十七、oracle 例外 一、例外分类 oracle将例外分为预定义例外、非预定义例外和自定义例外三种。 1)、预定义例外用于处理常见的oracle错误。 2)、非预定义例外用于处理预定义例外不能处理的例外。 3)、自定义例外用于处理与oracle错误无关的其它情况。 下面通过一个小案例演示如果不处理例外看会出现什么情况? 编写一个存储过程,可接收雇员的编号,并显示该雇员的姓名
2016-09-23 08:29:07 170
原创 二十六、oracle pl/sql 分页
二十六、oracle pl/sql 分页 一、无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解。首先是掌握最简单的存储过程,无返回值的存储过程。 案例:现有一张表book,表结构如下:书号、书名、出版社。 CREATE TABLE book( ID NUMBER(4), book_name VARCHA
2016-09-23 08:28:51 175
原创 二十五、oracle pl/sql进阶--控制结构(分支,循环,控制)
二十五、oracle pl/sql进阶--控制结构(分支,循环,控制) 一、pl/sql的进阶--控制结构 在任何计算机语言(c,java,pascal)都有各种控制语句(条件语句,循环结构,顺序控制结构...),在pl/sql中也存在这样的控制结构。 在本部分学习完成后,希望大家达到: 1.使用各种if语句 2.使用循环语句 3.使用控制语句——goto和null(goto语句不
2016-09-23 08:28:26 188
原创 二十四、oracle pl/sql 变量
二十四、oracle pl/sql 变量 一、变量介绍 在编写pl/sql程序时,可以定义变量和常量;在pl/sql程序中包括有: 1)、标量类型(scalar) 2)、复合类型(composite) --用于操作单条记录 3)、参照类型(reference) --用于操作多条记录 4)、lob(large object) 二、标量(scalar)——常用类型 1)、在
2016-09-23 08:28:09 181
原创 二十三、oracle pl/sql分类三 包
二十三、oracle pl/sql分类三 包 包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。 1)、我们可以使用create package命令来创建包,如: i、创建一个包sp_package ii、声明该包有一个过程update_sal iii、声明该包有一个函数annual_income --声明该包有一个存储过程和一个函数 create package sp
2016-09-23 08:27:27 162
原创 二十二、oracle pl/sql分类二 函数
二十二、oracle pl/sql分类二 函数 函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句。而在函数体内必须包含return语句返回的数据。我们可以使用create function来建立函数。 1)、接下来通过一个案例来模拟函数的用法 --输入雇员的姓名,返回该雇员的年薪 CREATE FUNCTION an
2016-09-23 08:26:51 179
原创 二十一、oracle pl/sql分类一 存储过程
二十一、oracle pl/sql分类一 存储过程 存储过程用于执行特定的操作,当建立存储过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分;通过使用输出参数,可以将执行部分的数据传递到应用环境。在sqlplus中可以使用create procedure命令来建立过程。 实例如下: 1.请考虑编写一个存储过程,可以输入雇员
2016-09-23 08:26:08 169
原创 二十、oracle pl/sql基础
二十、oracle pl/sql基础 一、pl/sql developer开发工具 pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品。 二、pl/sql介绍 开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则。pl/sql编程可以使用变量和
2016-09-22 11:00:56 214
原创 十九、oracle pl/sql简介
十九、oracle pl/sql简介 一、pl/sql 是什么 pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展。 pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。 二、为什么要学pl/sql 1.提高应用程序的运行性能 2
2016-09-22 11:00:25 149
原创 十八、oracle 角色
十八、oracle 角色 一、介绍 角色就是相关权限的命令集合,使用角色的主要目的就是为了简化权限的管理。 假定有用户a,b,c为了让他们都拥有如下权限 1. 连接数据库 2. 在scott.emp表上select,insert,update。 如果采用直接授权操作,则需要进行12次授权。 因为要进行12次授权操作,所以比较麻烦喔!怎么办? 如果我们采用角色就可以简化: 首先
2016-09-22 10:59:53 162
原创 十七、oracle 权限
十七、oracle 权限 一、介绍 这一部分我们主要看看oracle中如何管理权限和角色,权限和角色的区别在哪里。 当刚刚建立用户时,用户没有任何权限,也不能执行任何操作。如果要执行某种特定的数据库操作,则必须为其授予系统的权限;如果用户要访问其它方案的对象,则必须为其授予对象的权限。为了简化权限的管理,可以使用角色。这里我们会详细的介绍。 二、权限 权限是指执行
2016-09-22 10:59:18 175
原创 十六、oracle 索引
十六、oracle 索引 一、管理索引-原理介绍 索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低i/o次数,从而提高数据访问性能。索引有很多种我们主要介绍常用的几种: 为什么添加了索引后,会加快查询速度呢? 二、创建索引 1)、单列索引 单列索引是基于单个列所建立的索引 语法:create index 索引名 on 表名(列名);
2016-09-22 10:58:43 151
原创 十五、oracle 约束
十五、oracle 约束 一、维护数据的完整性 数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则,在oracle中,数据完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选。 二、约束 约束用于确保数据库数据满足特定的商业规则。在oracle中,约束包括:not null
2016-09-22 10:58:07 219
原创 十四、oracle 数据库管理--管理表空间和数据文件
十四、oracle 数据库管理--管理表空间和数据文件 一、概念 表空间是数据库的逻辑组成部分。 从物理上讲,数据库数据存放在数据文件中; 从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成。 二、数据库的逻辑结构 oracle中逻辑结构包括表空间、段、区和块。 说明一下数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,
2016-09-22 10:57:36 165
原创 十三、oracle 数据字典和动态性能视图
十三、oracle 数据字典和动态性能视图 一、概念 数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息。 动态性能视图记载了例程启动后的相关信息。 二、数据字典 1)、数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户。 2)、用户只能在数据字典上执行查询操作(select语句),而其维护和修改
2016-09-22 10:57:00 166
原创 十二、oracle 数据库(表)的逻辑备份与恢复
十二、oracle 数据库(表)的逻辑备份与恢复 一、介绍 逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程。 逻辑恢复是指当数据库对象被误操作而损坏后使用工具import利用备份的文件把数据对象导入到数据库的过程。 物理备份即可在数据库open的状态下进行也可在关闭数据库后进行,但是逻辑备份和恢复只能在open的状态下进行。 二、备份(导出) 导出分为
2016-09-22 10:56:09 276
原创 十一、oracle 数据库管理员
十一、oracle 数据库管理员 一、数据库管理员 每个oracle数据库应该至少有一个数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分担不同的管理职责。那么一个数据库管理员的主要工作是什么呢: 1.安装和升级oracle 数据库 2.建库,表空间,表,视图,索引… 3.制定并实施备份和恢复计划 4.数据库权限管理,调优,故障
2016-09-22 10:55:31 192
原创 十、oracle 常用函数
十、oracle 常用函数 一、字符函数 字符函数是oracle中最常用的函数,我们来看看有哪些字符函数: lower(char):将字符串转化为小写的格式。 upper(char):将字符串转化为大写的格式。 length(char):返回字符串的长度。 substr(char, m, n):截取字符串的子串,n代表取n个字符的意思,不是代表取到第n个 replace(char
2016-09-22 10:54:55 183
原创 九、oracle 事务
九、oracle 事务 一、什么是事务 事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml(数据操作语言,增删改,没有查询)语句要么全部成功,要么全部失败。 如:网上转账就是典型的要用事务来处理,用于保证数据的一致性。 二、事务和锁 当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其它用户修改表的结构。这里对我们的用户来讲是非常重要
2016-09-22 10:54:18 224
原创 八、oracle 分页
八、oracle 分页 oracle的分页一共有三种方式 方法一 根据rowid来分 SELECT * FROM EMP WHERE ROWID IN (SELECT RID FROM (SELECT ROWNUM RN, RID FROM (SELECT ROWID RID, EMPNO FROM EM
2016-09-22 10:53:33 160
原创 七、oracle 表查询二
七、oracle 表查询二 1、使用逻辑操作符号 问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们的姓名首字母为大写的J? select * from emp where (sal > 500 or job = 'MANAGER') and ename like 'J%'; 2、使用order
2016-09-22 10:52:18 289
原创 六、表查询一
六、表查询一 通过scott用户下的表来演示如何使用select语句,接下来对emp、dept、salgrade表结构进行解说。 emp 雇员表 字段名称 数据类型 是否为空 备注 -------- ----------- -------- -------- EMPNO NUMBER(4)
2016-09-22 10:51:14 226
原创 五、oracle 表的管理
五、oracle 表的管理 一、表名和列名的命名规则 1)、必须以字母开头 2)、长度不能超过30个字符 3)、不能使用oracle的保留字 4)、只能使用如下字符 a-z,a-z,0-9,$,#等 二、数据类型 1)、字符类 char 长度固定,最多容纳2000个字符。 例子:char(10) ‘小韩’前四个字符放‘小韩’,后添6个空格补全,如‘小韩 ’
2016-09-22 10:50:36 159
原创 四、oracle 用户管理二
四、oracle 用户管理二 一、使用profile管理用户口令 概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项时,那么oracle就会将default分配给用户。 1.账户锁定 概述:指定该账户(用户)登陆时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用
2016-09-22 10:49:57 136
原创 三、oracle 用户管理一
三、oracle 用户管理一 一、创建用户 概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。 create user 用户名 identified by 密码; 注意:oracle有个毛病,密码必须以字母开头,如果以数字开头,它不会创建用户 eg、create user xiaoming identified
2016-09-22 10:49:14 171
原创 二、oracle sql*plus常用命令
二、oracle sql*plus常用命令 一、sys用户和system用户 Oracle安装会自动的生成sys用户和system用户 (1)、sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)、system用户是管理操作员,权限也很大。具有sysoper角色,没有create
2016-09-22 10:44:23 157
原创 一、数据库分类
一、数据库分类 一、数据库分类 1、小型数据库:access、foxbase 2、中型数据库:informix、sql server、mysql 3、大型数据库:sybase、db2、oracle 二、项目中如何合理地使用数据库,可以依据如下三个方面入手 1、项目的规模 a、负载量有多大,即用户数有多大 b、成本 c、安全性
2016-09-22 10:42:08 200
转载 行转列 列转行
一、行转列 1.1、初始测试数据 表结构:TEST_TB_GRADE Sql代码: 1 create table TEST_TB_GRADE 2 ( 3 ID NUMBER(10) not null, 4 USER_NAME VARCHAR2(20 CHAR), 5 COURSE VARCHAR2(20 CH
2016-09-19 20:39:59 273
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人