oracle数据库从入门到精通之二

Posted 阳光-源泉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库从入门到精通之二相关的知识,希望对你有一定的参考价值。

重点关注表的创建与操作语法(如何创建与设计表是后话)
常用数据类型
表本质上是数据的集合操作

数据类型:
不管扩展多少种数据类型,常用的就以下几种
字符串    varchar2(其它数据库是varchar)来描述,200个字以类的都用此类型。
数值    number来描述,小数用number(m,n),其中n为小数位,m-n为整数位。
        数据库也考虑了程序人员的习惯:
        整数用INT来表示
        小数用FLOAT来表示
日期    date
大文本数据    clob来描述,最多可以保存4G的文本。
大对象数据    blob来描述,图片,音乐,视频,文本,最多可以保存4G,
            虽然能存,但效率低下,数据库更多的是用来存地址,费了
            半天劲,保存进去了,还得费半天劲读出来,把数据库就累死了。
从实际的开发来讲,掌握这四个就够了,varchar2,number,date,clob.


#########################
表创建:
create table 表名(
    列名    数据类型    [default 默认值],
    列名    数据类型    [default 默认值],
    列名    数据类型    [default 默认值],
    列名    数据类型    [default 默认值],
    ...
    列名    数据类型    [default 默认值]
);

create table member(
    mid number,
    name varchar2(20) default ‘noname‘,
    birthday date default sysdate,
    note clob
insert into member(mid,name,birthday,note) values(1,‘aa‘,to_date(‘1980-09-08‘,‘yyyy-mm-dd‘),‘aaaaaaaaaaaaaa‘);
insert into member(mid,name,birthday,note) values(2,‘bb‘,to_date(‘1980-10-08‘,‘yyyy-mm-dd‘),‘bbbbbbbbbbbbbb‘);
insert into member(mid) values(3);
insert into member(mid,name) values(4,null);
如果指定了null,就会覆盖默认值。

############################

表复制

将子查询的结果保存为数据表。
create table 表名 as 子查询;
简单查询
create table emp30 as select * from emp where deptno=30;
复杂查询
create table deptstat
    as
select d.deptno,d.dname,temp.count,temp.avg
from dept d, (
    select deptno dno,count(*) count,avg(sal) avg
    from emp
    group by deptno) temp
where d.deptno=temp.dno(+);

除了复制表数据之外,还可以只复制表结构。
只需要设置一个绝对不可能满足的条件即可。
create table empnull
    as
select * from emp where 1=2;
























































以上是关于oracle数据库从入门到精通之二的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 从入门到精通系列(入门篇)1.1-Oracle 数据库发展史

Oracle 从入门到精通系列 - 行业统计

Oracle 11g从入门到精通pdf

Oracle数据库从入门到精通-分组统计查询

Oracle+11g+从入门到精通下载 򟗰

Oracle12c从入门到精通(第二版) PDF 下载