理论教育 使用结构创建表books的示例

使用结构创建表books的示例

时间:2023-10-30 理论教育 版权反馈
【摘要】:创建表的基本命令格式如下:CREATE TABLE[模式名.]表名(列名数据类型[DEFAULT默认值],列名数据类型[DEFAULT默认值],…表9.1Oracle Database 11g中常用数据类型续表例如,在scott用户中,按照表9.2中给出的结构创建表books。表9.2图书信息表books创建表books的SQL语句如下:在表创建之后可以通过DESC命令查看表中各列的列名、数据类型以及是否为空等属性,用于验证表的结构是否与期望的结果一致。

使用结构创建表books的示例

Oracle数据库中使用CREATE TABLE语句创建表。创建表时要确定表的结构,即确定表中各列的名字和类型。创建表的基本命令格式如下:

CREATE TABLE[模式名.]表名(

列名数据类型[DEFAULT默认值],

列名数据类型[DEFAULT默认值],

);

其中:

①模式名缺省时为当前用户。

②表名在当前模式中必须唯一,长度不能超过30字节,以字母开头,可以包含字母、数字、下画线、“$”和“#”,不能使用Oracle的保留字。

③定义多个列时,各列之间用逗号(,)分隔,在同一个表中不能有同名的列。

④DEFAULT指定当前列的默认值。

⑤Oracle Database 11g中提供的系统预定义的数据类型见表9.1。

表9.1 Oracle Database 11g中常用数据类型

续表

例如,在scott用户中,按照表9.2中给出的结构创建表books。

表9.2 图书信息表books(www.daowen.com)

创建表books的SQL语句如下:

在表创建之后可以通过DESC命令查看表中各列的列名、数据类型以及是否为空等属性,用于验证表的结构是否与期望的结果一致。命令格式为:

DESC表名

在创建表时,还可以以另一个表为模板,复制其结构,从而快速创建一个表。复制表的结构是通过在CREATE语句中嵌套SELECT子查询语句来实现的,语句格式如下:

CREATE TABLE表名AS SELECT语句

例如,现在要根据雇员表emp的结构创建表emp_1,仅复制表emp中的empno、deptno、sal 3个列,同时复制部门编号为30的员工数据。

一般情况下,在通过这种方式创建的表中,列名和列的定义与原来的表一致。如果希望在创建一个新表时指定与原来的表不同的列名,可以在CREATE语句中的表名之后指定新的列名。如果只希望复制表的结构,而不复制表中的数据,可以将SELECT子句中的条件指定为一个永远为假的条件。

例如,现在希望根据表emp创建表emp_2,为复制的3个列指定新的列名,并且不复制表emp中的数据,相应的CREATE语句为:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