Oracle的初级知识

1条件查询where条件
当在where子句中使用日期值时,必须用单引号引住日期值,并且日期值必须符合日期语言和显示格式

。如果不符合必须用TO_DATE函数进行转换。一个例子如下:
select enanem ,sal,hiredate from emp where hiredate>'01-1月-82'

2.特定格式显示日期结果
方法一:设置会话的NLS_DATE_FORMAT参数。
ALTER SESSION SET nls_date_format='YYYY"年"MM"月"DD"日"';
SELECT ename,hiredate FROM emp;

方法二:使用TO_CHAR函数定制日期显示格式

SELECT ename,to_char(hiredate,'YYYY-MM-DD') FROM emp;

3.处理NULL值函数
一、NVL(列,0):如果列存在数值,则返回其原来的数值,如果为null,则返回0.
二、NVL2(comm,sal+comm,sal):如果comm不是null则返回sal+comm的结果集;如果为空则返回sal的

值。

4.常用数字函数
(1).round(n,[m]):返回四舍五入的结果,其中n为任意数字,m必须为整数。如果省略m,那么四

舍五入到整数位;如果m是负数,那么四舍五入到小数点前的第m位。如果m为正数,则四舍五入到小数

点后的第m位;如果输入是null则返回的也是null。
(2).MOD(m,n):该函数取得两个数字相除后的余数。如果n为0,则返回结果为m。如果输入null,

返回也是null。
(3).trunc(n,[m]):该函数用于截取数字,其中n可以是数字,m必须是整数。如果省略数字m,那么

会将数字n的小数部分截去,如果m是正数,那么会将数字n截取至小数点后的第m位;如果数字m是负数

,那么会将数字n截取至小数点前的第m位。

5.to_char()

  该函数用于将数字值转换成varchar2类型的数据,n用于指定数字值,fmt用于指定数字格式模型,

它具有以下元素:
9:显示数字,并且会忽略前导0。
0:显示数字,如果位数不足,则用0补齐。
.:在指定位置显示小数点。
,:在指定位置显示逗号。
$:在数字前加美元符号。
L:在数字前加本地货币符号。
C:在数字前加国际货币符号。
D:在指定位置显示小数点(.)。
G:在指定位置显示组分隔符(,)。
一个列子如下

SELECT ename,to_char(sal,'L99999.99') salary FROM emp WHERE deptno=20;

得到结果为:
ENAME SALARY
SMITH ¥2000.00
JONES ¥2975.00

6.to_date()

7.删除表的所有数据
delete from emp;
截断表
truncate table emp;
注意:delete删除表的所有数据时,不会释放表所占的空间。truncate table 会释放空间,而且速度

很快,但是不能回滚,而delete是可以回滚操作的。

8.数据统计,横向小计,纵向小计及总计统计可以使用rollup和cube
SELECT deptno ,job,AVG(sal) FROM emp GROUP BY ROLLUP(deptno,job);

SELECT deptno ,job,AVG(sal) FROM emp GROUP BY CUBE(deptno,job);

9.对表的修改
增加列
ALTER TABLE emp ADD eo VARCHAR2(10);
删除列
ALTER TABLE emp DROP COLUMN
修改列
ALTER TABLE emp MODIFY job VARCHAR(20) DEFAULT 'clerk';
修改表名
RENAME emp TO emps
删除表
drop table emp;
恢复删除表
FLASHBACK TABLE table_name TO BEFORE DROP;
增加注释
COMMENT ON TABLE table_name IS 'test';
COMMENT ON COLUMN table_name IS 'test';

10.建立索引
CREATE INDEX index_name ON TABLE(COLUMN[,COLUMN,......]);

11.子查询更新

使用子查询更新
UPDATE emp SET(job,sal,comm)=(SELECT job,sal,comm FROM emp WHERE ename = 'smith')
WHERE ename='scott';

12.EXISTS
      EXISTS操作符用于检测子查询是否存在返回行。如果子查询返回行,则条件值为true;如果子查

询不返回行,则条件值为false。

13.增加约束

--增加非空
ALTER TABLE emp MODIFY NAME NOT NULL;
--增加主键约束
ALTER TABLE emp ADD PRIMARY KEY(dno);
--增加FOREIGN KEY,在emp上增加一列并加外键约束
ALTER TABLE emp ADD dno NUMBER(2) REFERENCES detno1(dno)
--增加check约束
ALTER TABLE emp ADD CHECK(salary BETWEEN 800 AND 5000);
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值