Oracle 表的管理 (三)

2020-10-22  本文已影响0人  Down1

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

  👉必须以字母开头;
  👉长度不可超过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';

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修改
update 表名 set 参数1='参数1的值' where 参数2 is null;
delete from 表名;   /*删除所有记录,但表结构还存在,写日志是可恢复的,但是速度慢*/
savepoint 保存点;     --设置保存点 
delete from 表名;     --删除之前需要先保存。然后再删除
rollback to 保存点;   --回滚到原先保存的保存点的位置
drop table 表名;
delete from 表名 where 参数1='参数1的值';
truncate table 表名;
上一篇 下一篇

猜你喜欢

热点阅读