在对表操作之前,一定要先了解基本数据类型:
常用的数据类型
Varchar2():表示字符串,一般保存长度比较小的内容(200以内建议使用,oracle独有,其他数据库为varchar)
number(n):整数,长度不能超过n
**number(n,m)**小数占m位,整数占n-m个 如果不想细分,写个number就可以,既可以表示整数,也可以表示小数
date:保存日期时间数据,日期加时间,有的数据库只表示日期
clob:大文本数据,最多可以表示4g的文字
blob:二进制数据,最多可以保存4g内容,可以保存文字,图片,电影,音乐(已经很少用到了,尽量不要用blob保存数据)

创建数据表
在oracle之中,我们把数据表称为oracle的对象
语法:

create table 表(列         数据类型          default  默认值,列         数据类型          default  默认值,列         数据类型          default  默认值,列         数据类型          default  默认值,列         数据类型          default  默认值);//列用逗号分开,最后一列不用,结尾括号用分号结尾//在插入数据的时候,如果设置了default,如果没有写上指定的内容,那么他会使用默认值

数据表的重命名

对于数据库来说,每一张数据表对oracle而言是一个对象,在oracle中,对象是个重要的概念,所有的oracle对象必须由oracle统一管理(以下内容敲重点)
在oracle中,为了记录下所有对象的信息,提供了数据字典的概念,在数据库中一共提供了三个级别的数据字典
1、用户级别:user_*开头,指一个用户可以使用的字典
例:查询一个用户下的所有表:select* from user_tables;
这个时候就列出了数据库表对象的全部信息,包括名称,存储情况等,,,
2、管理员级别:dba_开头,由数据库管理员使用的数据字典
3、全部级别:all_
,不管用户还是管理员都可以使用
//系统级别:

所以,对表的重命名本质上就是更新一下数据字典的相应信息,实际上数据字典是oracle自己维护的那么就表示对此信息的修改必须使用特定的oracle命令完成:

rename 旧表名称  to  新表名称

在oracle中一旦执行了DDL操作,所有的未提交的事务一定会自动提交

截断表
如果我们想要删除一张表中的数据,一定会首先想到delete操作,但是在使用delete的时候,delete之后,严格来讲,表所占有的资源(约束,索引)并不会被立刻释放掉
若想将全部资源全部清空,就需要使用截断操作了:

truncate table 表名;

一旦被截断之后所占用的空间立刻被释放,无法还原。(oracle独有,不属于标准SQL)

复制表
语法:create table 表 as 子查询
严格来说,这只是将根据子查询返回的数据创建表,并将子查询(子查询里面可以在嵌套子查询)中的数据保存到新的数据表里面去
但是如果只是想复制表的表结构,但是不需要复制表里面的数据:

create table newcaozyxx as select * from caozyxx where 1<0

删除表:
语法:drop table 表名称;
但是这种删除,删除之后数据表回留下痕迹,进入到回收站(flashback)之中,可以进行还原;

删除表是比删除数据更可怕的数据,任何数据库都不可能提供全部删除表的命令

利用闪回技术还原:
在oracle 10g之前,如果用户执行了drop table 命令,就意味着表被删除。从oracle 10g开始,有了闪回(flash back)技术,此技术本质上与Windows的回收站是非常类似的;
当执行数据表删除后,并不会立刻被删除,而是将数据表保存在回收站之中,并且标记出回收站不是空的,就在表的数据字典上提供有了一系列的“BIN。。。”开头的内容;

查看回收站:(通过数据字典)

select * from user_recyclebin
//里面有删除后留在数据字典里的标识,别删除的表名,被删除的时间


通过回收站恢复一张被删除的表:

flashback table 表名 to before drop;

如果不想经过回收站,直接删除,可以在删除表的语句后面加上(purge)
强制删除数据表(重点记忆):

drop table mycaozy purge;

删除回收站里面的数据:

purge table mycaozy;

清空回收站(重点记忆):

purge recyclebin;

注:闪回技术也是oracle自己的技术,为了使用方便,建议记住强制删除表,和清空回收站

修改表结构操作:
对已经存在的表进行数据列的结构变更,增加数据列,删除数据列等。。。

脚本:在项目开发中,需要编写数据库的脚本文件,一般此类文件要求:
1、脚本文件后缀名要为:’
.sql‘
2、要编写删除数据表的语法;
drop table member purge;
3、要编写创建表的语法;
create table member (
mid number,
name varchar2(50)
);
3、测试数据;
insert into member (mid,name) values (10,‘张三’);
insert into member (mid,name) values (20,‘李四’);
4、执行事务提交;
commit;*

增加数据列

alter table member add( email varchar2(50),sex   varchar2(5)  default '男');//增加列之后,如果没有设置default,则新增列的数据都是null,如果有则都为设置的默认值;

修改表中的列

alter table  member  modify (name varchar2(20) default '无名氏');

删除列

alter table member drop column sex;

