Oracle数据库基础知识点

这篇博客详细介绍了Oracle数据库的基础知识,包括数据类型、CRUD操作、单行函数、视图及其DML操作。重点讲解了PL/SQL的用途、基本格式、变量、运算符、流程控制、游标、数组、存储过程等内容,是学习Oracle数据库的好资源。
摘要由CSDN通过智能技术生成

Oracle数据库基础知识点

本人的随堂笔记,整理不全,如有错误请指点,谢谢啦

一. Oracle简介

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。 --来源百度百科


二.数据类型

oracle的数据类型与mysql相差不大,但是需要注意以下几种常用类型
number(p,s) 一般用于数字,P为长度,最大38;S为精度,范围-87~127
varchar 可变类型,可不指定长度
varchar2 使用时必指定长度,最大4000字节
char 默认情况为1字节,最大为2000字节
long 长整型,最大长度为2GB


三.建表查询语句(CRUD)

1.新增

insert into 表面(字段名1,字段名2,…)values(字段值1,字段值2,…);

2.删除

删表
drop 表名;

删字段
alter table 表名 drop 字段名;

删除一列字段
alter table 表名 drop column 列名;

删除一条数据
delete from 表名 where 列名=

3.修改

修改字段
alter table 表名 modify(修改的字段名 数据类型 是否为空 值);

修改数据
update 表名 set 要修改的数据 where 修改的数据名

4.查询

基础语法
select 查询内容 from 表名

升序降序
升序order by 字段 asc
降序从大到小order by 字段 desc
如若取第一条数据limit 0,1

条件查询

select  查询内容 from 表名
where    or   not  between...and

分组查询group up
select后只有两种表达式:统计函数(sum等)和分组的组名
在select后的组名必须是要分组的组名
如果有where条件的情况下,必须先满足where条件

having
用法同where,可添加数学函数,如COUNT,MAX等

like模糊查询
模糊查询,其中_(下划线) 表示一个字符,"%“表示有多个字符,
若需要搜索带有”_"下划线的名字,需要在后面写上escape ‘’
实例 like ‘%_%’ escape ‘’

多表查询
内联查询
左外联查询left join
右外联查询right join
完全外连接 full join
select * from student full join score where student.Num=score.Stu_id;
内连接inner join

select * from student inner join score where student.Num=score.Stu_id;

四.单行函数

concat字符串连接
concat(‘hello’,‘world’)输出结果为helloworld

substr字符串取出某一个或几个字符
substring(‘helloworld’,2,4)结果为ello
第一个值(2)表示从第二个字符开始
第二个值(4)表示输出4个

length()获取长度

instr 字符串中的某个字符首次出现的位置
instr(‘hello’,‘l’)输出结果为3

lpad右对齐
语法lpad(某个字段名(例salary),显示位数(例 10) , 如果不足位数用或者’ '(空格)补齐
例子lpad(salary,10,
)结果为******1000

rpad左对齐,与右对齐同理

trim 将一个字符从另一个字符串中移除(只能去除首位的)
例子 trim(‘h’ from ‘hehllo’) 输出结果为ehllo

replace将字符串中的某个字符取代另一个
例子 replace(‘abcd’,‘a’,‘b’)输出结果为bbcd

round保留小数
例子 round(435.45,2) 435.45
round(435.45) 435
round(435.45,-2) 400

months_between()用于判断相差几个月
列子months_between(第一个时间点,hire_date)

add_months向指定日期加上几个月
例子add_months(sysdate,2)

next_day从指定的时间点,往后找到最近的
例子next_day(sysdate,‘星期日’)

last_day 指定时间点的月份的最后一天
例子last_day(sysdate)

to_char 多用于将日期转换为varchar2,也可将数字转换
可以在格式数字前加L或者$,L表示当地的货币符号
tochar(sysdate,‘yyyy-mm-dd’)
tochar(1234567,‘999,999,999.99’) 1,234,567
tochar(123456,‘000,000,000.99’) 001,234,567

to_date多用于将varchar类型转换为date
to_date(‘1994-06-07’,‘yyyy-mm-dd’)

nvl(a,b)若A查询结果为空值,则使用B来代替,a和b的数据类型要一致
nvl2(a,b,c)若A不为空,返回B;若A为空,返回C
nullif(a,b)相等时返回null,不相等时返回a

coalesce(a,b,c....)如果第a为空,返回b;如果b为空返回c;如果c为空返回d,依次下去


五.视图

1.基础语法(简单视图)

仅能一个表,无法使用函数和分组,可以进行DML操作
create view view_name as 查询语句;
查询语句中允许字段别名

2.with read only 拒绝修改,仅查询 加在查询语句最后

3.复杂视图

可以多个表,能够使用函数,可以进行分组,

create  or replace view testview2
	as
		select d.name,avg(salary) avg_s from
		test t,dep d
		where t.depno = d.depno
		group by d.name;

3.DML操作

有group by,distinct,rownum不能进行新增修改删除

4.视图的操作

drop view 视图名;


六.TOP分析

TOP-N分析查询一个列最大或者最小的N个值
涉及分页查询
针对rownum只能使用<,或<=,而用=,>,>=都不能返回任何数据


七.PL/SQL(重点)

1.用途

提高sql功能嵌入在ORACLE中对sql进行扩展的编程语言

基本格式

基本格式
declare–声明部分(可选)
用于声明 变量 常量,游标,子程序
begin 程序主题开始 必选
合法的PL/SQL语句
excepaction —异常处理 可选
end;------------end后有分号,结束PL/SQL代码 必选<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值