Oracle有很多值得学习的地方,这里我们主要介绍Oracle SQL语言,包括介绍Plus等方面。在OEM(Oracle Enterprise Manager)可视化的窗口环境中,虽然我们也可以很方便地做这些事,但是事实上,用Oracle SQL语言书写在开发上更有效率!!Oracle提供的 SQL*Plus就是个不错的工具,如果大家喜欢窗口的开发环境,用SQLPlus Worksheet也行!下面说点基本的东西!
SQL(Structure Query Language)语言是结构化查询语言,是数据库的核心语言,是面向集合的描述性非过程化语言。Oracle SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据库控制语言DCL。
1.数据查询语言DQL的基本结构是由select子句,from子句,where子句组成的查询块:
select <字段名表> from <表或视图名> where <查询条件>
2.数据操纵语言DML完成在数据库中确定、修改、添加、删除某一数据值的任务(以下是部分常用DML语句):
insert:增加数据行到表
delete:从表中删除数据行
Update:更改表中数据
3.数据定义语言DDL完成定义数据库的结构,包括数据库本身、数据表、目录、视图等数据库元素(以下是部分常用DDL语句)
create table:创建表
create index:创建索引
create view:创建视图
alter table:增加表列,重定义表列,更改存储分配
drop table:删除表
drop index:删除索引
4.数据库控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
grant:将权限或角色授予用户或其它角色
revoke:回收用户权限
roll:回滚,是当某个对话更改了数据库中的数据后,由于某种原因用户不想提交此更改时,Oracle所采取的保护操作。这是一个把信息恢复到用户使update、insert、delete前***提交的状态。
commit:提交。在完成数据库的插入,删除和修改操作时,只有当事务提交到数据库才算完成,有提交前只有操作数据库的本人才能看到,别人只有在***提交完成才可以看到。以上是四种Oracle SQL语言。
接下来,我们在SQL*Plus中实战一下,为我们下面将要做的打好基础。用system登陆到SQL*Plus后,我们做如下操作:
- SQL>create user maxuan identified by max; #创建口令为max的用户maxuan
- SQL>grant connect,resource to maxuan; #为用户maxuan授权
- SQL>conn maxuan/max; #以用户maxuan进行连接
- SQL>create table test(a number); #建立一个名为test的表,只有字段名为A的一列,数据类型为数字
- SQL>insert into test values(1); #插入一条记录
- SQL>select * from test; #查询记录,此时A列的***行为1
- SQL>update test set a=2; #更改记录,此时A列的***行已改为2
- SQL>commit; #提交
- SQL>delete from test; #删除test表中所有的记录,此时test表中没有记录
- SQL>roll; #回滚到提交前,此时再查询test表,A列***行值又回复到2
【编辑推荐】