[计算机软件及应用]oracle_教程_第4章_表和视图

[计算机软件及应用]oracle_教程_第4章_表和视图

ID:36322610

大小:440.50 KB

页数:122页

时间:2019-05-09

[计算机软件及应用]oracle_教程_第4章_表和视图_第1页
[计算机软件及应用]oracle_教程_第4章_表和视图_第2页
[计算机软件及应用]oracle_教程_第4章_表和视图_第3页
[计算机软件及应用]oracle_教程_第4章_表和视图_第4页
[计算机软件及应用]oracle_教程_第4章_表和视图_第5页
资源描述:

《[计算机软件及应用]oracle_教程_第4章_表和视图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章表和视图4.1表的创建和操作4.2数据完整性和约束条件4.3修改表结构4.4分区表简介4.5视图创建和操作4.6阶段训练4.7练习4.1表的创建和操作表由记录(行row)和字段(列column)构成,是数据库中存储数据的结构。要进行数据的存储和管理,首先要在数据库中创建表,即表的字段(列)结构。有了正确的结构,就可以用数据操作命令,插入、删除表中记录或对记录进行修改。比如,要进行图书管理,就需要创建图书和出版社等表,这里给出用于示范和训练的图书和出版社表的结构和内容,如表4-1、表4-2所示。表4-1图书表表4-2出版社表4.1.1表的创建1.创建表的语法表的创建需要

2、CREATETABLE系统权限,表的基本创建语法如下:CREATETABLE表名(列名数据类型(宽度)[DEFAULT表达式][COLUMNCONSTRAINT],...[TABLECONSTRAINT][TABLE_PARTITION_CLAUSE]);由此可见,创建表最主要的是要说明表名、列名、列的数据类型和宽度,多列之间用“,”分隔。可以是用中文或英文作为表名和列名。表名最大长度为30个字符。在同一个用户下,表不能重名,但不同用户表的名称可以相重。另外,表的名称不能使用Oracle的保留字。在一张表中最多可以包含2000列。该语法中的其他部分根据需要添加,作用如下:D

3、EFAULT表达式:用来定义列的默认值。COLUMNCONSTRAINT:用来定义列级的约束条件。TABLECONSTRAINT:用来定义表级的约束条件。TABLE_PARTITION_CLAUSE:定义表的分区子句。【训练1】创建图书和出版社表。步骤1:创建出版社表,输入并执行以下命令:CREATETABLE出版社(编号VARCHAR2(2),出版社名称VARCHAR2(30),地址VARCHAR2(30),联系电话VARCHAR2(20));执行结果:表已创建。步骤2:创建图书表,输入并执行以下命令:CREATETABLE图书(图书编号VARCHAR2(5),图书名称V

4、ARCHAR2(30),出版社编号VARCHAR2(2),作者VARCHAR2(10),出版日期DATE,数量NUMBER(3),单价NUMBER(7,2));执行结果:表已创建。步骤3:使用DESCRIBE显示图书表的结构,输入并执行以下命令:DESCRIBE图书执行结果为:名称是否为空?类型---------------------------------------------------------------------------------------------------图书编号VARCHAR2(5)图书名称VARCHAR2(30)出版社编号VARCHAR

5、2(2)作者VARCHAR2(10)出版日期DATE数量NUMBER(3)单价NUMBER(7,2)说明:在以上训练中,列名和数据类型之间用空格分隔,数据类型后的括号中为宽度(日期类型除外)。对于有小数的数字型,前一个参数为总宽度,后一个参数为小数位。用逗号分隔各列定义,但最后一列定义后不要加逗号。2.通过子查询创建表如果要创建一个同已有的表结构相同或部分相同的表,可以采用以下的语法:CREATETABLE表名(列名...)ASSQL查询语句;该语法既可以复制表的结构,也可以复制表的内容,并可以为新表命名新的列名。新的列名在表名后的括号中给出,如果省略将采用原来表的列名。复

6、制的内容由查询语句的WHERE条件决定。【训练2】通过子查询创建新的图书表。步骤1:完全复制图书表到“图书1”,输入并执行以下命令:CREATETABLE图书1ASSELECT*FROM图书;执行结果:表已创建。步骤2:创建新的图书表“图书2”,只包含书名和单价,输入并执行以下命令:CREATETABLE图书2(书名,单价)ASSELECT图书名称,单价FROM图书;执行结果:表已创建。步骤3:创建新的图书表“图书3”,只包含书名和单价,不复制内容,输入并执行以下命令:CREATETABLE图书3(书名,单价)ASSELECT图书名称,单价FROM图书WHERE1=2;执行

7、结果:表已创建。说明:“图书1”表的内容和结构同“图书”表完全一致,相当于表的复制。“图书2”表只包含“图书”表的两列“图书名称”和“单价”,并且对字段重新进行了命名,“图书2”表的“书名”对应“图书”表的“图书名称”,“图书2”表的“单价”对应“图书”表的“单价”。“图书3”表同“图书2”表的结构一样,但表的内容为空。因为WHERE条件始终为假,没有满足条件的记录,所以没有复制表的内容。3.设置列的默认值可以在创建表的同时指定列的默认值,这样在插入数据时,如果不插入相应的列,则该列取默认值,默认值由DEFAULT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。