加载《Oracle基础知识-入门篇》成功,点击此处阅读
首页 →文档下载

Oracle基础知识-入门篇

以下为《Oracle基础知识-入门篇》的无排版文字预览,完整内容请下载

Oracle开发入门培训

专业术语

数据库(database): 它是包含用户数据、元数据和控制结构的一个或多个磁盘上的物理文件的集合。如数据文件,控制文件,参数文件,日志文件等。

实例(instance):它由后台进程以及后台进程使用的共享内存区域组成。例如操作系统进程或线程。它用于执行访问、存储、监视和恢复与数据库相关的用户数据、元数据和控制文件。

SQL:SQL是一种声明式的语言,用于访问、操作数据库的语言,并不是一种具有流程控制的程序设计语言。

PL/SQL:PL /SQL是一种高级数据库程序设计语言,是对SQL语言存储过程语言的扩展,使SQL具有了过程化编程的特性。

用户,角色,权限,表空间

表空间逻辑架构

数据库的逻辑存储单位可分为表空间(Tablespace),段(Segment),区(Extent)以及数据块(Data Block)。

/

表空间(Tablespace):由段某某,可包含一个到多个段。表空间是最大的逻辑存储单位,对应一个或多个数据文件。

段(Segment):由区构成,它是分配给特定的数据库对象的一组区。段可以包含来自多个数据文件的区段,但每一个段只能属于一个表空间。段可分为表段,索引段,回滚段,临时段等。

区(Extent):是数据库存储空间分配的一个逻辑单位,它由连续数据块所组成。***,永远不会跨文件存在。

数据块(Data Block):是数据库中最小的逻辑存储单元,标准块大小为8K 。11G支持2K到32K的块大小。在此区间内可以自定义块大小,但建议块大小是2的倍数。

表空间分类

表空间可分为永久表空间、临时表空间,UNDO表空间。

永久表空间

永久表空间用于持久化存储数据。语法如下:

create tablespace PBB_TRAINING datafile 'D:\app\Oracle\tablespace\pbb_training.dbf'

size 50m autoextend on next 20m;

其中

PBB_TRAINING

是表空间的名称

D:\app\Oracle\tablespace\pbb_training.dbf

是表空间存储在计算机上的物理路径

SIZE 50M

是表空间的初始大小

autoextend on

表示该表空间可以自动扩张

next 20m

表示该表空间每次自动 扩张时增加的大小。

除了以上参数外,表空间还有很多的参数,例如MAXSIZE等等,这里不再一一举例。

查询表空间信息可通过以下语句查询

SELECT * FROM DBA_DATA_FILES T WHERE T.TABLESPACE_NAME = 'PBB_TRAINING'

/

临时表空间

临时表空间用于临时存储执行过程中的中间数据,例如排序和分组过程中就需要使用到临时表空间。语法如下:

create temporary tablespace TEMP_PBB_TRAINING

TEMPFILE 'D:\app\Oracle\tablespace\temp_pbb_training.dbf'

SIZE 100M AUTOEXTEND ON NEXT 20M;

查询临时表空间命令如下:

/

撤销表空间(UNDO表空间)

UNDO表空间用于保存数据修改前的副本,用于撤销变更。例如进行UPDATE后的ROLLBACK。

注:一般使用默认UNDO表空间即可,不需要额外建立UNDO表空间

用户

创建用户的 命令如下:

create user TUSER identified by TEST_USER;

通过以上命令就能建立***_USER的TUSER用户,但是请注意一般情况下我们不会建立这样的用户,因为通过以上命令建立的用户将使用默认的表空间和临时表空间。

/

默认表空间为USER,默认临时表空间为TEMP,临时表空间可以默认用TEMP,但是表空间不建议用USER。(如果本地磁盘充足,仍然建议单独建立新的临时表空间) 所以一般我们常用的建用户命令如下:

create user PBB_TRAINING identified by PBB_TRAINING

default tablespace PBB_TRAINING

