Oracle数据库--------------表的创建与使用(截断表、复制表)

关于Oracle数据库的学习记录:

三十一、表的创建与使用(截断表)
如果现在要想清空一张表的记录,那么第一个反应就是执行DELETE操作,但是,严格来讲,执行这个操作,表所占用的资源(约束、索引)并不会被立刻释放掉

使用截断表:语法:
TRUNCATE TABLE 表名称;
范例:截断person表
TRUNCATE TABLE person;
一旦表被截断之后,所占用的数据空间都被释放

截断和重命名都是Oracle自带的功能


三十二、表的创建与使用(复制表)
语法:
CREATE TABLE 表名称 AS 子查询;
严格来讲,这种语法只是根据子查询返回的结构创建数据表,并且将子查询中的数据保存到新的数据表里

范例:创建一张只包含有10部门雇员信息的数据表
CREATE TABLE emp10 AS SELECT * FROM emp WHERE deptno=10;

范例:创建一张只包含有20部门雇员编号、姓名、工资的数据表
CREATE TABLE emp20 AS SELECT empno,ename,sal FROM emp WHERE deptno=20;

范例:创建一张包含有部门统计信息的数据表
CREATE TABLE deptstat AS
SELECT d.deptno,d.dname,d.loc,temp.count,temp.avg
FROM dept d,(
         SELECT deptno dno,COUNT(empno) count,AVG(sal) avg
         FROM emp
         GROUP BY deptno) temp
WHERE d.deptno=temp.deptno(+)
以上是包含数据的复制

范例:复制emp表结构但是不复制里面的数据
CREATE TABLE empnull AS SELECT * FORM emp WHERE 1=2;
这种复制表结构的操作也不属于标准SQL的范畴,所以有概念就行

猜你喜欢

转载自blog.csdn.net/amuist_ting/article/details/80684805