ORACLE & PLSQL必备知识点
1、 ORACLE 客户端软件的安装与配置;
A、 ORACLE自带软件
B、 PL/SQL DEVELOPER 或TOAD等;
C、 服务配置
D、
2、 SQLPLUS 的使用
A、 常用的格式设置命令
B、 快捷命令, ed , /
C、 自动登陆格式设置
3、 常用的数据类型的理解与识别;
数值型,字符型,日期型;
4、 常用函数的使用
A、 字符函数
Char ,upper,lower, substr,lpad,rpad,replace,ltrim,rtrim Instr,length
B、 数学函数
Abc, mod
C、 时间日期函数
Sysdate,add_months,last_day,month_between,next_day
D、 空值函数
Nvl
E、 汇总函数
Count , sum , avg,max, min
F、 转换函数
To_char, to_number
G、 其它函数
Decode,user
5、 SELECT 查询语句的使用
A、 分组,排序
B、 多表一对一关联
C、 多表一对多关联(左关联或右关联)
D、 交集,并集,差集
E、 Where 子句的使用
F、 ORDER BY 子句
G、 GROUP BY 子句
H、 HAVING 子句
I、 子查询
6、 通配符的使用
Like , % , ?
7、 表的联合
A、 等值联合
B、 不等值联合
C、 外部联合与内部联合
D、 自我联合
8、 UPDATE ,INSERT INTO,DELETE语句的使用
A、 INSERT ……VALUES
B、 INSERT ……..SELECT
9、 表结构的管理
A、 创建表
CREATE TABLE
B、 修改表结构
ALTER TABLE
C、 删除表
DROP TABLE
D、 表的约束,关键字
10、 索引与关键字的创建与使用
包括索引的优化与提升性能;
11、 序列的创建与使用
12、 同义词的建立与使用
13、 系统(字典)表的使用
A、 表对象 user_tables
B、 索引表 user_indesx
C、 约束表 user_constraints
D、 序列对象 user_sequences
E、 视图对象 user_views
F、 同义词对象 user_synonyms
G、 用户TAB对象 tab
H、 对象表 user_objects
I、 学会掌握规律, user_ dba_
14、 数据的导出与导入,使用工具和SQL
15、 PL/SQL的使用
A、 PL/SQL块的基本语法
B、 PL/SQL程序块的编写和使用
C、 创建PL/SQL存储过程或函数编写和使用
16、
17、 错误代码的分析与处理 数据库链路的建立与使用
PL/SQL
一、 PLSQL 变量
set serveroutput on;
declare v_num number :=0;--变量名一般以v开头
begin v_num:=2/v_num; --这句因为除数为0会报错。
dbms_output.put_line(v_num);
end;
/
异常处理:
set serveroutput on;
declare v_num number :=0;
begin
v_num:=2/v_num; dbms_output.put_line(v_num);
exception
when others then
dbms_output.put_line('错误');
end;
/
变量类型
binary_integer: 整数,主要用来计数而不是用来表示字段类型
number 数字类型
char 定长字符串
varchar2 变长字符串
date 日期
long 长字符串,最长2G
boolean 布尔类型,可以取值为true,false ,和null。
声明变量:
set serveroutput on; declare v_num number :=0;
v_bl boolean :=false; begin
dbms_output.put_line('s');
end;
/
注意:declare 放在变量声明的最前面,无论声明多少个变量仅可放一个declare
boolean 类型的变量是不能通过dbms_output.put_line()打印出来的。 得到表中字段类型
%type
set serveroutput on;
declare v_num number :=0;
v_blnum v_num%type := v_num;
begin
dbms_output.put_line(v_blnum);
end;
/
Record 类型:
set serveroutput on;
declare type type_record is record
(
name1 varchar(20),
age number
);
v_type_record type_record;
begin
v_type_record.name1:='nihaoname';
v_type_record.age:=23;
dbms_output.put_line(v_type_record.name1||'
'||v_type_record.age);
end;
/
使用%rowtype声明record 变量(将对应表的所有类型作为该变量的成员)
set serveroutput on;
declare
v_school school%rowtype;
begin
v_school.name1:='nama';
v_school.age:='age';
dbms_output.put_line(v_school.name1||v_school.age);
end;
二、 PL/SQL中的sql
1. Insert 语句
Insert 语句必须要有返回值且只有一条返回。
Insert 语句中必须有into 将查到的数据放入到对应的变量中。注意into两边的值的个数要相同。
Into 后可以传入一个record类型的变量,用于将查询出来的值放入到该变量中。 set serveroutput on;
declare
v_school school%rowtype;
begin
select name1 ,age into v_school from school;
dbms_output.put_line(v_school.name1);
end;
/
2. Update 语句
sql%rowcount 得到刚刚执行sql影响的行数。
set serveroutput on;
declare
v_school school%rowtype;
begin update school set name1='tes2t' where name1='s' ; dbms_output.put_line(sql%rowcount||'ss');
commit;
end;
/
3. 执行DDL 语句
在pl/sql 中执行sql语句方法
三、 判断语句
set serveroutput on; declare
v_num number(20) :=1399;
begin
if (v_num <1200) then
dbms_output.put_line('low');
elsif(v_num<1800) then
dbms_output.put_line('middle');
else
dbms_output.put_line('high');
end if;
end;
/
四、 循环
set serveroutput on;
declare
i number(20) :=1;
begin
loop
dbms_output.put_line('nihao'||i);
i:=i+1;
exit when (i>=5);
end loop;
end;
/
set serveroutput on;
declare
i number(20) :=1;
begin while (i<=5) loop
dbms_output.put_line('nihao'||i);
i:=i+1;
end loop;
end;
/
正序for循环
set serveroutput on;
declare
i number(20) :=1;
begin
for a in 1..9 loop
dbms_output.put_line(a);
end loop;
end;
/
反序for循环
begin
for a in reverse 1..9 loop
dbms_output.put_line(a);
end loop;
end;
/
注意:无论是正序还是反序for循环 循环的数字必须是从小到大排列如1..9
五、 错误处理
set serveroutput on;
declare i number(20) :=1;
v_name varchar(20) :='';
begin
select name1 into v_name from school where name1='ss'; exception
when no_data_found then
dbms_output.put_line('没有数据');
when others then
begin
dbms_output.put_line('未知错误');
end;
end;
/
SQLCODE SQLERRM 关键字代表出错代码和出错信息。 set serveroutput on;
declare
i number(20) :=1;
v_name varchar(20) :='';
begin select name1 into v_name from school where name1='ss'; exception
when no_data_found then
dbms_output.put_line('没有数据'||SQLERRM || SQLCODE); when others then
begin
dbms_output.put_line('未知错误');
end;
end;
/
矩形:有一个角是直角的平行四边形叫做矩形,也说是长方形矩形的性质:矩形的四个角都是直角;矩形的对角线相等矩形的对角线相等且互相平分…
四边形知识点总结大全一基本概念:四边形,四边形的内角,四边形的外角,多边形,平行线间的距离,平行四边形,矩形,菱形,正方形,中心对…
新课标人教版八年级数学知识点总结第十九章四边形一、平行四边形:㈠.平行四边形定义:有两组对边分别平行的四边形叫做平行四边形。㈡.平…
(一)平行四边形的定义、性质及判定.1.两组对边平行的四边形是平行四边形.2.性质:(1)平行四边形的对边相等且平行;(2)平行四…
总体上必须清楚的:1)程序结构是三种:顺序结构,循环结构(三个循环结构),选择结构(if和switch)2)读程序都要从main(…
20xx—20xx学年度第一学期学校总务后勤工作是学校工作的重要组成部分,与教学一样,是学校的两大支柱之一,同时具有鲜明的服务保障…
20xx年个人工作总结转眼之间,我在氯酸维修工段已经工作一年了,这是一段短暂而愉快的时光,在维修工这个舞台上,我得到了成长。回首过…
新兴路支行20xx年反假币宣传月活动总结分行:按照《关于开展20xx年反假货币宣传月活动的通知》(长银咸办发〔20xx〕297号)…
年终个人总结20xx年设备部的工作已经接近尾声,回顾即将过去的一年,在部门经理和主管的指导帮助下,我的业务技能突飞猛进,同时在经理…
20xx年x月x日一、学生情况分析:学生们天真。活泼好动,很喜欢兴趣小组活动。要利用兴趣小组活动的有利的时机,为学生身心的发展打好…