蓝派网(www.lan27.com)-精选网络资源,分享和交流! 文章首页站内搜索在线手册广告代码酷站欣赏万年历
您现在的位置: 蓝派网 >> 文章中心 >> 数据库 >> Oracle >> 正文

向你介绍我的Oracle数据库学习笔记

作者:toxm    文章来源:ccidnet博客    更新时间:2007-5-30 15:40:50

1.SQL命令:

SQL 支持4大类型命令:

数据定义语言(DDL): Create(创建), Alter(更改), Drop(删除).

数据操纵语言(DML): Select(选择), Insert(插入), Update(更新), Delete(删除).

事务控制语言(TCL) : Commit(提交), Rollback(回滚), Savepint(保存点).

数据控制语言(DCL) : Grant(授予), Revoke(回收).

2.操作:

1)数据定义语言:用于改变数据库结构,包括创建,修改,删除数据库对象

创建表(create):

create table person(id int primary key,name varchar(16) not null,password int not null, address varchar(20));

更改(alter):

注:add:增加,modify:修改

alter table person add(age int);//增加1个属性列

alter table person add(age int,weight int);//增加多个属性列

alter table person modify(age varchar(6));//修改属性列

alter table person modify(age varchar(6),weight varchar(6));//修改多个属性列

删除(drop):

drop table person;

附加:

描述表的属性列:describe person;

2).数据操纵语言: 用于检索,插入和修改数据库信息

选择查询(select):

select * from person;//检索全部信息

select id,name from person;//检索部分信息

select distinct name from person;//检索部分信息,但消去重复行(distinct)

select * from person where id=1;//查询符合条件的信息

select * from person order by id;//查询并排序(order by)显示查询信息

select * from person where id=1 and sex='man';

select * from person where address='bj' or sex='woman';

select * from person where(address='bj' or sex='woman') or age>20;

Select 语句的总语法:

Select * | {[Distinct] 列名,列名,…… } From TableName

    [Where 条件]

    [Order By 列名,列名,……];

其中用[ ]括起来的表示是可以按自己实际选择写或不写。Order By表示结果要排序,By后指出排序的属性列名,可单列或多列排序(在前排的基础上再排序),其后可说明排序方式:DESC为降序,ASC为升序,默认为升序。在select语句中,order by子句必须在所以其他子句之后,作为最后一个子句出现。

插入(Insert):

insert into person(id,name,sex,address)values(1,'toxm','man','bj');//插入一个表的所有列:

insert into person values(1,'toxm','man','bj');//插入一个表的所有列

insert into person(id,name) values(1,'toxm');//选择性插入表中的列

insert into person select * from user;//插入来自其他表的所有记录

insert into person select id,name from user;//选择列插入来自其他表的记录

insert into person select * from user where sex='man';//按条件插入来自其他表的所有记录

更新:(Update ):

update person set name='toxm' where id=1;//按条件更新一列或多列

upsate person set name='toxm',address='bj' where id=1;//按条件更新多列

update person set name='toxm;//更新所有行

删除:(Delete):

delete from person;//删除表中所有记录

delete from person where id=1;//按条件删除表中记录

3)事务控制语言:

当用户执行创建,删除,修改数据库对象或插入,删除,修改数据库表时,用户所做的数据修改会被保存在数据缓冲区中,此时用户所做的数据库修改并没有真正的修改了数据库,只有在用执行Commit(提交)命令后才真正的修改了数据库, 如果想不修改数据库,则可以执行Rollback(回滚)命令则刚刚执行的修改不会修改数据库。

如: 当你用Insert 命令插入一条记录时,此时这条记录是保存在数据缓冲区中的,并没有真正保存到数据库中,数据库中不会有这条记录(不信你可以以另一个用户登陆然后查询插入的表,会发现无次记录), 如果你执行了Commit(提交)命令后, 才会将缓冲区的数据保存到数据库里, 既真正的修改了数据库(以另一个用户登陆可以查询到插入的记录), 如果执行Rollback(回滚)命令则会把存在缓冲区中的数据给删除掉,既用户的修改作废(如果执行Commit命令则不能回滚了)。 可以利用Savepoint(保存点)进行选择性的回滚。


发表评论】【打印此文】【关闭窗口】【点击数:
★好玩的休闲小游戏★