Oracle数据类型:
char:定长,最大2000字符。如果定义一个字段为char(10),但是存入数据为ab,则后面的位数都被空格占据,依旧是占据10空间。但是char类型查询等效率较高,但是浪费空间。
因此如果一个字段固定长度,且会经常被查询,则最好使用char,char的查询速度快。
varchar2:变长,最大4000字符。节省空间,但是效率差。如果定义一个字段为varchar2(10),但是存入数据为ab,则后面的位数空着。
clob:大数据时使用clob。
number:number范围很大(-10的-38到10的+38),可以表示整数也可以表示小数。
number(5,2),一个数字,共5位,两位小数,三位整数。
number(5)表示一个五位数整数。
date:包含年月日和时分秒
timestamp:对date类型的扩展。
blob:二进制数据,可以存放图片/声音等
Oracle表的管理:
创建表:create table 表名(字段1 type,字段2 type。。。);
添加一个字段:alter table 表名 add (字段 type);
修改字段长度:alter table 表名 modify (xm varchar2(30));
修改字段类型:alter table student modify (xm char(30));
修改字段名:alter table student rename column sm to xm;
删除一个字段:alter table student drop column sal;
修改表名:rename student to stu;
删除表:drop table student;
添加数据:insert into student values(1,'小明','男','11-12月-1997',2345.6,12);
注:oracle中默认的日期格式是'DD-MON-YY',dd--天,mon--月份,yy--两位的年,修改日期默认格式:
alter session set nls_date_format = 'yyyy-mm-dd';
插入部分字段:insert into tables(xh,xm,sex) values(v1,v2,v3);
插入空值:insert into student (xh,xm,birthday) values('2','aa',null);
查询空值:select * from student where birthday is null;
查询非空值:select * from student where birthday is not null;
修改一个字段值:update student set='女' where xh =1;
修改多个字段值:update student set sex='男',birthday='1970-03-02' where xh=1;
修改含有null值的数据:通过is null判断
删除数据:delete from student;删除所有记录,表结构还在,写日志,可以恢复的,速度慢
恢复方法:首先设置恢复点:savepoint a;然后执行操作语句:delete from student;最后回滚:rollback to a;
drop table student; 删除表结构和数据
delete from student where xh=1;删除一条记录。
truncate table student;删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。