oracle的一些基本语法和一些优化问题
查询:
select distinct(empno) , name , age from t_person t where (t.age between 21 and 25 or name like '%王%') and
empno like '32%';
更新:
update t_person set name = 'ww' where empno = '321654';
update t_person set(empno,name,age) = (select empno,name,age from t_person1 where ...)
插入:
insert into t_person values(seq_person.nextval,'ww',21); -- seq_person.currval 当前序列中的值
insert into t_person(empno,name) values('321654','ww');
删除:
delete t_person <==> delete from t_person
创建表:
create table t_person (
empno varchar2(6),
name varchar2(20),
age int ,
constraint pk_person primary key(empno)
);
comment on table t_person is '员工表';
comment on column empno is '员工编号';
comment on column name is '员工姓名';
comment on column age is '员工年龄';
create table t_person as select * from t_person1 where 1<>1; 只复制表结构
create table t_person as select * from t_person1 where 1=1; 复制表结构和数据(拷贝),但除了非空约束能被复制,其它的约束都不能拷贝。
创建视图:
create view v_person as select * from t_person t left join t_person1 m on t.empno = m.empno where ...;
截取字符串:
select substr('wangwei',2,3) from dual; --从第二位开始截取取三个字符(注意:数据库中的是从1开始的,而不是0)
dbms_output.put_line :ang
计算长度的函数:
select length('wangwei') from dual; --dbms_output.put_line:7
计算总量的函数:
select count(1) from t_person; -- 此语句的执行效率比非索引字段的效率低
select count(*) from t_person; -- 此语句的执行效率比非索引字段的效率低,比第一个的效率低一些。
select count(name) from t_person; -- 此语句的执行效率是最低的,前提条件是name字段不是索引。
select count(empno) from t_person; --此语句的执行效率最高,前提是empno字段是索引。
在拼接sql语句的时候,一定要注意字符串和空格的问题,比如:
String sql = "select * from t_person t where
相关文档:
C:\Documents and Settings\Administrator>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 10月 13 15:26:31 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partition ......
Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工作是由优化器(Optimizer)来完成的。不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的。相信你一定会用Pl/sql Developer、Toad等工具去看一个语句的执行计划,不过你 ......
1. NLS_LANG
参数组成
NLS_LANG
参数由以下部分组成:
NLS_LANG
=<Language>_<Territory>.<Clients
Characterset>
NLS_LANG
各部分含义如下:
LANGUAGE指定:
-Oracle消息使用的语言
-日期中月份和日显示
TERRITORY指定
-货币和数字格式
-地区和计算星期及日期的习惯
CHARACTERSET:
-控 ......
exp/imp是Oracle自带的导入导出命令,运用它,即使不需要那结UI工具也能轻易的完成数据导出导入工作,下面是它们的参数:
EXP参数详解
使用的格式是:EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
其中USERID是必须的且为第一个参数
关键字
备注
USERID
用户名/口令
FULL
导出整个文件 (N)
BUFFER
......