`
阅读更多

一、oralce数据库

首先明白,oracle数据库、实例、和表空间的关系。

 

Oracle数据库和传统说的数据库不一样,一个相当于管理系统,而且只有一个。

实例:实例是后台进程和和内存结构,oracle数据库可以有很多个实例

每个实例下面有自己的用户,和数据库对象(表、同义词、序列、视图、索引)。

表空间:

用户可以创建自己的表空间,或者使用系统的表空间。

一个用户只能对应一个表空间。一个表空间可以对应多个用户。

1/表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间。

2/

每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。3/表空间的大小等于构成该表空间的所有数据文件大小之和。

 

 

二、创建用户和表

 

创建数据库实例之后,在实例下创建用户

--注意:创建了用户,必须给用户赋予登陆权限和使用存储空间的权限,不然新创建的用户无法登陆

--允许用户连接数据库并创建数据库对象

grant connect to lmj;

--允许用户使用数据库中的存储空间

grant resource to lmj;

--创建表和插入数据,查询数据

--在数据库中,变量名写在前面,变量类型写在后面,与java程序相反

create table student

(

  sname varchar2(30),

  sid   number not null

);

 insert into student values('zhansan',1);

 select * from student;

 

三、数据库对象

数据库对象包括:表、同义词、序列、视图、索引。

数据库对象是每个用户拥有的,自己拥有自己的数据库对象,同义词、序列、索引都是独立于表存在的。

 

1、同义词,他就相当于查询表的时候使用的别名,给表创建一个同义词可以简化复杂的表名方便引用,还可以提高表的安全性,也可以给同一个表创建多个同义词分配给不同的用户,那么大家看到的表名都是不一样的。

 

同义词分为公有和私有,公有大家可见,私有自己可见

----同义词的创建和使用代码

--定义私有同义词

create synonym e for emp;

--使用同义词查询表

Select * from  e

 

--删除同义词

drop synonym e;

 

--赋权限

grant select on dept to zhangsan;

 

--定义公共的同义词

create or replace public synonym e for emp;

 

 

2、序列:自增长的一个变量,它独立于表存在,每次的值都保存下来,下次使用的时候接着增长或者减少。

 

--创建序列

create sequence seq_num 

start with 1

increment by 2

maxvalue 20

minvalue 1

NOCYCLE

CACHE 2

 

 

 

3、视图

视图就是查询语句的封装,它的不存储数据,所有的数据都来自表,他的具体列来自查询语句。

--创建视图

create view v_emp as select empno,ename,job from 

emp;

--创建一个视图,名字为v_emp 他的列来自emp

 

视图使用:

Select * from v_emp;

--现在得到的就是select empno,ename,job from  emp;的数据

视图就相当于一个虚拟表,视图主要是用于查询。

 

4、索引

它是为了提高查询效率,他根据rowid创建,rowid是保存了每一行数据的内存地址,所以找到了行的rowid就找到了整个行。

索引也是独立于表存在的,它由数据库自动维护,每次更新表的数据,索引都会重新创建,所以建立索引会降低更新的效率。

 

为什么索引可以提高效率?

 

比如在查找 where name=zhangs” and id=11;

如果id建立了索引,就可以直接先匹配每一行的id,提取出满足id的行

再匹配name,就可以不用全部匹配每一行的nameid

如果id没有索引,就会一行一行的,全部匹配每一行的nameid

 

语法:

唯一索引和组合索引

Create index my_index on student(sid);

Create index my2_index on student(sid,sname);

 

 

 

 

 

 

 

 

 

 

PL/SQL

PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言。

一、为什么需要PL/SQL编程。

原来我们操作数据库的方式

 

 

每次发送一个字符串给oracle,数据库都要编译在运行,这样效率很慢,而且在网络中字符串容易被串改。

利用PL/SQL编程,将操作过程都写在oracle中,编译好后放在那里,只等着java应用来调用,这样效率和安全性都得到提高。

缺点:

移植性差,数据库操作都写在oracle,如果需要换成sql2005数据库,那么将无法移植需要全部重写数据库操作。

 

1PL/SQL 分为三个部分,声明部分、可执行部分和异常处理部分

   [DECLARE 

    declarations]

    BEGIN

    executable statements

    [EXCEPTION 

    handlers]

END;

 

Begin end的内容成为块;

 

过程:可以重复调用

创建过程的语法:

 

CREATE [OR REPLACE] PROCEDURE 

   <procedure name> [(<parameter list>)]

IS|AS 

   <local variable declaration>

BEGIN

   <executable statements>

[EXCEPTION

   <exception handlers>]

END;

  create or replace procedure pro_1 is

    begin

       insert into student values('zhangsanfeng',6);

     end;

执行的时候需要输入/再按回车

调用的命令

--调用过程

exec pro_1

 

2、打开输出

set serveroutput on;

打印

 begin

    dbms_output.put_line('aaaaa');

    end;

   /

3、将查询结果输出

--声明变量

--变量名在前,类型在后

 set serveroutput on;

 

 declare

  myname varchar2(20);

     myid  number(10);

   begin

       select sname,sid into myname,myid from student where sid=1;

      dbms_output.put_line('姓名'||myname||'编号'||myid);

       end;

 

带输入的查询

declare

   myname varchar2(30);

   myid   number(10);

   

   begin

     select sname,sid into myname,myid from student where sid=&aa;

     dbms_output.put_line('姓名:'||myname||'编号:'||myid);

     end;

注意:

通过&aa,aa随便取名,用来接收输入的数据,如果是字符串输入要加‘’

 

 

异常处理:(找不到数据)

declare

   myname varchar2(30);

   myid   number(10);   

   begin

     select sname,sid into myname,myid from student where sname=&aa;

     dbms_output.put_line('姓名:'||myname||'编号:'||myid);

     exception 

      when no_data_found 

        then

          dbms_output.put_line('没有该学生'); 

              end;

 

带有参数的过程

create or replace procedure my_pro(name varchar2)

is myid number(10);

begin

  select sid into myid from student where sname=name;

  dbms_output.put_line('编号:'||myid);

  exception

    when

      no_data_found

      then

        dbms_output.put_line('没有该学生');

        end;

 

 

 

<!--EndFragment-->
  • 大小: 15.7 KB
分享到:
评论

相关推荐

    ORACLE 数据库入门教程

    本教程旨在为初学者提供一个全面的Oracle数据库入门指南,帮助你快速掌握Oracle的基础知识和操作技能。 一、Oracle数据库简介 Oracle数据库是由甲骨文公司开发的一款面向企业级的高性能、高可靠性的数据库系统。它...

    ORACLE 数据库入门.ppt

    以下是对"ORACLE 数据库入门.ppt"内容的详细解析: 一、Oracle体系结构 1. 物理结构: Oracle数据库的物理结构包括数据文件(datafiles)、重做日志文件(redo log files)、控制文件(control files)以及参数...

    oracle数据库入门到精通

    oracle数据库入门到精通oracle数据库入门到精通oracle数据库入门到精通oracle数据库入门到精通

    oracle数据库入门教程

    通过这个Oracle数据库入门教程,你将获得对Oracle数据库系统的基本理解,能够建立和管理自己的数据库,编写SQL语句,以及初步了解DBA的角色。随着经验的积累,你将能够更深入地探索Oracle的高级特性,为各种复杂的...

    ORACLE 数据库入门.pdf

    ### ORACLE 数据库入门知识点详解 #### 一、Oracle体系结构概述 Oracle数据库是一个高度复杂的系统,其架构设计包括了物理结构与内存结构等多个层面。理解这些基础概念对于初学者来说至关重要。 ##### 1. 物理...

    Oracle数据库入门

    Oracle数据库入门 Oracle数据库入门

    ORACLE数据库入门.pdf

    Oracle数据库是一种广泛使用的大型关系型数据库管理系统,以其稳定性和高效性闻名。...掌握这些基础概念和操作是Oracle数据库入门的第一步,随着经验的积累,你将能够更深入地理解和管理Oracle数据库系统。

    ORACLE 数据库入门 教程

    ORACLE 数据库入门 教程ORACLE 数据库入门 教程ORACLE 数据库入门 教程ORACLE 数据库入门 教程ORACLE 数据库入门 教程ORACLE 数据库入门 教程

    Oracle数据库入门教程

    Oracle数据库入门教程,

    ORACLE 数据库入门视频

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。本文将深入探讨Oracle数据库的基础知识,包括其体系结构、内存结构、实例、会话、事务、后台进程以及SQL语句的执行流程。 ...

    Oracle数据库入门学习课件ppt

    这份“Oracle数据库入门学习课件ppt”提供了全面的基础知识,适合初学者系统学习。以下是根据提供的PPT文件名称和描述整理出的核心知识点: 1. **数据库基础知识**: - 数据库的概念:存储和管理数据的系统。 - ...

    Oracle数据库入门教材(PDF)

    本入门教材主要针对初学者,旨在帮助你建立起对Oracle数据库的基本理解和操作技能。 一、Oracle数据库简介 Oracle数据库是由美国Oracle公司开发的,它提供了一套完整的数据管理和分析工具,包括数据库服务器、开发...

    oracle数据库入门书

    Oracle数据库是一种广泛应用于企业级环境的大型数据库管理系统,由Oracle公司开发。它属于关系型数据库,同时也融合了面向对象的特性,这使得它在处理复杂的数据和事务上具有独特优势。本知识点详细介绍Oracle数据库...

    ORACLE数据库入门1.ppt

    ORACLE数据库入门 本课程主要介绍了ORACLE数据库的基本概念和结构,包括ORACLE数据库的体系结构、内存结构、实例、会话、事务、后台进程、SQL语句执行过程等。 一、Oracle 体系结构 ORACLE数据库的体系结构...

    ORACLE 数据库入门.rar

    本教程“ORACLE 数据库入门”旨在为初学者提供一个全面了解Oracle数据库的基础,帮助他们掌握核心概念和技术,以便在实际工作环境中有效管理数据。 PPT文件和PDF文件的结合为学习者提供了多样化的学习方式。PPT通常...

    oracle数据库入门命令

    ### Oracle数据库入门命令详解 #### 一、SQL语言:关系数据库的标准语言 SQL(Structured Query Language)是一种专门用于处理关系数据库的语言,它被设计用来管理数据的查询、更新以及维护等操作。对于Oracle...

    ORACLE 数据库入门 诊断基础

    学习Oracle数据库入门,必须掌握SQL的基本语法,包括数据查询、插入、更新、删除(DQL、DML)、创建表、索引、视图(DDL)、存储过程和函数(PL/SQL)等。 五、数据管理 数据管理包括数据的插入、查询、更新和删除...

Global site tag (gtag.js) - Google Analytics