oracle中表的管理(一)

最近在学oracle,博文只算是学习笔记草稿。oracle的操作全部在命令行下完成。

 

一.表名和列的命名规则

1.必须以字母开头

2.长度不能超过30个字符

3.不能使用oracle的保留字

4.只能使用如下字符A―Z,a―z,0---9,$,#

二.oracle的数据类型

1.char定长最大2000字符

例子:char(10) ‘小韩前四个字符放‘小韩’后面六个用空格补全

2.clob(characterlargeobjiect)字符型大对象,最大4GB

3.数字类型

Number范围10-38次方到1038次方,可以表示整数,也可以表示小数

Number(5,2)表示一个小数有5位有效数,2位小数,范围-999.99----999.99

Number(5)表示一个五位整数,范围-99999------99999

4.日期类型

Date 包含年月日和时分秒

Timestamp这是oracle9idate数据类型的扩展

5.图片类型

Blob二进制数据可以存放图片/声音大小4GB

应用举例:

建表

学生表

Create table student(

xh number(4),

Xm varchar2(20),

Sex char(2),

Birthday date,

Sal number(7,2)

);

表中添加字段的命令:

Altertable student add(classid number(2));

修改字段的长度:

Alter table student modify (xm varchar2(30));

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

Alter table student modify xm chr(30);

删除一个字段:

Alter table student drop column sal;

修改表的名字:

Rename student to stu;

删除表:

Drop table student;

三.给表中插入数据:

Insert into student values(‘a001’,’张三’,’’,’01-5-05’,10);

Oracle中默认的日期格式为’DD-MON-YY’,

改日期的默认格式:

Alter session setnls_date_format=’yyyy-mm-dd’;

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

Insert into studentvalues(‘a002’,’李四’,’’,’1991-02-01’,10);

插入部分字段和插入空值:

Insertintostudent(xh,m,sex,birthday) values(3,’aa’,’’,null);

查询一列值为空的命令:

Select * from student where birthday is null;

修改一个字段:

Update student set sex=’’ where xh=’a001’;

修改多个字段:

Update student set sex=’’,birthday=’1989-09-09’ where xh=’a001’;

修改含有null值的数据:

Is null

删除表内的数据:

Delete from student;

删除的数据可以通过rollback回滚返回来。先通过savepoint aa;建立一个回滚点。

然后通过rollback to aa;就会回滚到aa这个点。

删除的有记录,表结构还在,写日志,可以恢复的,速度慢。

Drop table student;删除表的结构和所有数据

Deletefrom student where xh=’a001’;删除一条记录

Trimcatetable student;删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快

 

你可能感兴趣的:(oracle,table)