其它
优化
1.尽量使用列名取代*,虽然9i以后认为是一样的。
2.Oracle先执行右边,后执行左边。
and 尽量把为假的放到右边。
or 尽量把为真的放到右边。
2.change命令
select * form emp; //注意这个from是错误的
输入 1 表示修改第一行
c /form/from 表示把form修改为from
2.a命令 append
就是在sql中的最后一行去添加内容。注意:a命令后边的空格一定是两个或者两个以上。
select * from emp order by sal;
a desc
3.Oracle的三级认证
OCA 最初级
OCP DBA必须要考
OCM 最高级,整个中国才有1000来个。
4.关于sql中的null值
1.包含null值的数学表达式的值都是空。
比如查询年薪 select sal*12+comm from emp; -- 结果是错误的。 要这么写 select sal*12+nvl(comm,0) from emp;
2.在sql中null值永远不等于null值
比如查询奖金为null的员工 select * from emp where comm = null; 结果是错误的。
修改为 select * from emp where comm is null 是空的时候, 不是空的时候 select * from emp where comm is not null;
3.如果集合in中含有null,不能使用 not in
3.什么空值
空值是无效的,未指定的,未知的或不可预知的值。
空值不是空格或者0
5.注意:
sql语言大小写敏感。
sql可以写在同一行或者多行。
关键字不能被缩写也不能分行
各子句一般要分行写。
使用缩进提高语句的可读性。
6.sql语句与sql*plus命令
sql:
一种语言
ANSI 标准
关键字不能缩写
使用语句控制数据库中的表的定义信息和表中的数据
例如:
select,update,delete,update,create table
sql*plus:
一种环境
Oracle 的特性之一
关键字可以缩写
命令不能改变数据库中的数据的值
集中运行
例如:
c(change),ed(edit),set,desc(describe)
7.iSQL*Plus
sql命令的web版本
使用iSQL*Plus可以:
描述表结构。
编辑 SQL 语句。
执行 SQL语句。
将 SQL 保存在文件中并将SQL语句执行结果保存在文件中。
在保存的文件中执行语句。
将文本文件装入 SQL*Plus编辑窗口。
以本机为例:http://localhost:5560/isqlplus/
8.保存一条sql
save c:\a.sql;
9.过滤where都的字符和日期
字符和日期要包含在单引号中。
字符大小写敏感,日期格式敏感。
默认的日期格式是 DD-MON-RR。
10.查询参数
select * from v$nls_parameters;
修改参数:
alter session set NLS_DATE_FORMAT='yyyy-mm-dd';