最近在学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次方到10的38次方,可以表示整数,也可以表示小数
Number(5,2)表示一个小数有5位有效数,2位小数,范围-999.99----999.99
Number(5)表示一个五位整数,范围-99999------99999
4.日期类型
Date 包含年月日和时分秒
Timestamp这是oracle9i对date数据类型的扩展
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;删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快