sql基础

来源:互联网 发布:成都魔方软件 编辑:程序博客网 时间:2024/06/05 18:02

 

SQL语言基础

SQLstructured query language,结构化查询语言),是一种数据库标准语言,其特点如下:

1.所有的数据都存储在关系表中。表由行和列组成,每一行包含一组数据,称为记录;列叫做字段,或者属性。

2.为了防止降低oracle读取记录的效率,这种语言被设计称为永远只允许操作者按查询条件来读取记录,而不是按照某种特定的顺序来取出记录。

3.它不的完整的计算机语言

 

 

 

SQL语言的类型

 

1.数据定义语言(data definition language,DDL

 

这是一组sql命令,用于创建和定义数据库对象,并将这些对象的定义保存在数据字典中,数据定义语言完成的任务有:

·创建数据库对象

·删除数据库对象

·更改数据库对象

·为数据库对象授权

·回收已授权给数据库对象的权限

 

当用户执行ddl语句时,在每一条ddl语句执行之后,oracle都将提交当前的事物,这叫隐式提交,下面是部分ddl语句

 

DDL语句                    功能

alter  procedure               修改存储过程

 

alter  table                   修改表(增加列,重定义表列,更改存储分配)

 

anylyze                      收集数据库对象的性能统计值并送入基于代价的 优化器 

 

alter  table  add              在已有的表上添加约束

constraint

 

 

create  table                  创建表

 

create  index                  建立索引

 

drop  index                   删除索引

 

drop  table                    删除表

 

truncate                       删除表中所有的行

 

grant                         将权限或者角色授予用户或其他角色

 

revoke                        从用户或数据库角色回收权限

 

ddl语句是自动提交的,执行完ddl语句后不能回滚

 

 

2.数据操纵语言(data manipulation languagedml

dml是用户用来处理数据库中的数据内容的sql命令,下面是部分dml语句

 

DML语句                     功能

 

insert                          向表中添加数据

 

delete                          从表中删除数据

 

update                         更新表中的数据 

 

select                          从表或者视图中检索数据

 

commit                         把事物所做的更改永久化(写入磁盘)

 

rollback                        作废上次提交以来的所有更改

 

 

提交和回滚事物处理

 

 

事物:多个sql语句被当做单个工作单元来处理的机制。事物时最小的逻辑工作单元。事物具有下面的特点:

·一致性:同时进行查询或者更新不会发生冲突,其他用户不会看到发生了变化但尚未提交的数据

 

·可恢复性:当系统故障发生时,数据库会自动完全恢复为完成的事物

 

 

事物的提交用commit命令,回滚用rollback命令。如果在一个事物中,包含了ddl语句,那么在此ddl语句前后都要隐式的执行commit命令。

 

Rollback命令可以回滚事物,但是首先的有保存点:

savapoint  sname ;

 

rollback  sname ;

 

 

提交事物分3

 

·现实提交

Commit 

·隐式提交

 

一些sql命令的执行就是隐式提交,这些语句为:

alter ,  audit , commit , connect , create , disconnect , drop , exit , grant , noaudit , quit , revoke , rename 

 

·自动提交

 

若把autocommit选项设置为on,则在插入、修改、删除语句执行后,系统将自动进行提交,格式:

set  autocommit  on ;开启自动提交

set  autocommit  off ;关闭自动提价

 

 

事物处理

 

 

事物是很多关系紧密的一系列sql命令的有机结合,共同组成一个工作单元;事物是最小的逻辑工作单元,oracle将以逻辑工作单元为单位保证数据的一致性,也就是将数据处理命令批量的提交给oracle数据库处理。

 

读写事物处理

 

默认状态下,当oracle为一个会话开始一个新的事物时,该事物是可读写的。通常,一个可读写的事物可以包含任何类型的sql语句,包括dml语句,如查询,更新,删除。也可以使用sql命令来现实声明一个事物为可读写事物,如下

 

set  transaction  read  write ;

 

 

只读事物处理

 

 

只读事物只含有查询,即只读操作不以任何形式修改数据库。通过下面的命令来声明一个事物是只读的:

 

set  transaction  read  only ;

 

此时,oracle为该事物保证了事物级别上的读一致,这意味着,即使其他事物对数据库进行修改并提交了工作,该事务的所有查询结果所反映的数据库数据与事物开始时保持一致。

 

原创粉丝点击