在实际的开发之中,尽量不去使用对表的操作,如果真的要进行表结构修改,建议:将表删除,重新创建;

表属于数据库对象的操作,对数据库的对象操作只有三类语法:
创建对象::create 对象类型 对象名称 ,,,,,;
删除对象:drop 对象类型 对象名称,,,,,,;
修改对象:alter 对象类型 对象名称,,,,,,;

oracle-DDL对表的操作相关推荐

  1. ORACLE对表批处理操作

    --oracle常用系统表 /* dba_开头.....  dba_users    数据库用户信息 dba_segments 表段信息 dba_extents   数据区信息 dba_objects ...

  2. oracle批输入命令流,ORACLE对表批处理操作

    一.提高DML操作的办法: 简单说来: 1.暂停索引,更新后恢复.避免在更新的过程中涉及到索引的重建. 2.批量更新,每更新一些记录后及时进行提交动作.避免大量占用回滚段和或临时表空间. 3.创建一临 ...

  3. 【干货】Oracle数据库常用十一大操作指令

    相关文章导读 收藏 | 超详细的Oracle19c安装步骤_XMWS-IT-CSDN博客 DBA数据库管理必备认证:ORACLE OCP 19C 教材下载 Oracle数据库常用十一大操作指令 1. ...

  4. Java小白的数据库爱情(四)Oracle DDL、DML使用

    Java小白的数据库爱情(四)Oracle DDL.DML使用 rowid .rownum rowid 和 rownum都是伪列 rowid rowid 不是表的某一个字段,相当于对象的地址,根据地址 ...

  5. mysql数据库DDL,DML,DCL操作

    mysql数据库操作 文章目录 mysql数据库操作 1:mysql工具使用 2:服务器监听的两种socket地址 3:mysql数据库数值类型 4:DDL操作 4.1 数据库操作 4.2:表操作 4 ...

  6. Oracle 数据库简单日常操作

    Oracle 数据库简单日常操作 目录 Oracle 数据库简单日常操作 SQL基础部分 1.简介 2.安装好之后可以登录系统账户 3.用户与表空间 4.数据字典 5.如何启用scott用户 6.表空 ...

  7. 第一讲SQL命令的DDL和DML操作讲解

    知识点: 一.sql命令DDL(结构化操作) 二.sql命令DML操作(增删改查) 1.sql命令DDL(结构化操作) 1.1表添加字段: alter table 表名 add 列定义 如: alte ...

  8. 23-hadoop-hive的DDL和DML操作

    跟mysql类似, hive也有 DDL, 和 DML操作 数据类型: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ ...

  9. oracle rac启停数据库,Oracle rac 启动停止操作文档 PDF 下载

    一.ORACLE 正常启动/关闭操作步骤 1.启动OS操作系统集群 当RAC的两台机器操作系统正常启动后,首先启动OS操作系统的集群,命令如下: cmruncl –v (root 权限下)(启动系统集 ...

最新文章

  1. 2018-3-7论文网络评论中非结构化信息的表示与研究--------实验分析
  2. Spring Cloud Alibaba 生产实践:Sentinel 进阶应用场景
  3. (转) Weblogic 12c 集群部署和session复制
  4. libnet发包java语言_libnet-1.1.2.1
  5. 【转】Docker —— 从入门到实践
  6. MyEclipse解决Launching xx on MyEclipse Tomcat has encountered a problem
  7. MyBatis 插件原理与自定义插件
  8. EditText 空指针问题
  9. Linux操作系统基础解析之(五)——grep命令家族及正则表达式初识
  10. 又来了!深度学习PyTorch与TensorFlow到底哪家强?
  11. 【数学】礼物(jzoj 2129)
  12. Go语言操作MySQL的基础知识
  13. 别说我不懂排序!几种常见排序算法(一)
  14. python输出语句格式 f_Python基础之输出格式和If判断
  15. Python数据可视化2.3 体育案例
  16. PID控制最通俗的解释与PID参数的整定方法
  17. udp洪水攻击java_Linux网络编程--洪水攻击详解
  18. GHOSTXP_SP3 09 绿茶纯净装机版V12.2 【雪豹】
  19. 邓应海:3.24最新黄金走势分析,黄金多空操作建议
  20. 练习:身高出现的频次

热门文章

  1. Blender 插件开发 将object设置成bpy.context.object
  2. 计算机网络——IP地址总述
  3. Deepin系统Beyond Compare下载安装以及无法使用解决办法
  4. 让玩家提升游戏耐玩度的8个小技巧
  5. 计算机、通信方向学习考证经验分享
  6. 【前端领域高频笔试面试】—— HTML+CSS相关
  7. 十二载征程犹未止,看今朝星光尽闪耀丨万字长文回顾2023数据技术嘉年华
  8. _pickle.UnpicklingError: unpickling stack underflow
  9. Python lambda表达式用法
  10. Java 接口的定义、接口的成语、接口的实现、接口与类的多继承、JDK1.8后新增方法、使用接口的注意事项