知识大全 OraclePL/SQL语言初级教程之表和视图

Posted 视图

篇首语:心境是可以把地狱变成天堂,也可以把天堂变成地狱。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 OraclePL/SQL语言初级教程之表和视图相关的知识,希望对你有一定的参考价值。

OraclePL/SQL语言初级教程之表和视图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Oracle数据库数据对象中最基本的是表和视图 其他还有约束 序列 函数 存储过程 包 触发器等 对数据库的操作可以基本归结为对数据对象的操作 理解和掌握Oracle数据库对象是学习Oracle的捷径   表和视图  Oracle中表是数据存储的基本结构 ORACLE 引入了分区表和对象表 ORACLE i引入了临时表 使表的功能更强大 视图是一个或多个表中数据的逻辑表达式 本文我们将讨论怎样创建和管理简单的表和视图   管理表  表可以看作有行和列的电子数据表 表是关系数据库中一种拥有数据的结构 用CREATE TABLE语句建立表 在建立表的同时 必须定义表名 列 以及列的数据类型和大小 例如

CREATE TABLE products  ( PROD_ID NUMBER( )    PROD_NAME VAECHAR ( )    STOCK_QTY NUMBER( )  );  这样我们就建立了一个名为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中表名或列名最长可以达 个字符串 表名应该以字母开始 可以在表名中包含数字 下划线 # $等    从其它表中建立表  可以使用查询从基于一个或多个表中建立表 表的列的数据类型和大小有查询结果决定 建立这种形式的表的查询可以选择其他表中所有的列或者只选择部分列 在CREATE TABLE语句中使用关键字AS 例如: SQL>CREATE TABLE emp AS SELECT * FROM employeeTABLE CREATEDSQL> CREATE TABLE Y AS SELECT * FROM X WHERE no=   需要注意的是如果查询涉及LONG数据类型 那么CREATE TABLE AS SELECT 将不会工作    更改表定义  在建立表后 有时候我们可能需要修改表 比如更改列的定义 更改缺省值 增加新列 删除列等等 ORACLE使用ALTER TABLE语句来更改表的定义   增加列  语法 ALTER TABLE [schema ] table_name ADD column_definition  例 ALTER TABLE orders ADD order_date DATE;TABLE ALTER  对于已经存在的数据行 新列的值将是NULL 更改列  语法 ALTER TABLE [schema ] table_name MODIFY column_name new_attributes;  例 ALTER TABLE orders MODITY (quantity number( ) status varchar ( ));  这个例子中我们修改了表orders 将STATUS列的长度增加到 将QUANTITY列减小到 ;  修改列的规则如下     可以增加字符串数据类型的列的长度 数字数据类型列的精度     减少列的长度时 该列应该不包含任何值 所有数据行都为NULL     改变数据类型时 该列的值必须是NULL     对于十进制数字 可以增加或减少但不能降低他的精度   删除数据列  优化ORACLE数据库 唯一的方法是删除列 重新建立数据库 在ORACLE i中有很多方法删除列 你可以删除未用数据列或者可以标示该列为未用数据列然后删除   删除数据列的语法是 ALTER TABLE [schema ] table_name DROP COLUM column_names | (column_names)[CASCADE CONSTRAINS]  要注意的是在删除列时关于该列的索引和完整性约束也同时删除 注意关键字CASCADE CONSTRAINS 如果删除的列是多列约束的一部分 那么这个约束条件相对于其他列也同时删除   如果用户担心在大型数据库中删除列要花太多时间 可以先将他们标记为未用数据列 标记未用数据列的语法如下 ALTER TABLE [schema ] table_name SET UNUSED COLUM column_names | (column_names)[CASCADE CONSTRAINS]  这个语句将一个或多个数据列标记为未用数据列 但并不删除数据列中的数据 也不释放占用的磁盘空间 但是 未用数据列在视图和数据字典中并不显示 并且该数据列的名称将被删除 新的数据列可以使用这个名称 基于该数据列的索引 约束 统计等都将被删除   删除未用数据列的语句是 ALTER TABLE [schema ] table_name DROP UNUSED COLUM | COLUMN CONTINUE cha138/Article/program/Oracle/201311/17225

相关参考

知识大全 Oracle PL/SQL语言入门

OraclePL/SQL语言入门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一背景介绍   

知识大全 Oracle PL/SQL语言基础

OraclePL/SQL语言基础  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PL/SQL是O

知识大全 ORACLE主要的系统表和数据字典视图

ORACLE主要的系统表和数据字典视图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  系统表  

知识大全 OraclePL/SQL的第一次接触

OraclePL/SQL的第一次接触  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PL/SQL

知识大全 OraclePL/SQL过程调试的输出方法

OraclePL/SQL过程调试的输出方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最基本

知识大全 oraclepl/sql中使用包

  模式:  createorreplacepackage包名is  定义变量  函数声明  过程声明  end包名;  /  showerr;  createorreplacepackagebody

知识大全 OraclePL/SQL基础知识及其相关概念

OraclePL/SQL基础知识及其相关概念  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  结构

知识大全 oraclePL/SQL之隐式游标和ref游标总结

oraclePL/SQL之隐式游标和ref游标总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 JAVA语言中链表和双向链表的实现

JAVA语言中链表和双向链表的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  链表是一种重要

知识大全 asp.net水晶报表中实现关联主表和子表

  一使用视图meeting将多表关联整合在一起  二通过Sql语句筛选数据  三建立和主从表的关联  四注意在CrystalReport表中插入子报表的时候一定要将主从表的关联字段设置好否则出乱子