Oracle基础

目录

1.Oracle用户

1.1 Oracle常用用户

1.2 常用角色

1.3 用户的创建

2.表

2.1 表空间

2.1.1 创建表空间

2.1.2 删除表空间

2.2 表

2.2.1 Oracle常用数据类型

2.2.2 创建表

2.2.3 增删改查

2.2.4 常见约束

3.Oracle函数

3.1 字符函数

3.2 数值函数

3.3 转换函数

4.序列

4.1 创建序列

5.存储过程和存储函数

5.1 存储过程

5.2 存储函数


1.Oracle用户

1.1 Oracle常用用户

(1)sys 超级用户:它是Oracle中的超级账户,权限最大
(2)system系统管理员:权限小于sys用户,一般用来创建用户
(3)scott用户:它是Oracle中的实例用户,提供学习oracle操作的数据表,例如emp,dept,scott用户在初始状态是锁住的,需要使用上面两个用户对其进行解锁

1.2 常用角色

connect      --连接角色【赋予登录权限】(只读)
resource     --开发者角色【只能访问和修改自己用户下的资源】
dba              --管理员角色【数据库管理员,访问和修改所有用户下的所有对象】

1.3 用户的创建

示例:

2.表

2.1 表空间

        Oracle中,用户创建和修改自己所属的表时,需要定义所使用的表空间,表空间内存放着所属用户的表的数据。这主要是用于区分不同用户的访问权限。

2.1.1 创建表空间

create tablespace xxx            --(xxx)为表空间名
datafile ‘/data/oracle/oradata/orcl/xxx_space.dbf’   -- 定义数据文件
size 100m                      --表空间初始大小
autoextend on     -- 自动增长,满时自增长
next 10m                       --每次增长的大小

2.1.2 删除表空间

drop tablespace xxx      --(xxx)为表空间名

2.2 表

2.2.1 Oracle常用数据类型

varchar2     字符串类型
number      数值类型
date         日期类型

注:创建字段时不能直接设置自增长
插入日期类型的方式比较特别:

2.2.2 创建表

        与mysql创建表类似,删除也是一样的

2.2.3 增删改查

        与mysql类似,有一些小区别,需要手动提交事务

        不写commit也可以点击plsql上面的提交事务

        使用plsql修改表时,先用select,再点小锁标志

2.2.4 常见约束

 

3.Oracle函数

3.1 字符函数

3.1.1 拼接 concat(str1,str2) 或者str1||str2||...

concat只能使用两个参数,但||可以拼接多个

3.1.2 首字母大写 initcap

3.1.3 全部转大写/小写 upper/lower

3.1.4 去除字符串首尾空格trim

3.1.5 截取字符串substr(str,start[,length])

从1开始,不写length参数默认到结尾,如果超出也到结尾

3.1.6 替换字符串 replace(str_old,str_beReplaced,str_new)

3.2 数值函数

3.2.1 绝对值abs

3.2.2 向上取整 ceil

3.2.3 向下取整 

3.2.4 四舍五入取整round

3.3 转换函数

1 数字转字符串 to_char(number)
2 日期转字符串to_char(date,格式)
3 字符串转日期 to_date(‘字符串,格式)
4 字符串转数字 to_number(‘
字符串

4.序列

4.1 创建序列

create sequence seq_test; --seq_test是序列名称

4.2 调用序列

select  seq_test.nextval  from dual; --序列名.nextval使序列指针指向下一个数字,并将该值返回出来

4.3 使用序列

create table test2(

       tid number primary key,

       tname varchar2(10)

);

insert into test values(seq_test.nextval,'zs');

5.存储过程和存储函数

5.1 存储过程

5.1.1 定义

        实际上是封装在服务器上一段SQL代码片段

5.1.2 语法

create [or replace] procedure 存储过程名(参数名1 in  参数类型, 参数名2 in 参数类型)
is
--声明部分
begin
--业务逻辑
end;

5.1.3 示例

创建存储过程:

--给指定员工涨薪,并打印涨薪前和涨薪后的工资;备注:员工编号(vempno )     涨多少(vnum )
create or replace procedure proc_updatesal(vempno in number,vnum in number)
is
     vsal number; --声明临时变量,记录当前工资
begin
     --查询当前的工资     
     select sal into vsal from emp where empno = vempno;   -- 第一次赋值行为[sal赋给vsal]
     --输出涨薪前的工资    
     dbms_output.put_line('涨薪前:'||vsal);
     --更新工资
     update emp set sal = vsal +vnum where empno = vempno;  --第二次赋值行为
     --输出涨薪后的工资
     dbms_output.put_line('涨薪后'||(vsal+vnum));
     -- 提交事务
     commit;
end;

调用存储过程:
第一种方式:

 第二种方式:

 

5.1.4 删除存储过程

5.2 存储函数

5.2.1 定义

        实际上是封装在服务器上一段SQL代码片段,通过return返回函数值

5.2.2 语法
create [or replace] function 存储过程名(参数名1 in  参数类型[, 参数名n int 参数类型])  return 参数类型
is
--声明部分
begin

--业务逻辑
end;

5.2.3 示例

删除也用drop,不赘述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值