oracle表管理

一,表名和列名的命名规则

·必须是以字母开头

·长度不能超过30个字符

·不能使用oracle的关键字

·只能使用如下字符:a-z , A-Z , 0-9 , $,_ ,# 

二,数据类型

字符型:

char  : 定长 最大2000 字符

varchar2 : 变长 最大4000字符 

clob : 字符型大数据,最大为4GB

数值型:

number 范围 -1038次方----1038次方 

可以表示整数,也可以表示小数。

number(4,2): 表示 -99.99 ~ 99.99 

number(3) : 表示 -999~999

日期数据:

date  : 包括年月日和时分秒

timestamp时间戳

oracle中,日期默认的格式是 ' --' ,如:'11-2-1991' 表示1991211 ,而且中间的那个月也不能少

可以设置日期的格式:

alter session set nls_date_format = 'yyyy_MM_dd' ;

二进制数据:

blob : 存放图片,视频 等  ---- 4G 

三,建表

。。。。。

四,修改表的字段

·增加一个字段

alter  table  student  add(classid number(3);

·修改一个字段的长度

alter  table  student  modify(classid number(5));

·修改字段的类型

alter table  student  modify(classid  char(5));

·重命名字段

alter table student rename column classid to cid;

·删除字段

alter table student drop column classid ;

·重命名表名 (只有创建表的那个用户才能重命名)

rename  student  to  stu ;

·删除表

|- drop table student ;

删除表结构,不能恢复

|- delete from student ; 

删除表中所用的数据,会有日志,能够恢复

|- truncate table student 

不会有日志,不能恢复,但是效率较delete

五,更新数据

·更新多个字段的信息

  SQL>update tablename set 字段1=' ..' , 字段2 =' ...' .... where  .. 条件

·更新多个未知的数据

?更新SCOTT用户的job,deptno,sal 和 smith用户的一样

  因为不知道smith的工作,部门和薪水,所以要先查出来,然后在更新,所以是个未知的更新

SQL> update emp set (ename,job,deptno) = (select ename,job,deptno from emp where ename = 'SMITH') where ename='SCOTT';

你可能感兴趣的:(oracle表管理)