首页 > 代码库 > 3、表的管理

3、表的管理

1.oracle表名的命名规则

必须以字母开头;

长度不能超过30字符

不能使用oracle的保留字

只能使用如下字符a~z,A~Z,0_9,#,$

2.oracle的字符类型

1)字符型:

Char:定长的最大只能达到2000个字符,入char(10)则在内存中一定会被分配10个字符,用不完也会空着,但是char类型查询速度快。

varchar2:变长,最大可以达到4000个字符,速度不如char,但可以节约空间

clob(character large object):字符型大对象,最大可达4G

2)数字型

Number:范围-10的38次方到10的38次方

可以表示正数也可以表示负数

如:number(5,2)表示一个数共有5位,其中小数点后有两位。

3)日期类型

Date:包含年月日和时分秒

 

4)大文本类型

Clob:可以存储海量文字(4g),例如存储《三国演义》

5)大对象类型

Blob:二进制数据可以存放图片、电影和声音[S11] 

3.建表

(1).正常建表

1:建一张学生表

Sql>create table student(——表名

xh number(4),——学号

xm varchar2(20),——学生姓名

Sex char(2),——性别

Birthday date,——出生日期

Sal number(7,2)——薪水

);

(2).以某个表为模板进行建表

       例2:以student表为模板建一张新表;

            Sql>create table newstudent as select * from student;

4.修改表

(1).添加表的一个字段

Sql>Alter table student add(classid number(2));在student表中添加一个字段classid;

(2).修改字段的长度

Sql>Alter table student modify (xm varchar2(30));将student表中字段xm的长度由20改为30

(3).修改字段的类型/或是名字(不能有数据??)

Sql>Alter table student modify(xm char(30));将表student的xm字段的类型由varchar2改为char;

Sql>Alter table student rename column xm to name;将表student的字段xm的名称改为name;

 

(4).删除一个字段

Sql>Alter table student drop column sal;将student表中的sal字段删除;

(5).修改表的名字

Sql>Rename student to stu;将表名由student改为stu;

5.删除表,删除视图

Sql>Drop  table  student;删除表student;

Sql>Drop  view   v_student;删除视图v_student;

6.修改oracle默认的日期格式

Oracle中默认的日期格式‘DD-MON-YY’,要想用其他格式插入数据就只能修改日期的默认格式。

Sql>Alter session[S12]  set nls_date_format=’yyyy-mm-dd’;

修改后,就可以用我们熟悉的格式添加日期类型:

Sql>Insert into student values(‘A002’,’MIKE’,’男’,’1905-05-06’,10);

7.修改表的内容

(1).插入数据——INSERT

       例1:单行插入

         Sql>insert into EMP values(7369,‘SMITH‘,‘CLERK‘,7902,‘17-12月-1980‘,800.00,null,20) ;

      例2:多行插入,即行迁移

          Sql>insert into kkk (id,name,deptno)[S13]  select empno,ename,deptno[S14]  from emp where deptno=10;将emp表中10号部门的所有员工的员工号、姓名和部门号一次性插      入kkk表中;

(2).修改数据——UPDATE

       例3.单行修改

         Sql>update EMP set ename=’SHU’ where empno=7369;将EMP表中员工号为7369的员工的姓名改为SHU;

      例4.多行修改

         Sql>update emp set (job,sal,comm)=(select job,dal,comm from emp where

ename=’SMITH’) where ename=’SYC’;将SYC的job、sal和comm改成与SMITH

一样。

(3).删除数据——DELETE

         Sql>delete from EMP where empno=7369;删除EMP表中员工号为7369的员工信息

3、表的管理