您的位置:首页 > 数据库 > Oracle

oracle 11g 学习笔记 2012_10_25(2)

2012-10-25 23:32 471 查看

oracle表的管理

1)表名和列的命名规则

* 必须以字母开头

* 长度不能超过30字符

* 不能使用oracle 的保留字

* 自能使用如下字符 A-Z,a—z,0-9,$,#等

2)oracle支持的数据类型

* 字符型

char 定长,定了长度之后就不能改变了,查询时的效率高 最大 2000字符

varchar2(20) 变长,动态改变字符的长度 最大4000字符

* 数字型

oracle中表示数字的只有number。

number的表示范围在-10的38次方~10的38次方,它可以表示正数,也可以表示小数。

小数的表示:number(m,n)表示的是这个数的有效数是m,有n位小数。

正数的表示:number(m)表示的是这是一个五位数正数。

*日期类型

date 包含了 年月日和时分秒

oracle默认的日期类型是"dd-mon-yy",如'12-5月-90'。我们可以用函数 to_date(‘1990-05-12’,‘yyyy-mon-dd’)格式化成我们熟悉的格式。也可以这样修改日期的默认格式:

alter session set nls_date_format = 'yyyy-mm-dd';


*图片类型 二进制数据

oracle中的图片类型不单止可以存放图片,还可以存放声音视频。

但是真是项目中,我们一般不会把图片直接放进去数据库中,一般只是在数据库里存放一个路径而已,把图片视频等放在一个资源文件夹里读取。当该图片视频的保密性很高时才把它们放进数据库里面。

3)建表

.建立学生表和班级表。

SQL> create table student(

2 xh number(4),

3 xm varchar2(20),

4 sex char(2),

5 birthday date,

6 sal number(7,2)

7 );

Table created

SQL> create table classes(

2 classId number(2),

3 cname varchar2(40)

4 );

Table created

.表空间

通俗地说是表存放的地方,就如是把一个文件是放在C盘还是放在D盘那种感觉。oracle已经为我门创建了好几个表空间,方便我们管理表。就如为什么要有几个硬盘一样,每一个硬盘都会放不同的文件,这样管理就方便多了。

建表我们可以通过pl/sql developer 这个可视化的工具操作,也可以在命令行里面操作,在不熟悉的前,最好是先熟悉命令,因为数据库这么多,每个数据库的可视化工具不经相同,而命令可大致是相同的。

.表的修改:

添加一个字段:

这个字段一般是添加在最后的。

alter table student add( classId number(2));
.删除一个字段:

在删除一个字段时,要考虑清除,要是没有到了非删不可的地步,最好就不要删了。特别是在做项目时,如果表删除了某个字段,当输入数据时,输入的格式可能还是原来的表结构那样输入,那么就很容易造成输入的错误。后果比较严重。

.删除表

drop table student;

(3)添加数据

.所有数据都插入

insert into student values ('A001','张三','男','01-5月-05',10);
oracle中默认的格式为‘DD-MON-YY’

修改日期的默认格式:

alter session set nls_date_format = 'yyyy-mm-dd';
那么修改后默认的格式插入就不可以了。

按上面的格式在插入一个值测试:

insert into student values ('A002','MIKE','男','1990-07-05',10);

.插入部分字段

insert into student(xh,xm,sex) values('A003','JOHN','男');

.插入空值

insert into student(xh,xm,sex,birthday) values('A004','MARTIN','男',null);

要是在创建表时已经约束了birthday不能空值的时候,上面的语句就会报错了。

(4)修改数据(update)

.修改一个字段

update student set sex='女' where xh = '1';
.修改多个字段

update student set sex = '男',birthday = ‘1990-08-12’where xh = '2';

(5)删除数据

一、只删除数据

delete from student;
要是希望删除可以回复数据,可以在删除前,保存一个点 savepointaa; 保存点

执行删除数据命令后,再执行回滚命令,rollback to aa; 那么,数据就会恢复到aa保存的这个保存点之前的数据上。保存点就只能有一个。因此有经验的数据库管理员都是经常设置保存点的。

truncate table student;
这条语句中的所有数据记录都被删除,但是表结构还在,不写日记,因此也无法找回删除的记录,特点是速度快。

二、删除表的数据和结构

delete table student;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: