美文网首页
Oracle 表的管理 (三)

Oracle 表的管理 (三)

作者: Down1 | 来源:发表于2020-10-22 10:18 被阅读0次

    一、表名和别名的命名规则

      👉必须以字母开头;
      👉长度不可超过30字符;
      👉不能使用Oracle的保留字;
      👉只能使用如下字符 A-Z,a-z,0-9,$,#等。

    二、Oracle数据类型

      👉字符型:
         char 定长 最大2000字符
         效率高,但空间占用浪费。
         例子:char(10)'小韩'前四个字符'放'小韩' ,后添加6个空格补全。

         varchar2(20) 变长 最大4000字符
         效率低,但可节省空间
         例子:varchar2(10) '小韩' ,oracle分配四个字符。

         clob(character large object) 字符型大对象 最大4G

      👉数字型:
         number  范围 -10的-38次方~10的38次方   可以表示整数,也可以表示小数

         number(5,2) 范围:-999.99~999.99    表示一个小数有5位有效数,2位小数
         number(5)  范围 :-99999~99999    表示一个5位整数

       👉日期类型:
         date :包含年月日和时分秒 。oracle 默认格式是:1-1月-1999。
         timestamp :这是 oracle 对 date 数据类型的扩展,可以精确到毫秒。
         blob:二进制数据,可以存放图片/声音 4G 一般来讲,在真实项目中是不会把图片和声音真的往数据库里存放。一般存放图片/视频的路径,如果安全需要比较高的话,则放入数据库里。

    三、表操作

    • 建表
    --建表格式
        create table 表名(
            参数1 数据类型,
            参数2 数据类型,
            
            ……            
            
            参数N 数据类型
            );
    

    实例:学生表 student

    create table student(           --student为表名
            xh number(4),           --学号
            xm varchar2(20),        --姓名
            sex char(2),            --性别
            birthday date,          --生日
            sal number(7,2)         --奖学金
        );
    
    • 添加一个字段
    alter table 表名 add (参数 数据类型);
    

    实例

    alter table student add (pno number(4));
    
    • 修改字段的类型/名字(必须是空表,无数据)
    alter table 表名 modify (参数 数据类型);
    
    • 删除一个字段
    alter table 表名 drop column 参数;
    
    • 修改表名
    rename 原表名 to 新表名;
    
    • 删除表
    drop table  表名;
    
    • 插入所有字段
    insert into 表名 values(参数1,'参数2'……'DD-MON-YY');  
    

    注意:
      Oracle 中默认的日期格式是 'DD-MON-YY'
        其中,DD 代表:日子(天)
           MON 代表:月份
           YY 代表:年
      若要改成日期的默认格式可以用:
        alter session set nls_date_format = 'yyyy-mm-dd';

    • 插入部分字段和插入 null 值
    insert into 表名 (参数1,参数2,参数3,参数4) values('参数1的值','参数2的值','参数3的值',null);
    
    • 查询某个字段为空的数据
    select * from 表名 where 参数n is null;
    
    • 查询某个字段不为空的数据
    select * from 表名 where 参数n is not null;
    
    • 修改一个字段
    update 表名 set 参数1=参数1/2 where 参数2='参数2值';  --将参数2的所有的参数1的值缩小两倍
    
    • 修改多个字段
    update 表名 set 参数1='参数1的值',参数2='参数2的值' where 参数3='参数3的值';  --将参数3的参数1和参数2修改
    
    • 修改含有 Null 值得数据
    update 表名 set 参数1='参数1的值' where 参数2 is null;
    
    • 删除表里所有数据
    delete from 表名;   /*删除所有记录,但表结构还存在,写日志是可恢复的,但是速度慢*/
    
    • 用 delete 删除数据,写日志恢复命令。(回滚)
    savepoint 保存点;     --设置保存点 
    delete from 表名;     --删除之前需要先保存。然后再删除
    rollback to 保存点;   --回滚到原先保存的保存点的位置
    
    • 删除表的结构和数据
    drop table 表名;
    
    • 删除一条数据
    delete from 表名 where 参数1='参数1的值';
    
    • 删除表中所有数据,但表结构还在,不写日志,无法恢复,速度快
    truncate table 表名;
    

    相关文章

      网友评论

          本文标题:Oracle 表的管理 (三)

          本文链接:https://www.haomeiwen.com/subject/gtdemktx.html