美文网首页
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