SQL中DDL操作的示例分析

网友投稿 292 2023-12-07

SQL中DDL操作的示例分析

这篇文章给大家分享的是有关SQL中DDL操作的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

SQL中DDL操作的示例分析

1、数据库对象

    表

视图:存储在数据字典中的一条 select 语句

    序列

    同义词

    索引

2、保留字

     select * from v$reserved_words where reserved=Y;

3、创建表

      前提:

有CREATE TABLE权限,有空间,一个表最多1000个列

      临时表级别 GLOBAL TEMPORARY:

        事务级 ON COMMIT DELETE ROWS

        会话级 ON COMMIT PRESERVE ROWS

         语法

CREATE GLOBAL TEMPORARY TABLE ....

           (...

           ) 

           ON COMMIT PRESERVE ROWS;

     语法:

       create table dept01

          ( deptno number(2),

dname varchar2(14)

          );

     default值:create table test (col1 number,col2 date default sysdate);

     数据类型:字符、数字、日期、大对象等

      数据字典

user_tables

           user_objects:对象的名字、ID和类型

           user_catalog:查看用户拥有的表、视图、同义词、序列

      使用CAST的方式创建新表

源表上列上的 not null(非空)约束也将应用于新表,但 primary key(主键)、 unique(唯一)、 foreigne key(外键)约束 以及 隐式的 not null(主键列)约束都不会被继承;

只创建表结构的空表 create table test as select * from emp where 1=2;

4、修改表 

add增加一列      alter table dept30 add (job varchar2(9));

    modify更改一列  alter table dept30 modify (ename varchar2(15));

    drop丢弃一列  

alter table dept30 drop column job;

            删除有约束的列加cascade constraint     alter table ... drop column ...cascade constraint

rename重命名列  alter table dept30 rename column empno to id;

    set unused 标记不可用列

            alter table xxx set unused (col1,col2);

与drop列配合使用,在业务高峰期先标记不可用,然后在业务低谷drop列   alter table xxx drop unused columns;

            不能还原

select * from user_unused_col_tabs;

5、重命名表

      rename dept30 to department30;

6、截断表

      truncate table department;

     只删除数据,保留了表结构

truncate与delete的区别:

        a)  delete 是 DML 语句,会产生很多 undo 数据,用于回滚( rollback),速度慢。

delete 不会降低高水位线。 delete 可以删除表中部分数据。

        b)  truncate 是 DDL 语句,几乎不产生 undo 数据,不能回滚。速度快。

              truncate 会降低高水位线。 truncate 会删除表中所有数据。

7、删除表

drop table dept30;

    无法回滚

    drop table purge //删除的表不会放到回收站

    删除有约束的表 drop table dept02 cascade constraint;

8、增加注释

表级别  comment on table emp is Employee Information;                  user_tab_comments 数据字典

列级别  comment on column emp.deptno is Department Number;      user_col_comments  数据字典

感谢各位的阅读!关于“SQL中DDL操作的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SQL中序列的用法示例
下一篇:SQL中集合运算符有哪些
相关文章

 发表评论

暂时没有评论,来抢沙发吧~