oracle 子查询创建表,表的重命名,给表和列添加注释,显示当前用户所有表,复制已存在表结构到新表...
程序员文章站
2024-03-20 11:42:16
...
[color=red]通过子查询创建表[/color]
如果要创建一个同已有的表结构相同或部分相同的表,可以采用以下的语法:
CREATE TABLE 表名(列名...) AS SQL查询语句;
该语法既可以复制表的结构,也可以复制表的内容,并可以为新表命名新的列名。新的列名在表名后的括号中给出,如果省略将采用原来表的列名。复制的内容由查询语句的WHERE条件决定。
[color=red]通过子查询创建新的图书表[/color]
步骤1:完全复制图书表到“图书1”,输入并执行以下命令:
执行结果:
表已创建。
步骤2:创建新的图书表“图书2”,只包含书名和单价,输入并执行以下命令:
执行结果:
表已创建。
步骤3:创建新的图书表“图书3”,只包含书名和单价,不复制内容,输入并执行以下命令:
执行结果:
表已创建。
说明:“图书1”表的内容和结构同“图书”表完全一致,相当于表的复制。
“图书2”表只包含“图书”表的两列 “图书名称”和“单价”,并且对字段重新进行了命名,“图书2”表的“书名”对应“图书”表的“图书名称”,“图书2”表的“单价”对应“图书”表的“单价”。
“图书3”表同“图书2”表的结构一样,但表的内容为空。因为WHERE条件始终为假,没有满足条件的记录,所以没有复制表的内容。
[color=red]表的重命名[/color]
语法如下:
RENAME 旧表名 TO 新表名;
只有表的拥有者,才能修改表名。
修改“图书”表为“图书5”表:
执行结果:
表已重命名。
[color=red]添加注释[/color]
(1) 为表添加注释的语法为:
COMMENT ON TABLE 表名 IS '...';
该语法为表添加注释字符串。如IS后的字符串为空,则清除表注释。
为emp表添加注释:“公司雇员列表”。
执行结果:
注释已创建。
(2) 为列添加注释的语法为:
该语法为列添加注释字符串。如IS后的字符串为空,则清除列注释。
为emp表的deptno列添加注释:“部门编号”。
执行结果:
注释已创建。
可以通过对数据字典USER_OBJECTS的查询,[color=red]显示当前模式用户的所有表[/color]。
显示当前用户的所有表。
执行结果:
黑色头发:http://heisetoufa.iteye.com/
如果要创建一个同已有的表结构相同或部分相同的表,可以采用以下的语法:
CREATE TABLE 表名(列名...) AS SQL查询语句;
该语法既可以复制表的结构,也可以复制表的内容,并可以为新表命名新的列名。新的列名在表名后的括号中给出,如果省略将采用原来表的列名。复制的内容由查询语句的WHERE条件决定。
[color=red]通过子查询创建新的图书表[/color]
步骤1:完全复制图书表到“图书1”,输入并执行以下命令:
CREATE TABLE 图书1 AS SELECT * FROM 图书;
执行结果:
表已创建。
步骤2:创建新的图书表“图书2”,只包含书名和单价,输入并执行以下命令:
CREATE TABLE 图书2(书名,单价) AS SELECT 图书名称,单价 FROM 图书;
执行结果:
表已创建。
步骤3:创建新的图书表“图书3”,只包含书名和单价,不复制内容,输入并执行以下命令:
CREATE TABLE 图书3(书名,单价) AS SELECT 图书名称,单价 FROM 图书 WHERE 1=2;
执行结果:
表已创建。
说明:“图书1”表的内容和结构同“图书”表完全一致,相当于表的复制。
“图书2”表只包含“图书”表的两列 “图书名称”和“单价”,并且对字段重新进行了命名,“图书2”表的“书名”对应“图书”表的“图书名称”,“图书2”表的“单价”对应“图书”表的“单价”。
“图书3”表同“图书2”表的结构一样,但表的内容为空。因为WHERE条件始终为假,没有满足条件的记录,所以没有复制表的内容。
[color=red]表的重命名[/color]
语法如下:
RENAME 旧表名 TO 新表名;
只有表的拥有者,才能修改表名。
修改“图书”表为“图书5”表:
RENAME 图书 TO 图书5;
执行结果:
表已重命名。
[color=red]添加注释[/color]
(1) 为表添加注释的语法为:
COMMENT ON TABLE 表名 IS '...';
该语法为表添加注释字符串。如IS后的字符串为空,则清除表注释。
为emp表添加注释:“公司雇员列表”。
COMMENT ON TABLE emp IS '公司雇员列表';
执行结果:
注释已创建。
(2) 为列添加注释的语法为:
COMMENT ON COLUMN 表名.列名 IS '...'
该语法为列添加注释字符串。如IS后的字符串为空,则清除列注释。
为emp表的deptno列添加注释:“部门编号”。
COMMENT ON COLUMN emp.deptno IS '部门编号';
执行结果:
注释已创建。
可以通过对数据字典USER_OBJECTS的查询,[color=red]显示当前模式用户的所有表[/color]。
显示当前用户的所有表。
SELECT object_name FROM user_objects WHERE object_type='TABLE';
执行结果:
OBJECT_NAME
---------------------
BONUS
DEPT
EMP
SALGRADE
出版社
图书
黑色头发:http://heisetoufa.iteye.com/