- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 表和视图;4.1 表的创建和操作; ;表4-2 出版社表; 4.1.1 表的创建
1.创建表的语法
表的创建需要CREATE TABLE 系统权限,表的基本创建语法如下:
CREATE TABLE 表名
(列名 数据类型(宽度)[DEFAULT 表达式][COLUMN CONSTRAINT],
...
[TABLE CONSTRAINT]
[TABLE_PARTITION_CLAUSE]
);; 由此可见,创建表最主要的是要说明表名、列名、列的数据类型和宽度,多列之间用“,”分隔。可以是用中文或英文作为表名和列名。表名最大长度为30个字符。在同一个用户下,表不能重名,但不同用户表的名称可以相重。另外,表的名称不能使用Oracle的保留字。在一张表中最多可以包含2000列。该语法中的其他部分根据需要添加,作用如下:
DEFAULT 表达式:用来定义列的默认值。
COLUMN CONSTRAINT:用来定义列级的约束条件。
TABLE CONSTRAINT:用来定义表级的约束条件。
TABLE_PARTITION_CLAUSE:定义表的分区子句。
; 【训练1】 创建图书和出版社表。
步骤1:创建出版社表,输入并执行以下命令:
CREATE TABLE 出版社(
编号 VARCHAR2(2),
出版社名称 VARCHAR2(30),
地址 VARCHAR2(30),
联系电话 VARCHAR2(20)
);
执行结果:
表已创建。; 步骤2:创建图书表,输入并执行以下命令:
CREATE TABLE 图书(
图书编号 VARCHAR2(5),
图书名称 VARCHAR2(30),
出版社编号 VARCHAR2(2),
作者 VARCHAR2(10),
出版日期 DATE,
数量 NUMBER(3),
单价 NUMBER(7,2)
);
执行结果:
表已创建。; 步骤3:使用DESCRIBE显示图书表的结构,输入并执行以下命令:
DESCRIBE 图书
执行结果为:
名称 是否为空? 类型
----------------------------------------------------- --------------------- -------------------------
图书编号 VARCHAR2(5)
图书名称 VARCHAR2(30)
出版社编号 VARCHAR2(2)
作者 VARCHAR2(10)
出版日期 DATE
数量 NUMBER(3)
单价 NUMBER(7,2);? 说明:在以上训练中,列名和数据类型之间用空格分隔,数据类型后的括号中为宽度(日期类型除外)。对于有小数的数字型,前一个参数为总宽度,后一个参数为小数位。用逗号分隔各列定义,但最后一列定义后不要加逗号。
2.通过子查询创建表
如果要创建一个同已有的表结构相同或部分相同的表,可以采用以下的语法:
CREATE TABLE 表名(列名...) AS SQL查询语句;
该语法既可以复制表的结构,也可以复制表的内容,并可以为新表命名新的列名。新的列名在表名后的括号中给出,如果省略将采用原来表的列名。复制的内容由查询语句的WHERE条件决定。; 【训练2】 通过子查询创建新的图书表。
步骤1:完全复制图书表到“图书1”,输入并执行以下命令:
CREATE TABLE 图书1 AS SELECT * FROM 图书;
执行结果:
表已创建。
步骤2:创建新的图书表“图书2”,只包含书名和单价,输入并执行以下命令:
CREATE TABLE 图书2(书名,单价) AS SELECT 图书名称,单价 FROM 图书;
执行结果:
文档评论(0)