oracle数据表对象

表示oracle数据库中非常重要的数据对象,也是主要的对象,今天,开始学习对表的管理!

  一:表的数据类型
1:字符类型
CHAR :固定字符长度的字符串(查询速度快)
vachar2 :变长字符串字段(节约空间)
2:数值类型
number(5,2) 前面整数,后面小数
3:日期类型
DATE   默认格式由NLS_DATE_FORMAT参数决定
4:LOB类型
BLOB:存储音乐、视频、图像等二进制文件
CLOB:字符格式的大对象
5:ROWID数据类型
伪列类型,存放数据记录的物理地址

二:表操作
1:创建表
CREATE TABLE TABLE_NAME(ID NUMBER(10) NOT NULL
                         ....
);
借鉴一个表
CREATE TABLE TABLE_NAME AS SELECT * FROM TABLE_NAME1;

2:添加字段
ALTER TABLE TABLE_NAME ADD(ID NUMBER(10));
3:删除字段
ALTER TABLE TABLE_NAME DROP (NAME1,NAME2);
4:修改字段
ALTER TABLE TABLE_NAME MODIFY CLOUMN_NAME CLOUMN_PROPERTY
5:重命名表
ALTER TABLE TABLE_OLD_NAME TO NEW_NAME;
6:改变表空间和存储参数
ALTER TABLE TABLE_NAME MOVE TABLESPACE TABLESPACE_NAME;
ALTER TABLE TABLE_NAME PCTFREE 25 PCTUSED 45  设置表空闲空间使用方法
7:删除表
DROP TABLE TABLE_NAME[CASCADE CONSTRAINTS](如果表存在约束关系,必须加后面的参数)
8:修改表状态
设置成read only 
alter table table_name read only;
查询状态 select table_name,read_only from user_table where table_name=‘table_name‘;

三:表参数

1:存储参数
STORAGE(INITIAL 256K) 创建表的时候设置(如果知道表有多大,可以先设好大小,这样可以避免产生碎片)

四:表的完整性和约束性
not null  非空
constraint BOOK_PK primary key(BOOK) 创建BOOK字段的主键约束 名字是BOOK_PK
alter table table_name drop book_pk;删除主键
UNIQUE 唯一性约束  允许为空
外键
constraint 外键名字 foreign key(name_id) references table_name2(列);
禁用约束
alter table table_name disable constraint 约束名字
删除约束
alter table table_name drop constraint 约束名字
时间: 2024-08-05 11:09:51

oracle数据表对象的相关文章

oracle 数据表中实现字段的自动增长

由于一直用的是Mysql数据库,今天刚好心血来潮,想着和Java都是同一个老板出来的oracle自己却不会,说出去会不会有点丢人,故就开始翻资料,看视频搞起来,一步一个脚 印,想着写点什么,就开始从创建表开始吧,好了,废话不多说了,开始上正题创建一个表: User表: create table user(    id number(5,0) not null primary key auto_increment,    deptid number(5,0) not null,    userna

Oracle数据表中的死锁情况解决方法

不知道干了啥,把数据表锁住了,没法update. 百度了各种方法,总结如下. 查看被锁住的表(两句都可以): select * from v$session t1, v$locked_object t2 where t1.sid=t2.SESSION_ID   select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object

为数据表对象(NSManagedObject)添加排序

eg:数据库表对象 @interface Meditation : NSManagedObject @property (nonatomic, retain) NSString * order;//用来排序的属性值,用0.1.2.3...排序 @end //在这个方法里操作 - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSInde

定时导出Oracle数据表到文本文件的方法

该实例实现了通过windows定时任务来实现了将数据库中指定数据表数据导出为txt文本格式.其思路是通过可执行的bat文件去调用导出数据脚本,然后再在windows定时任务中调用该bat文件来实现.该示例需要能够运行的sqlplus环境,因此需要安装Oracle客户端等可运行环境. 实现了将数据库中日志表数据导出到指定文件夹下的.log文件,且该文件的命名方式采用按天来导出的格式(如:C:\HttpLog\20130115.log),当然具体路径根据你的需求可进行自定义设置.如果你不想建立win

linux下导入oracle数据表

提前说明:这个是默认oracle已经安装好切数据库默认表空间已经创建好.之后将数据表dmp文件直接导入到默认表空间里(默认表空间不用再指定,因为创建数据库时已经指定默认表空间) linux命令如下: [[email protected] ~]$ imp test/test file=/home/oracle/tm_bus_passenger_updown.dmp ignore=y full=y //用户名和密码已经暗含默认表空间 文档结构如下 原文地址:https://www.cnblogs.c

Oracle 数据表之分区表

一.分区方法 建分区表准备: 1,创建4个测试用的表空间,每个表空间作为一个独立分区(考虑到Oracle中分区映射的实现方式,建议将表中的分区数设置为2的乘方,以便使数据均匀分布) create tablespace partition1 datafile '/home/oracle/app/oradata/orcl/partition1.dbf' size 20m; create tablespace partition2 datafile '/home/oracle/app/oradata/

Oracle数据表之间的数据同步

保证两个数据表结构相同,如不相同只能同步相同字段; 只是思路,具体请根据需求修改. declare cursor csrn_mon is select * from table2; row_mon csrn_mon%rowtype; cursor csrn_loc is select * from table1; row_loc csrn_loc%rowtype; cursor csrn_del is select xh from table1 minus select xh from tabl

oracle——数据表的相关操作——删除数据表

创建数据表; create table 表名 ( 列明1 数据类型1 [约束性条件], 列明1 数据类型1 [约束性条件], …… ) tablespace 表空间 create table student05 ( student_id number not null, student_name varchar2(20), student_age number, status varchar2(2), version number default 0 ) tablespace test sele

oracle——数据表的相关操作——重新命名一个列名

create table student05 ( student_id number not null, student_name varchar2(20), student_age number, status varchar2(2), version number default 0 ) tablespace test select * from student05; 数据表的相关操作 1.增加新列 alter table student 用于修改表的结构,add用于增加列,注意此处没有co