oracle复习

发布 2021-04-27 21:20:28 阅读 7935

oracle网络关系型数据库,(mysql、sqlserver)

角色:dba、resource、connect

创建用户:create user kuang2 identified by 123456;

赋权:1.赋予用户角色grant connect,resource to kuang2;

2.赋予用户权限grant create session,create tablespace to kuang2;

数据类型:char(n)固定字符、varchar2(n)可变长度的字符串、clob字符数据(存储大的字符数据)

number(p,s) p为整数位,s为小数位。

date日期(日-月-年)dd-mm-yy(hh-mi-ss)

timestamp日期(日-月-年)dd-mm-yy(hh-mi-ss:ff3)ddl

创建表:create table表名(

字段名称数据类型约束,);

create table userinfo(id number primary key,age number,sex char(1) not null);

删除表drop table表名;

表空间:1.创建表会放在用户的默认表空间里面,users2.表空间是数据库的逻辑划分,用来存放表3.创建表空间。

create tablespace platform

datafile 'd:\oracle\user_'-数据库表空间存放文件地址size 10m--初始容量大小。

autoextend on--自动扩展。

next 10m maxsize 100m--自动扩展容量大小,最大到100m

extent management local;--存放在本地。

数据完整性约束。

1.实体完整性保证的主关键字不为空且不重复primary key主键。

2.域完整性保证表中数据的合理性check检查default默认not null不为空。

unique唯一约束,与主键不同的是可以为空。

3.参照完整性指建立两个关系表之间的主外键的约束foreign key外键。

4.用户自定义完整性使用触发器来编写约束。

3.数据库的dml dql

增insert into表名(列名列表) values(值列表)--创建序列。

create sequence seq_userinfominvalue 1

maxvalue 9999999start with 21increment by 1cache 20;

select seq_ from dual; -查询当前序列值select seq_ from dual; -查询下一个序列值删。

delete from表名where条件截断表。

truncate table表名。

改。update表名set列名=值where条件查。

select列名from表名where条件。

代表所有列名。

模糊查询like‘数据%’%任意字符。

4.高级查询。

子查询:将一个查询结果作为另一个查询的条件。

内连接:查询必须有关联的数据inner join

左外连接:以左表为主,匹配右表,右表无数据显示为nullleft join

右外连接:以右表为主,匹配左表,左表无数据显示为nullright join全连接:

全部连接,无数据显示为nullfull join

排序:order byasc:正序desc:降序。

分组: group by筛选:h**ing

只能显示分组字段或使用聚合函数。

并集:union all将多个查询结果集放在一起,不去重,但是结果集的字段返回数据类型和列的个数都必须保持一致。

union将多个查询结果集放在一起,自动去重,但是结果集的字段返回数据类型和列的个数都必须保持一致函数:聚合函数:

count计数sum求和**g求平均值。

min最小值max最大值。

日期函数:sysdate系统当前日期。

extract从指定时间提取指定日期部分。

转换函数。to_char将数值型转换为字符型数据,fmt为指定格式。

示例: to_char(sysdate,’yyyy-mm-dd’)

to_date将字符串转换为日期类型数据, fmt为指定格式。

示例:to_date(‘2016-7-7’,’yyyy-mm-dd’)

plsql是一个过程语言,能够结构化的组织sql块,与sql不同之处在于能够写业务逻辑。

语法:declare

-声明变量begin --语句开始--业务逻辑。

exception --异常处理。

end--语句结束。

变量类型:boolean

rowtype代表一行数据类型%type属性类型值。

运算符:|连接字符串and并且or或者。

赋值:1.:=赋值运算符。

列名into变量名from表名分支语句:

if表达式thenelsif表达式thenelseend if;

case表达式。

when常量值thenend case;

循环语句:loop

exit when表达式;end loop;

while表达式loopend loop;

for变量in 1..50loopend loop;

6、事务、视图、索引、游标。

1.事务。描述的是数据库数据从一种状态改为另外一种状态。作用保持数据库的数据完整性。特性:

1.原子性2.一致性3.隔离型4.永久性。

命令语句:commit提交rollback回滚s**epoint保存点rollback to保存点。

2.视图。由一张或多张组成的虚拟的表,本身不包含数据,数据**于基表。

create view视图名as查询语句;

3.索引。索引是关系数据库中用于存放每一条记录的一种对象,作用是用来提高查询效率。

创建索引。create index索引名称on表名(列名);

唯一索引:create unique index索引名称on表名(列名);

1.主键其实包含了索引。

2.唯一索引,值可以为null,但是如果有null值的数据,索引不会被使用。

4.游标。数据库内存存放的一个结果集。

使用游标:- for遍历游标,不必明确的打开游标declare

cursor c_job is

select * from emp e where = manager';c_row c_job%rowtype;begin

for c_row in c_job loop

dbms_ loop;end;

7、存储过程、触发器、函数。

存储过程是存放在数据库的一段plsql**块,它一经创建就会编译。存储过程:

create procedure存储过程名称(输入,输出)as

变量定义begin

业务逻辑end;

-创建带有输入输出参数的存储过程,此种不能直接使用call来调用。create or replace procedure stu_proc4(pnoin

sname out asbegin

select stu_name into sname from student where stu_id = pno;dbms_

自定义函数:

create function方法名称(输入,输出)return数据类型is

变量定义begin

业务逻辑end;

-自定义函数。

create or replace function fc_demo_stu(sid in

return varchar2 is

sname

select stu_name into sname from student where stu_id = sid;return (sname);end;

触发器:当做一件事的时候同时触发另外一段plsql**块。

1.触发事件2.触发时间3.触发对象4.执行过程。

对象:old访问已经被删除或者修改的数据:new访问新增,修改后的数据。

8、分页。将数据分页显示。

好处:1.减少数据库访问压力2.方便定位查询数据。

分页思想:-1.将查询的结果集(虚拟表),作为第二次查询的表。

-公式:大于(页码数-1 *显示行数)and小于等于(页码数*显示行数)select *

from (select a.*,rownum as r from accountinfo a) a2where > 1-1)*5

and <=1*5;

分页所用关键字:

rownum

oracle复习

oracle数据库的主要特点。支持多用户 大事务量的事务处理。数据安全性和完整性控制。支持分布式数据处理。可移植性。oracle服务器提供开放 全面和综合的信息管理,它由oracle数据库和oracle实例组成。管理数据库的后台进程和内存结构的集合称为 oracle 实例 oracle 数据库是一个...

Oracle复习

一 创建用户。在yggl数据库中创建一个用户manager,授予dba角色和sysdba系统权限,它可以替代system系统用户。connect system 123456 as sysdab create user manager profile default identified by man...

Oracle复习

oracle数据库管理与编程知识点。1.关系数据库基本理论 oracle应用结构。2.oracle体系结构 实例内存管理 sga pga 逻辑存储结构 表空间 段 区 块 物理存储结构 数据文件 控制文件 其他文件 3.sql plus工具的使用 设置环境变量 命令的编辑导入导出 查询结果格式化等 ...