此文档解答以下问题
[quote]建立一个表,表名为sid
向表中添加一个字段(列):age
如何删除表中的一列,即表中的一个字段?
修改表中的一个字段
改变对象的名字
向数据库中插入一条记录
删除一条记录
修改一条记录
如何建立视图
[/quote]
[size=medium]文档约定:以“//”为注释说明
建立一个表,表名为sid
Creat table sid(
Soid number(3),
Sname varchar2(20));
向表中添加一个字段(列):age
1 alter table qtliu.sid add
2* (age varchar2(15));
(注:你没有办法指定你所加入的列的位置,新的列永远为最后一列。)
如何删除表中的一列,即表中的一个字段?
在一个表中删除一列,特别是在一个大表中删除一列是相当耗时的,对系统的效率冲击也很大,所以应尽可能的避免在数据库繁忙期间使用上述DDL语句。如果现在数据库特别繁忙,而就在此时你的老板让你立即删除 某一个大表中的一列。Oracke提供了一个折中的方案,就是在ALTER Table文句中使用SET UNUSED子语名。
在一个表中把某一个列置成无用(UNUSED),其格式如下:
ALTER TABLE 表名
SET UNUSED(列名);
或者
ALTER TABLE 表名
SET UNUSED COLUMN 列名;
当数据库空闲时,你再利用以下的DDL语句来删除已设置为无用(UNUSED)的列。
ALTER TABLE 表名
DROP UNUSED COLUMNS
使用SET UNUSED把表中的一列设置成无用(UNUSED)要设置以下事项:
1.)只能在Oracle 8i以上版本使用
2.)该选项只是将设置成无用(UNUSED)的列标上记号,并不真的删除这一行。
3.)Oracle把设置成无用(UNUSED)的列当作删除列处理。
4.)因为语句是一个DDL语句,所以没有恢复无用(UNUSED)列的命令。
可以使用以下命令从一个表中删除一列,其格式如下:
ALTER TABLE 表名
DROP COLUMN 列名;
修改表中的一个字段
修改表中的列的数据类型
ALTER TABLE 表名 MODIFY(
AGE(表名)NUMBER(10)(列名数据类型));
修改表中的列的列名
ALTER TABLE 表名
RENAME COLUMN AGE(原列名) TO AE(目标列名);
改变对象的名字
在Oralce中常用的对象有以下5种
1.)表(Table):存储数据的基本单位,由行和列组成。
2.)索引(Index):为了改进某些查询性能的数据结构。
3.)视图(View):来自一个或多个表的数据子集。
4.)序列(Sequence):数值生成器。
5.)同义词(别名)(Synonym):赋予对象另外的名字。
如果在创建某个对象时考虑不周,对象的名字取得不合适,可以使用Oracle的RENAME语句来修改对象的名字。格式如下:
RENAME 对象原来的名字 对象现在的名字
向数据库中插入一条记录
SQL> insert into stud//表名(name//字段名,age)
2 values ('q',15);
(注://后面为注释)
删除一条记录
SQL> delete from stud//表名
2 where (name='q');//条件
修改一条记录
SQL> update stud//表名
2 set name='wanghg',age=54//设置更改后的字段名及值
3 where name='whg';//设置条件
以上语句说明,当字段名Name为whg时,将其记录修改为字段name=’wanghg’,age=54
如何建立视图
以下为查询语句
select a.empno 编号,a.ename 姓名,a.job 职位,a.deptno 部门, b.dname 姓名
from emp a,dept b
where a.deptno=b.deptno
以下为建立视图(deptnew)语句
create view deptnew
AS
select a.empno 编号,a.ename 姓名,a.job 职位,a.deptno 部门, b.dname 姓名 from
emp a,dept b
where a.deptno=b.deptno
此时,若使用Select *from deptnew进行查询时,得到的结果和上一句查询的结果相同[/size]