Oracle学习笔记(二) - 增、删、改、查

  单行添加

insert into  表名(
        字段1,字段2,日期)
    values(
        添加1,添加2,(to_date('2012/10/22','yyyy/mm/dd'))
);    

  多行添加

INSERT ALL
    INTO mytable (字段1, 字段2, 字段3) VALUES (添加1, 添加2, 添加3)
    INTO mytable (字段1, 字段2, 字段3) VALUES (添加1, 添加2, 添加3)
    INTO mytable (字段1, 字段2, 字段3) VALUES (添加1, 添加2, 添加3)
SELECT * FROM dual;

  清空表

delete from 表名 where 条件

 

Update 表名
        Set 字段名=修改的值,字段名=修改的值,
Where 条件;        

  多字段优先排序

select
        *
from
        表名
where
        条件 order 字段1 desc,字段2 desc;

 select * from dual

  在Oracle数据库内有一种特殊的表Dual。Dual表是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select中。Dual表由Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2(1)类型,有一行值X。从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
用途
  1、select计算常量表达式、伪列等值
  oracle内部处理使它只返回一行数据,而使用其它表时可能返回多个数据行。
  2、查看当前用户
  select user from dual;
  select count(*) from dual;
  3、用做计算器
  select 7*9*10-10 from dual;
  4、调用系统函数
  (1)获得当前系统时间
   select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
  (2)获得主机名
   select sys_context('userenv','terminal') from dual;
  (3)获得当前locale
   select sys_context('userenv','language') from dual;
  (4)获得一个随机数
   select DBMS_RANDOM.random from dual;
  5、查看序列值
  (1)创建序列aaa 以1开始,每次加1
   create sequence aaa increment by 1 start with 1;
  (2)获得序列aaa 的下一个序列值
   select aaa.nextval from dual;
  (3)获得序列aaa 的当前序列值
   select aaa.currval from dual;

猜你喜欢

转载自www.cnblogs.com/zhang20190701/p/11940848.html