zoukankan      html  css  js  c++  java
  • oracle 11g 学习笔记 2012_10_25(2)

    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;

  • 相关阅读:
    jQuery1.9(辅助函数)学习之—— jQuery.param( obj ); 编辑
    jQuery1.9(辅助函数)学习之——.serialize();
    jQuery1.9(辅助函数)学习之——.serializeArray();
    聊聊 getClientRects 和 getBoundingClientRect 方法
    聊一聊数组的map、reduce、foreach等方法
    Typescript 接口(interface)
    配置 tsconfig.json
    Chrome 插件推荐
    Typescript 基础知识
    package.json
  • 原文地址:https://www.cnblogs.com/tgxblue/p/4217438.html
Copyright © 2011-2022 走看看