1 sql(数据定义语言) 和PL/Sql的区别:
SQL是结构化查询语言,比较接近自然语言,使用SQL,只需要说干什么,不需要说怎么干。由数据定义语言、数据操纵语言、数据控制语言构成,它不面向过程,即前一条语句与后一条语句无关。SQL是标准的语。
PL/SQL,Oracle对SQL标准的扩充,增加了面向过程的功能,所以可以用来编写存储过程、存储函数、触发器等等。 PL/SQL是结构化SQL,就是在标准SQL中加入了IF...ELSE... For....等控制过程的SQL。
2 具体的什么是PL/SQL:
PL/SQL(Procedural Language/SQL)是对SQL的扩充,它吸收了近年来编程语言的许多最高设计特点:如数据封装性、信息隐蔽性、重载和例外处理等。它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。
PL/SQL的优点如下:
块结构(Block Structure):PL/SQL是块结构语言,意味着程序可以分成若干逻辑块,各自包含那个单元里要求的逻辑语言资源。可以对块宣布本地变量,在块中使用这些变量,可在它们应用的块中特别地处理错误条件(叫做Exceptions)
3.登录(数据库管理员 ):
用户名:systom
密码:orcl
数据库:localhost:1521/orcl
说明:在oracle中如何理解scott tiger ,system orcl,atguigu atguigu 区别?
账号Scott 密码tiger 是演示用户,就是让我们学习oracle用的
账号system 密码orcl 不是用户,可以认为是一个权限控制
账号atguigu 密码atguigu是操作数据库的用户,由数据库管理员为用户分分配账户名 密码和权限。
4.oracle加载一条数据进行复合条件语句的查询顺序:
5.检验oracle数据库的安装是否正确:
在cmd命令行中输入sqlplus /nolog,如果没有报错,并出现oracle版本号,则代表安装成功。
说明:如果出现以下错误情况,就在C:\Windows\System32下以管理员身份运行cmd出现以上情况就说明Oracle服务器端安装成功。
C:\Users\Administrator>sqlplus /nolog
SP2-1503: 无法初始化 Oracle 调用界面
SP2-0152: ORACLE 不能正常工作
6.我的Oracle数据库的版本号: 10.2.0.1,在数据库中通过 select * from v$version; 即可查询
7.在Oracle中创建用户和为用户赋值权限:
(1)在cmd中输入如下证明登录成功:
(2)先创建一个用户:使用命令:create user 用户名 identified by 密码
create user guigu identified by 123456;
(3)给该用户解锁:使用命令:alter user 用户名 account unlock(不解锁无法登陆)
alter user guigu account unlock
(4)给该用户授权:grant create session to 用户名,这里是给的登录权限。如果想把dba的权限授权给该用户,分别如下:
grant create session to guigu;
grant sysdba to guigu;
8.登录oracle数据库左边的一系列文件夹分别代表什么意思?
用户对象。oracle是以用户为模式,用户下的所有视图,触发器,表,授权表等等一系列的,统统成为用户对象。
每个目录详细介绍:
1.recent objects:你最近访问或是使用过的对象,就是一个记录,相当于的最近访问的内容列表。
2.recycle bin :回收站启动和关闭,查看回收站内容 ,还原回收站内容,清空回收站等相关操作(通过命令进行)。
3.Functions: 函数 不多解释
4.procedures 存储过程,存储过程在Oracle中,可以在数据库中定义子程序,这种程序块称为存储过程。
5.Packages :oracle包
6. types 可以自定义数据类型
7.type bodies 通packpages bodies一个是类型,一个是你类型体。type, 看似简单 实则涉及到高级开发,有兴趣可以专门去研究一下
8.trigger 触发器:trigger和procedure,function类似,只不过它不能被显示调用,只能被某个事件触发然后Oracle自动去调用.常用的一般是针对一个表或视图创建一个trigger,然后对表或视图做某些操作时触发trigger.当然除此之外还有,schema,database级别的trigger
9.java sources:可以调用在函数中调用java类
10.jobs.可以定时执行存储过程。
11.Queue 高级队列
12.libraries oracle 库 (也没有用过) 百度了,网上资料比较少
13.directonries oracle目录
14.tables 表 不介绍了吧
15.view 视图 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。
16.materialized viewOracle高级应用之物化视图(materialized view)(没有实用过)
17.sequence 索引 不解释
18.user 用户表空间 这个自己用就知道了
19.profiles 限制ORACLE用户
20,roles.授予权限或者角色 权限控制
21.synonyms Oracle的同义词(synonyms)从字面上理解就是别名的意思
22.database link 此功能可以在本库中操作其他数据库
23. tablespace 表空间
24.cluster 表簇 这个功能还真的没有用过