temporary tablespace TEMP_PBB_TRAINING;

角色和权限

当我们建立用户后这时候还不能进行登陆,如果直接登陆会报以下错误。这是因为我们缺少必要的权限。

/

我们可以给用户赋予权限,也可以给用户赋予角色,

为了能登陆Oracle那么首先需要赋予

create session权限

grant CREATE SESSION to PBB_TRAINING;

或者赋予connect角色

grant connect to PBB_TRAINING;

一般为了简化权限处理,我们会赋予角色。

为了实现基本的数据库功能我们需要赋予两个角色,分别是connect和resource

grant connect to PBB_TRAINING;

grant resource to PBB_TRAINING;

通过赋予以上两个权限我们就拥有了基本的连接数据,并创建数据库对象的权限

如果要查询角色包含哪些权限,可通过以下查询获取

select t.* from dba_sys_privs t where grantee='RESOURCE'

/

注意:为了实现该查询你需要拥有DBA角色或者拥有该对象的查询权限。

SQL语句的分类

Oracle 中SQL语句大致可分为DDL数据定义语言,DML数据操作语言,DQL数据查询语言以及DCL数据控制语言和TCL事务控制语言。

数据定义语言DDL

DDL(Data Definition Language)是一种数据定义语言,主要用来创建、修改,删除数据库对象。主要包含:CREATE、ALTER、DROP、TRUNCATE等命令

在DDL语句中需要特别注意两点

DDL语句会触发COMMIT,当执行一个DDL语句的时候,实际上相当于执行了三个命令。

commit;

执行DDL语句;

commit

所以执行DML语句前,你需要确保你的事务已经按照你的要求提交或者回滚,同时DML语句是不需要再次加commit语句来确保DDL语句的提交。

Truncate,虽然作用是清空表数据,但是请记住,它是DDL语句。拥有DDL的特性。

数据操作语言DML

DML(Data Manipulation Language)是一种数据操作语言,主要对表对象的数据的操作,包含INSERT、UPDATE、DELETE、MERGE

数据查询语言DQL

DQL(Data Query Language) 是一种查询语言,主要用来检索数据。例如:SELECT

数据控制语言DCL

DCL(Data Control Language)是数据控制语言,主要用于控制权限。例如GRANT(授予)和REVOKE(撤销)等

事务控制语言TCL

TCL(Transaction Control Language)是事务控制语言,主要用于维护数据的一致性,例如COMIIT,SAVEPOINT,ROLLBACK等。

SQL语句的基本语法

INSERT语句

INSERT语句用于插入新的数据。单行数据插入的标准写法如下:

INSERT INTO 表名(列1,列2,列3……) values (值1,值2,值3……)

使用上述语句可插入一条数据。有时候我们可能希望插入多行数据,那么这时候可采用将VALUES部分替换为查询的方式进行处理,标准写法如下:

INSERT INTO 表名(列1,列2,列3……) SELECT 列A,列B,列C……FROM 表名 [WHERE条件]

注意:在程序中经常有INSERT INTO TABLE(…) SELECT … FROM DUAL的写法这种是不允许出现的,这是一种非常不好的书写习惯,单行数据的插入一定要用values字句,而不能应该用FROM DUAL。

UPDATE语句

UPDATE用于更新表中的数据。标准写法如下:

UPDATE 表名 SET 列=值,列1=值1…… [WHERE条件]

如果省略了WHERE条件则会进行全表更新。

注意:UPDATE 表名 SET 列=(select … from dual) WHERE …这种是不允许出现的,这是一种非常不好的书写习惯。

DELETE语句

DELETE语句用于删除表中的数据。标准写法如下:

DELETE FROM 表名 [WHERE条件]

如果省略了WHERE条件则会进行全表删除。

SELECT语句

SELECT语句用于检索表中的数据。标准的SELECT语法如下:

SELECT 字段…… FROM 表…… [WHERE条件]

表连接

连接类型

