SQL表的创建于管理

本文介绍了SQL中关于数据表的各种操作,包括创建表、复制表(实际上是将查询结果保存为表)、截断表(ORACLE特有的资源快速释放方式)、为表重命名、删除数据表、闪回技术以及修改表结构。强调了删除数据表的慎重以及闪回技术在ORACLE中的应用,提醒开发者避免频繁修改表结构。
摘要由CSDN通过智能技术生成

主要内容:

比啊本质上就属于数据集合操作,那么数据集合里面必然有需要保存的集合类型。在数据库的开发过程中,每一个数据库都有许多自己支持的数据类型。但不管扩展多少数据类型,真正的常用的类型有以下几种。

*字符串:使用VARCHAR2描述(其他数据库使用VARCHAR),200个字以内的都是由此类型。如:姓名、地址、邮编、手机号

*数据:在ORACLE中使用NUMBER描述数字,如果描述小数,使用NUMBER(m,n),其中n为小数位,而m-n为整数位,但是数据库也考虑程序人员的习惯。

*日期:使用DATE,ORACLE中DATE包含时间,但是在其它数据库中DATE只是日期,DATETIME才表示日期时间。

大文本数据使用CLOB描述,最多可保存4G的文字信息:

大对象数据使用BLOB,保存图片、音乐、电影、文字。最多可保存4G.

如果要进行数据表的创建,则可以使用如下的语法完成。

例:创建一张成员表

表创建之后就可以向表中插入数据

默认值指的是如果没有使用字段设置的时候出现,而如果字段明确出现了null,那么内容就是null;

复制表(了解)

严格讲复制表不是复制的操作,而是将一个子查询返回结果变为一张表的形式保存而已,对于复制表的操作可以使用如下的语法完成:

如果现在是一个简单表查询,也可以将这个最终的结果保存在数据表之中。

例:将复杂查询结果创建为表

将此时的统计查询结果保存在deptstat表里面,

除了可以将数据保存在数据表中,还可以将表结构进行复制,即:不负责表内容,只负责表结构

只需要设置一个绝对不可能满足的条件即可

现在使用语法”DESC 表名 “查看表结构,可见empnull结构如下

截断表(了解,ORACLE自己的特性)

      事物处理本身是保护数据完整性的一个手段,但是使用事务处理的过程之中需要注意一点:

在用户更新数据后,还未进行事物提交中,如果发生了DDL操作,那么所有的事物都会自动提交。

假如现在有一张表的所有数据都不需要了,那么首先想到的是将数据表的全部数据使用DELETE删除。在这样的删除过程中会出现一种情况:

由于事物的控制,所以导致数据不会立刻被删除。同时这些数据所占用的资源不会立刻消失,也就是说一段时间之内,此数据依然是存在的。如果使用DELETE删除又可能出现资源被占用的情况。为此ORACLE当中出现了一种称为截断表的概念。如果表被阶段,数据表所占用的资源全部释放。同时无法使用事物恢复。

      语法:TRUNCATE TABLE  表名称  

例:截断myemp表

此时资源才全部释放。

为表重命名(了解)

DDL属于对象定义语言,主要的对象是创建对象、索引名

所以表创建单词是CREATER,但是这些对象被谁记录呢?当用户进行数据对象操作的时候,ORACLE提供有一个数据字典用于记录所有的对象状态。也就是说用户创建表之后,那么会自动在数据字典里面增加一行信息,表示表创建了。表删除了也会在数据字典里执行删除操作。

但是整个过程是由ORACLE自己维护的,用户不能操作数据字典的CRUD

在此之前使用过这样的语句

严格来讲,此时可以使用数据字典完成,既然是用户的查询,那么可以使用“User_tables"

这个数据字典之中记录了保存数据的存储情况,占用的资源情况。

实际上表的重命名就属于更新字典的过程,语法:RENAME 旧的表名称 TO 新的表名称

例:将Member表更名为person表

删除数据表(重点

删除数据表属于数据库对象的操作,所以此时它的支持语法:

例:删除emp30表

ORACLE 10g之前执行删除语句,那么数据表就会直接进行删除了,从10g开始,删除的操作出现了一次挽救的机会,类似于windows回收站。如果没有其他的说明,这个时候会将表保存在回收站之中,如果用户删除出现了问题,可以进行恢复,或者是彻底删除。称为闪回技术(FlashBack)

      在任何数据库里面都不可能提供批量删除数据表的操作,在以后的项目中,别删除表。

闪回机会(理解)

闪回机会提供给用户一次恢复删除操作机会,若用户想操作这个回收站,那么用户具备查看、恢复、清空、彻底删除这几项操作,如果想查看回收站,可以使用如下命令完成。

通过数据字典

例:恢复person表

使用”PURGE"彻底删除

回收站的操作只是ORACLE提供的,其它的数据库还不支持,所以此部分会使用即可。

修改表结构(了解)

当一张数据表以及建立完成了,后来发现某些表少列,某些表列设计不合理。又有一些表列多了,才提供有对象的修改操作。但是从本身的开发来讲,并不提倡数据表的修改。

如果要修改一张表,首先需要一张表。在实际的开发之中,为了方便数据库的使用。往往数据库人员会给一个数据库的脚本。这个脚本的后缀为*.sql。开发人员可以利用这个脚本对数据库快速的恢复。所以一般脚本会包含如下的几个内容:

下面就基于这个脚本实现数据表的修改操作

1、修改已有列

例入:现在name字段上没有设置默认值,这样,每当增加新数据不指定name的时候,内容就是null;所以有默认值

2、为表增加列

语法:

发现一旦有默认值,每一行的sex内容都会出现,相当于更新了所有行。

3、删除表中的列

在任何情况下,删除操作都是及其危险的。语法:

例:删除sex列

以上的操作知道就行,能不用就不用。

总结:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值