上QQ阅读APP看书,第一时间看更新
3.2 建表新增
SQL Server数据库与Oracle数据库中的建表新增语法不同。
SQL Server数据库中建表新增语法如以下代码所示。
select * into table_a from table_b;
代码中各关键字的解释如下。
❑ select:关键字,指定要查询哪些列。
❑ into:关键字,指定要插入哪个表中。
❑ table_a:代表要新建的表。
❑ table_b:代表当前要查询的表。
Oracle数据库建表新增语法如以下代码所示。
create table table_a as select * from table_b;
代码中各关键字的解释如下。
❑ create table:关键字,标识当前命令是新建表的命令。
❑ table_a:代表要新建的表。
❑ as:指定生成查询结果的语句。
❑ table_b:代表当前要查询的表。
建表新增将查询、建表和新增3个操作合并到了一个命令中,它将查询的结果集保存到一张新建的表中。在实际的编程中不会这么写,但是对于数据库管理员来说,这个操作非常有用,可以帮他快速地实现表结构的复制,也可以帮他很方便地对表中满足条件的数据进行备份。
接下来,通过一个例子来帮助读者掌握建表新增的用法。
例3-6:将EMP表中的数据插入名为EMP_BAK的新表中。
SQL Server数据库中的写法如图3-17所示。
图3-17
Oracle数据库中的写法如图3-18所示。
图3-18
有一点需要读者注意,建表新增会创建一张列属性一样的新表,也会把查询结果的记录插入新表中。但是,查询表的键、约束、索引、触发器等表的附属对象是不会自动创建到新表中的。无论是SQL Server数据库还是Oracle数据库都是这样处理的。