`

oracle(一)

阅读更多
2.Alter Table

--添加字段
alter table table_name add column_name varchar2(100);

--修改字段
alter table table_name modify column_name varchar2(50);

--删除字段
alter table table_name drop column column_name;

3.Truncate Table

--快速删除表中内容
truncate table column_name;

--删除表及表结构
drop table column_name;


5.使用TCL事务控制语言
  数据存储的逻辑单位是数据块,数据操作的逻辑单位是事务
  1.提交

--当我们在插入数据时,只有当我们使用了Commit后,数据才正真插入的数据表中
--此情况只存在与使用SQL*plus时
insert into emp values(207,'张三丰','12-2月-10',90)
--此时以创建一行,我们查询是却看不到
--只有当我们Commit了,才可以看到数据
commit;

  2.回滚

--仅限于使用SQL*Plus
--先删除emp表所有数据
delete from emp;
--此时再查询时,emp表中没有数据
--当我们使用rollback回滚后
rollback;
--查询时,数据依然存在

  3.回滚部分事务

--删除emp_id为101的员工
delete from emp where emp_id=101;
--设置保存点
savepoint p1;
--再删除emp_id为102的员工
delete from emp where emp_id=102;
--此时使用rollback回滚到p1

6.Orcale中常用函数
  在书函数之前,向大家介绍Orcale中的虚拟表dual,它有一行一列,所有者是sys,但可以被所有账户使用。
  1.单行函数
    (1).日期函数
      a.ADD_MONTHS:用于返回指定的日期加上指定的月数后的日期值

--根据dual表获取系统当前时间
select sysdate 当前系统时间 from dual;
--比如当前时间是10-7月-11(2011年7月10日)
select add_months(sysdate,1) 新的日期 from dual;
--则返回新的日期是:10-8月-11(2011年8月10日)

      b.MONTHS_BETWEEN:用于返回两个日期之间的月份数

--假设当前系统时间为:10-7月-11
select months_between('10-10月-11',sysdate) 相差的月份 from dual;
--此时可能返回的是一个小数,我们可以使用floor函数取整
select floor(months_between('10-10月-11',sysdate) 相差的月份 from dual;)

      c.LAST_DAY:用于返回指定日期对应月份的最后一天

--假设当前时间是:10-7月-11
select last_day(sysdate) 当月的最后一天 from dual;
--此时返回:31(7月的最后一天是31号)

      d.NEXT_DAY:用于返回指定下一个星期几的日期

--假设当前时间为10-7月-11(星期日)
select next_day(sysdate,'星期五') next_day from dual;
--返回下个星期五的日期(如果当前时间是星期一,则返回当前星期五的日期)
--上面的SQL语句返回15-7月-11(星期五)


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics