摘要: 一、视图在之前所学习过的所有的SQL语法之中,查询操作是最麻烦的,如果程序开发人员将大量的精力都浪费在查询的编写上,则肯定影响代码的工作进度,所以一个好的数据库设计人员,除了根据业务的操作设计出数据表之外,还需要为用户提供若干个视图,而每一个视图包装了一条条复杂的SQL语句,视图的创建语法如下:CREATE [OR REPLACE] VIEW 视图名称 AS 子查询;范例:创建一张视图CREATE VIEW myview AS SELECT d.deptno,d.dname,d.loc,COUNT(e.empno) count,AVG(e.sal) avg FROM emp e,dept... 阅读全文
posted @ 2012-09-11 19:37 Merlin_Tang 阅读(6516) 评论(0) 推荐(4) 编辑
摘要: 一、集合在数学的操作之中存在交、差、并、补的概念,而在数据的查询中也存在此概念,有如下几个连接符号:UNION:连接两个查询,相同的部分不显示;UNION ALL:连接两个查询,相同的部分显示;INTERSECT:返回两个查询中的相同部分;MINUS:返回两个查询中的不同部分;为了验证以上的操作,下面创建一张只包含20部门雇员信息的表:CREATE TABLE emp20 AS SELECT * FROM emp WHERE deptno=20;范例:验证UNIONSELECT * FROM emp UNIONSELECT * FROM emp20;范例:验证UNION ALLSELECT . 阅读全文
posted @ 2012-09-11 16:06 Merlin_Tang 阅读(5371) 评论(4) 推荐(4) 编辑
摘要: 有某个学生运动会比赛信息的数据库,保存了如下的表:运动员sporter(运动员编号sporterid,运动员姓名name,运动员性别sex,所属系号department)项目item(项目编号itemid,项目名称itemname,项目比赛地点location)成绩grade(运动员编号id,项目编号itemid,积分mark)请用SQL语句完成如下功能:1、 建表,并在相应字段上增加约束;定义各个表的主键和外键约束;运动员的姓名和所属系别不能为空;积分要第为空值,要么为6,4,2,0,分别代表第一,二,三名和其他名次的积分,注意名次可以有并列名次,后面的排名不往前提升,例如,如果有两个并列第 阅读全文
posted @ 2012-09-11 11:51 Merlin_Tang 阅读(9421) 评论(3) 推荐(7) 编辑
摘要: 表虽然建立完成了,但是表中的数据是否合法并不能有所检查,而如果要想针对于表中的数据做一些过滤的话,则可以通过约束完成,约束的主要功能是保证表中的数据合法性,按照约束的分类,一共有五种约束:非空约束、唯一约束、主键约束、检查约束、外键约束。一、非空约束(NOT NULL):NK当数据表中的某个字段上的内容不希望设置为null的话,则可以使用NOT NULL进行指定。范例:定义一张数据表DROP TABLE member PURGE;CREATE TABLE member( mid NUMBER, name VARCHAR2(50) NOT NULL);因为此时存在了“NOT NULL... 阅读全文
posted @ 2012-09-10 17:23 Merlin_Tang 阅读(9237) 评论(3) 推荐(4) 编辑
摘要: 对于数据库而言实际上每一张表都表示的是一个数据库的对象,而数据库对象指的就是DDL定义的所有操作,例如:表、视图、索引、序列、约束等等,都属于对象的操作,所以表的建立就是对象的建立,而对象的操作主要分为以下三类语法:创建对象:CREATE 对象名称 …;删除对象:DROP 对象名称 …;修改对象:ALTER 对象名称 …;一、常用的数据字段每一张数据表实际上都是由若干个字段所组成,而每一个字段都会有其对应的数据类型,而在Oracle之中,常用的数据类型有如下几种:№数据类型关键字描述1字符串VARCHAR2(n)其中n表示的是字符串所能保存的最大长度,基本上保存200个左右的内容2整数NUMB 阅读全文
posted @ 2012-09-10 10:54 Merlin_Tang 阅读(6360) 评论(2) 推荐(3) 编辑
摘要: 一、复杂查询1、 列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。1、确定所需要的数据表:emp表:可以查询出员工的数量;dept表:部门名称;emp表:统计信息;2、确定已知的关联字段:emp.deptno=dept.deptno; 第一步:找出至少有一个员工的部门编号SELECT deptno,COUNT(empno)FROM empGROUP BY deptnoHAVING COUNT(empno)>1;第二步:找到部门名称,肯定使用部门表,因为现在的数据量较小,所以可以将之前的emp表和dept表两个进行连接,统一采用多字段分组的方式查询; 阅读全文
posted @ 2012-09-09 21:02 Merlin_Tang 阅读(18324) 评论(6) 推荐(13) 编辑
摘要: 一、数据的更新操作DML操作语法之中,除了查询之外还有数据的库的更新操作,数据的更新操作主要指的是:增加、修改、删除数据,但是考虑到emp表以后还要继续使用,所以下面先将emp表复制一份,输入如下指令:CREATE TABLE myemp AS SELECT * FROM emp;这种语法是Oracle中支持的操作,其他数据库不一样。1、数据增加如果现在要想实现数据的增加操作,则可以使用如下的语法完成:INSERT INTO 表名称 [(字段1,字段2,…)] VALUES(值1,值2,…);如果要想进行增加数据的话,则以下的几种数据类型要分别处理:增加数字:直接编写数字,例如:123;增加字 阅读全文
posted @ 2012-09-08 22:28 Merlin_Tang 阅读(9325) 评论(9) 推荐(5) 编辑
摘要: 本次预计讲解的知识点1、 多表查询的操作、限制、笛卡尔积的问题;2、 统计函数及分组统计的操作;3、 子查询的操作,并且结合限定查询、数据排序、多表查询、统计查询一起完成各个复杂查询的操作;一、多表查询的基本概念在之前所使用的查询操作之中,都是从一张表之中查询出所需要的内容,那么如果现在一个查询语句需要显示多张表的数据,则就必须应用到多表查询的操作,而多表查询的语法如下:SELECT [DISTINCT] * | 字段 [别名] [,字段 [别名] ,…]FROM 表名称 [别名], [表名称 [别名] ,…][WHERE 条件(S)][ORDER BY 排序字段 [ASC|DESC] [,排 阅读全文
posted @ 2012-09-07 16:15 Merlin_Tang 阅读(93778) 评论(34) 推荐(62) 编辑
摘要: 虽然各个数据库都是支持SQL语句的,但是每一个数据库也有每一个数据库自己所支持的操作函数,这些就是单行函数,而如果要想进行数据库开发的话,除了要会使用SQL之外 ,就是要多学习函数。单行函数主要分为以下五类:字符函数、数字函数、日期函数、转换函数、通用函数;一、字符函数字符函数的功能主要是进行字符串数据的操作,下面给出几个字符函数:UPPER(字符串 | 列):将输入的字符串变为大写返回;LOWER(字符串 | 列):将输入的字符串变为小写返回;INITCAP(字符串 | 列):开头首字母大写;LENGTH(字符串 | 列):求出字符串的长度;REPLACE(字符串 | 列):进行替换;SUB 阅读全文
posted @ 2012-09-07 12:41 Merlin_Tang 阅读(14265) 评论(7) 推荐(7) 编辑
摘要: 一、简单查询SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。Oracle数据库之所以发展的很好,主要也是因为Oracle是全世界最早采用SQL语句的数据库产品。SQL功能强大,概括起来,它可以分成以下几组:DML(Data Manipulation Language) 数据操作语言,用于检索或者修改数据DDL(Data Definition Language) 数据定义语言,用于定义数据的结构,创建、修改或者删除数 阅读全文
posted @ 2012-09-07 09:33 Merlin_Tang 阅读(15088) 评论(3) 推荐(7) 编辑
摘要: 在Oracle的学习之中,重点使用的是SQL语句,而所有的SQL语句都要在scott用户下完成,这个用户下一共有四张表,可以使用:SELECT * FROM tab;查看所有的数据表的名称,如果现在要想知道每张表的表结构,则可以采用以下的命令完成:DESC 表名称;1、 部门表:dept№名称类型描述1DEPTNONUMBER(2)表示部门编号,由两位数字所组成2DNAMEVARCHAR2(14)部门名称,最多由14个字符所组成3LOCVARCHAR2(13)部门所在的位置2、 雇员表:emp№名称类型描述1EMPNONUMBER(4)雇员的编号,由四位数字所组成2ENAMEVARCHAR2( 阅读全文
posted @ 2012-09-06 23:06 Merlin_Tang 阅读(25953) 评论(0) 推荐(3) 编辑
摘要: 对于Oracle数据库操作主要使用的是命令行方式,而所有的命令都使用sqlplus完成,对于sqlplus有两种形式。一种是dos风格的sqlplus:sqlplus.exe;另一种是windows风格的sqlplus:sqlplusw.exe;在Oracle 10g之中主要使用的是sqlplusw命令,因为其可以进行一些显示数据的调整。 此时会找到默认的已经可以使用的数据库实例。范例:输入查询指令SELECT * FROM emp;此时的数据已经可以正常的显示,但是依然会存在数据折行的问题,因为这个是默认的每行的数据大小,而现在可以通过两个命令进行调整:设置每行显示的记录长度:SET LIN 阅读全文
posted @ 2012-09-06 19:41 Merlin_Tang 阅读(13743) 评论(4) 推荐(4) 编辑
摘要: 一、轨迹二、Oracle简介 Oracle是现在全世界最大的数据库提供商,编程语言提供商,应用软件提供商,它的地位等价于微软的地位。 Oracle在古希腊神话中被称为“神谕”,指的是上帝的宠儿,在中国的商周时期,把一些刻在龟壳上的文字也称为上天的指示,所以在中国Oracle又翻译为甲骨文。 Oracle的公司发展最早起源于1970年6月IBM的一个技术员,埃德加·考特(Edgar Frank Codd) 在Communications of ACM上发表的论文 —— 大型共享数据库数据的关系模型(A Relational Model of Data for Large Shared 阅读全文
posted @ 2012-09-06 14:48 Merlin_Tang 阅读(10981) 评论(14) 推荐(7) 编辑
摘要: 一、简介VS/NAT原理图:二、系统环境实验拓扑:系统平台:CentOS 6.3Kernel:2.6.32-279.el6.i686LVS版本:ipvsadm-1.26keepalived版本:keepalived-1.2.4三、安装0、安装LVS前系统需要安装popt-static,kernel-devel,make,gcc,openssl-devel,lftp,libnl*,popt*1、在两台Director Server上分别配置LVS+KeepalivedLVS install -------------[root@CentOS-LVS_MASTER ~]# wget http:// 阅读全文
posted @ 2012-08-27 13:49 Merlin_Tang 阅读(36742) 评论(8) 推荐(8) 编辑
摘要: 一、概述: PL/pgSQL函数在第一次被调用时,其函数内的源代码(文本)将被解析为二进制指令树,但是函数内的表达式和SQL命令只有在首次用到它们的时 候,PL/pgSQL解释器才会为其创建一个准备好的执行规划,随后对该表达式或SQL命令的访问都将使用该规划。如果在一个条件语句中,有部分SQL命 令或表达式没有被用到,那么PL/pgSQL解释器在本次调用中将不会为其准备执行规划,这样的好处是可以有效地减少为PL/pgSQL函数里的语句生成 分析和执行规划的总时间,然而缺点是某些表达式或SQL命令中的错误只有在其被执行到的时候才能发现。 由于PL/pgSQL在函数里为一个命令制定了执行计划,.. 阅读全文
posted @ 2012-08-21 12:05 Merlin_Tang 阅读(2958) 评论(1) 推荐(0) 编辑