oracle数据库中表与视图.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle数据库中的表与视图 Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。   表和视图   Oracle中表是数据存储的基本结构。ORACLE8引入了分区表和对象表,ORACLE8i引入了临时表,使表的功能更强大。视图是一个或多个表中数据的逻辑表达式。本文我们将讨论怎样创建和管理简单的表和视图。   管理表   表可以看作有行和列的电子数据表,表是关系数据库中一种拥有数据的结构。用CREATE TABLE语句建立表,在建立表的同时,必须定义表名,列,以及列的数据类型和大小。例如: CREATE TABLE products   ( PROD_ID NUMBER(4),    PROD_NAME VAECHAR2(20),    STOCK_QTY NUMBER(5,3)   );   这样我们就建立了一个名为products的表, 关键词CREATE TABLE后紧跟的表名,然后定义了三列,同时规定了列的数据类型和大小。   在创建表的同时你可以规定表的完整性约束,也可以规定列的完整性约束,在列上普通的约束是NOT NULL,关于约束的讨论我们在以后进行。   在建立或更改表时,可以给表一个缺省值。缺省值是在增加行时,增加的数据行中某一项值为null时,oracle即认为该值为缺省值。   下列数据字典视图提供表和表的列的信息:    . DBA_TABLES    . DBA_ALL_TABLES    . USER_TABLES    . USER_ALL_TABLES    . ALL_TABLES    . ALL_ALL_TABLES    . DBA_TAB_COLUMNS    . USER_TAB_COLUMNS    . ALL_TAB_COLUMNS   表的命名规则   表名标识一个表,所以应尽可能在表名中描述表,oracle中表名或列名最长可以达30个字符串。表名应该以字母开始,可以在表名中包含数字、下划线、#、$等。   从其它表中建立表   可以使用查询从基于一个或多个表中建立表,表的列的数据类型和大小有查询结果决定。建立这种形式的表的查询可以选择其他表中所有的列或者只选择部分列。在CREATE TABLE语句中使用关键字AS,例如: SQLCREATE TABLE emp AS SELECT * FROM employee TABLE CREATED SQL CREATE TABLE Y AS SELECT * FROM X WHERE no=2   需要注意的是如果查询涉及LONG数据类型,那么CREATE TABLE....AS SELECT....将不会工作。   更改表定义   在建立表后,有时候我们可能需要修改表,比如更改列的定义,更改缺省值,增加新列,删除列等等。ORACLE使用ALTER TABLE语句来更改表的定义   1、增加列   语法: ALTER TABLE [schema.] table_name ADD column_definition   例: ALTER TABLE orders ADD order_date DATE; TABLE ALTER   对于已经存在的数据行,新列的值将是NULL.   2、更改列   语法: ALTER TABLE [schema.] table_name MODIFY column_name new_attributes;   例: ALTER TABLE orders MODITY (quantity number(10,3),status varchar2(15));   这个例子中我们修改了表orders,将STATUS列的长度增加到15,将QUANTITY列减小到10,3;   修改列的规则如下:    . 可以增加字符串数据类型的列的长度,数字数据类型列的精度。    . 减少列的长度时,该列应该不包含任何值,所有数据行都为NULL.    . 改变数据类型时,该列的值必须是NULL.    . 对于十进制数字,可以增加或减少但不能降低他的精度。   3、删除数据列   优化ORACLE数据库,唯一的方法是删除列,重新建立数据库。在ORACLE8i中有很多方法删除列,你可以删除未用数据列或者可以标示该列为未用数据列然后删除。   删除数据列的语法是: ALTER TABLE [schema.] table_name DROP {COLUM column_names | (colum

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档