参考文章:https://www.cnblogs.com/linjiqin/category/349944.html

数据库分类

1.小型数据库:access、foxbase

2.中型数据库:inormix、sqlserver、mysql

3.大型数据库:sybase、db2、oracle

项目合理的使用数据库,参考原则:

1.项目规模

2.负载量、即用户量

3.成本

4.安全

小型数库:

1.负载小,大概100人左右

2.案例:留言板、信息管理系统

3.成本低、千元左右、安全性低

中型数据库:

1.负载量:日访问5000 - 10000

2.成本:万元内

大型数据库:

1.海量负载,可以处理海量数据(sybase < oracle < db2 数据处理能力)

2.安全性高,价格昂贵

Oracle 入门

1.oracle 默认的管理员 sys 、sysdba

创建用户: create user 用户名 identified by 密码;

create user test identified by test;

修改用户密码: alter user 用户名 identified by 新密码;

alter user test identified by ;

删除用户:drop user 用户名【cascade】;

drop user test;

给用户赋予角色

grant connect,resource to test; 

不同用户之间的对象权限授权

grant select on scott.emp to test;
revoke select on scott.emp from test;

Oracle 命名规则

1.必须以字母开头

2.长度不能超过30个字符

3.不能使用保留字

4.只能使用字符:a-z A-Z 0-9 # $

数据类型:

char 固定长度

varchar2(N) 长度可变

number 数字类型

date

timestamp

blob 二进制数据

Oracle 分页:

分页通过rownum 字段实现

select e.*,rownum rw from  emp e where rownum< ;

存储过程

存储过程执行特定的操作,可以指定输入参数、输出参数

create procedure sp_update(empno number) IS
begin
update emp set ename = 'baizhuang' where empno = empno;
end;
exec sp_update();
commit;

视图

视图是一张虚拟表,内容有查询定义,视图是动态生成的,并不是真实存在的

--定义视图
create view v_emp as
select * from emp;
--scott权限不足定义视图,转换为sys 给scott授权
grant resource,dba to scott;
--使用视图
select * from v_emp;

触发器

触发器是在定义的条件成立时,触发器里面的定义语句就会自动执行, 触发器不需要人为调用。触发器分为:语句级触发器、行级触发器

create or replace tigger t_emp before delete
on emp
for each row
begin
  insert into log(msg) values('emp 又执行删除任务了');
end;

语句清单:

--c创建用户 test 密码 test
create user test identified by test;
--修改密码为
alter user test identified by ;
--删除用户
drop user test;
--权限 保留用户权限(connect、resource、dba)、对象权限(insert、delete、pudate、select)
--获取 oracle 数据库对象
SELECT * FROM Dba_Object_Size;
--给用户赋予角色
grant connect,resource to test;
--权限传递 ,不同用户之间授权访问表
grant select on scott.emp to test;
--收回权限
revoke select on scott.emp from test; select * from emp;
select * from dept;
select count(*),avg(sal) from emp;
--oracle 分页通过 rownum
select e.*,rownum from emp e;
--对 emp 分页
select e.*,rownum rw from emp e where rownum< ; --建立存储过程
create procedure sp_update(empno number) IS
begin
update emp set ename = 'baizhuang' where empno = empno;
end; --执行存储过程
exec sp_update();
commit;
--测试sql
update emp set ename = 'BA' where empno = '';
--定义视图
create view v_emp as
select * from emp;
--scott权限不足定义视图,转换为sys 给scott授权
grant resource,dba to scott;
--使用视图
select * from v_emp;
--使用触发器
create or replace trigger t_emp before delete
on emp
for each row
begin
insert into log(msg) values('emp 又执行删除任务了');
end; --创建 log 表
create table log(
msg varchar2()
);
--执行删除 出发 tigger
delete from emp where empno = ;