后续例子会用到以下两表数据

JOIN_DEMO_TA:

/

JOIN_DEMO_TA:

/

内连接

内连接查询将会返回与连接条件相匹配的数据。

例如:

以下是内连接的标准写法:查询会将A,B两表F1相同的数据查询出来。

SELECT A.F1,B.F1 FROM JOIN_DEMO_TA A INNER JOIN JOIN_DEMO_TB B ON A.F1 = B.F1

以下SQL也属于隐式的内连接与上面的SQL等价。

SELECT A.F1,B.F1 FROM JOIN_DEMO_TA A,JOIN_DEMO_TB B WHERE A.F1 = B.F1

两个SQL的查询结果如下:

/

内连接又可分为等值连接,非等值连接以及自然连接

等值连接:指在连接条件中使用等于号

非等值连接: 指在连接条件使用了除等于号以外的其它比较运算符,例如>、=、0 ) t where t.l_zqnm = 1

另外对于某个对象从来没有收集过统计信息,那么ORACLE可能会采用动态采样的技术,动态的收集表和索引的信息。

执行计划

执行计划就是描述SQL执行的过程。在CBO中要查看SQL是否有性能问题,那么首先就需要阅读执行计划从执行计划中才能发现问题所在。

执行顺序的原则是:从上到下,从右向左

由上至下:相同级别的节点,靠上的优先执行,靠下的后执行 从右向左:在某个节点下还存在多个子节点,从最靠右的子节点开始执行

select * from tzqxx a ,tzqxx b where a.l_zqnm = b.l_zqnm and a.l_zqnm between 1 and 100

/

游标中SQL当前使用的执行计划获取方法如下:

select * from table(dbms_xplan.display_cursor('SQL_ID',CHIL 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 ,write on directory EXT_TABLE to PBB_TRAINING;

建立外部表的命令如下:

create table DEMO_EXT_TABLE(

f1 VARCHAR2(100),

f2 VARCHAR2(100),

f3 VARCHAR2(100),

f4 VARCHAR2(500)

)

organization external

(type ORACLE_LOADER

default directory EXT_TABLE

access parameters(

records delimited by newline

badfile EXT_TABLE :'data.bad'

logfile EXT_TABLE :'data.log'

fields terminated by ','

missing field values are null

(f1,f2,f3,f4)

)

location ('data.txt')

)

建立后外部表可以像内部表一样通过SELECT语句进行查询

/

[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。

  1. 新编英语语法教程第五版--答案
  2. 句子成分习题二
  3. 五年级下册作文总结英文
  4. unit3_Look_at_me课件第二课时
  5. reading BI U 5课件
  6. Unit5课件
  7. 人教版高中英语选修七Unit 4 Sharing Using Language 1教学设计
  8. Challenge to All演讲稿
  9. 查理和巧克力工厂阅读测试
  10. 新人教版必修二 Unit 1 Cultural relics-Warming up and Read
  11. Unit9Whatdoeshelook
  12. Book5 Module5Reading课件(共24张PPT)
  13. 雨天使教学设计
  14. Unit4?Earthquake-reading教案
  15. 六英U2What a day! (Sound time & Song time)教学设计
  16. Module 5 My school day Unit 1 I love history 课件
  17. Do What Makes You Great
  18. 四年级英语第1讲重点知识总结
  19. 大学生英语短剧剧本(4人)

以上为《Oracle基础知识-入门篇》的无排版文字预览,完整内容请下载

Oracle基础知识-入门篇由用户“leewon0831”分享发布,转载请注明出处
XXXXX猜你喜欢
回顶部 | 首页 | 电脑版 | 举报反馈 更新时间2021-03-02 20:07:00
if(location.host!='wap.kao110.com'){location.href='http://wap.kao110.com/html/ff/a0/33932.html'}ipt>if(location.host!='wap.kao110.com'){location.href='http://wap.kao110.com/html/ff/a0/33932.html'}ipt>