Oracle 基本语法、触发器、视图的更多相关文章

  1. .Net程序员学用Oracle系列(7):视图、函数、过程、包

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.视图 1.1.创建视图 2.函数 2.1.创建函数 2.2.调用函数 3.过程 3.1.创建过程 3.2.调用过程 4.包 ...

  2. .Net程序员学用Oracle系列(23):视图理论、物化视图

    1.视图理论 1.1.视图的存储 1.2.视图的作用 1.3.视图的工作机制 1.4.视图的依赖性 1.5.可更新的连接视图 1.6.内联视图 2.物化视图 2.1.刷新物化视图 2.2.物化视图日志 ...

  3. .Net程序员学用Oracle系列(7):视图、函数、存储过程、包

    1.视图 1.1.创建.删除及调用普通视图 1.2.高级视图介绍 2.函数 2.1.系统函数介绍 2.2.创建.删除及调用自定义函数 3.存储过程 3.1.创建.修改及删除存储过程 3.2.调用存储过 ...

  4. ORACLE| ORACLE基础语法汇总

    创 ORACLE| ORACLE基础语法汇总 2018-07-18 16:47:34 YvesHe 阅读数 9141更多 分类专栏: [数据库]   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  5. ORACLE 创建与使用视图

    一.what(什么是视图?) 1.视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询 ...

  6. ORACLE基本语法

    ORACLE基本语法 一.ORACLE的启动和关闭1.在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oraclea.启动ORACLE系统oracle>s ...

  7. Oracle 创建和使用视图

    一.what(什么是视图?) 1.视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询 ...

  8. 【转载】oracle更新语法

    oracle更新语法:1.一般语法   update tab set col = .... [where ...]   =后可以有子查询,但是必须对于tab的每一列返回唯一一行与之对应,where是需 ...

  9. mysql与oracle的语法对比

    数据类型 编号 ORACLE MYSQL 注释 1 NUMBER int / DECIMAL DECIMAL就是NUMBER(10,2)这样的结构INT就是是NUMBER(10),表示整型:MYSQL ...

  10. Oracle存储过程语法

    原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名  ...

随机推荐

  1. #20175120彭宇辰 java第五周学习总结

    第六章 接口与实现 教材学习内容总结 接口-接口声名interace -接口体1.只有常量声明和抽象方法2.所有常量和方法的访问权限都为public3.常量都为static常量4.可省略pulic\s ...

  2. MyCat配置详解

    MyCAT 配置解析 server.xml Mycat的配置文件,设置账号.参数等schema.xml Mycat对应的物理数据库和数据库表的配置rule.xml Mycat分片(分库分表)规则 一 ...

  3. Windows下将文件打包压缩成 .tar.gz格式

    1.下载 “7-ZIP”,安装完成后进入需要打包的文件夹 2. 右击选择“添加到压缩包” 3.压缩格式:tar 4. 得到.tar文件,将其打包 5. 压缩格式为:gzip 6. 得到tar.gz格式 ...

  4. 使用lite-server

    进入项目根目录,执行下列步骤 安装lite-server npm install lite-server 新建配置文件bs-config.json bs-config.json中可以: 指定监听的端口 ...

  5. instant client 的配置

    instant client 的配置 oracle server developer自带了客户端 解压目录:D:\Toolkit\instantclient_11_2 设置环境变量 Ø  在Path变 ...

  6. <realsense D400>同步采集深度图和彩色图

    利用深度相机采集深度图和彩色图会面临一个问题,如何实现同步采集数据? 以下是我搜集到的两点方法: 1)高翔博士提到他的orbslam2教程有这么一步工作,具体目录为 example/RGBD/. (等 ...

  7. 安装JVCL/JCL组件

    在安装的时候,注意要先安装JCL,我试图直接安装JVCL,提示找不到文件,先安装JCL后再安装就不存在这个问题.安装到组件面板上的安装包以D结尾,可以Install,以R结尾的只要编译就可以了. 安装 ...

  8. 寻找二叉树中的最低公共祖先结点----LCA(Lowest Common Ancestor )问题(递归)

    转自 剑指Offer之 - 树中两个结点的最低公共祖先 题目: 求树中两个节点的最低公共祖先. 思路一: ——如果是二叉树,而且是二叉搜索树,那么是可以找到公共节点的. 二叉搜索树都是排序过的,位于左 ...

  9. solr6.4.1搜索引擎(3)增量同步mysql数据库

    尚未实现首次同步mysql数据库的,请参考我的另一篇文章http://www.cnblogs.com/zhuwenjoyce/p/6512378.html(solr6.4.1搜索引擎同步mysql数据 ...

  10. C++Primer第五版——习题答案详解(二)

    习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第3章 字符串.向量和数组 练习3.2 一次读入一整行 #include<iost ...