Oracle基本理论

l  主流数据库

微软公司:SQL Server  ACCESS

IBM公司:DB2  infomix

Oracle公司:Oracle  MySQL(AB公司)

小型数据库

ACCESS

FoxBase

开发人数:100人

访问量:10人/秒

开发成本:1000元

中型数据库

SQL Server

My SQL

Infomix

开发人数:1000人

访问量:500人/秒

开发成本:10000元

大型数据库

Oracle

DB2

开发人数:3.6万

访问量:海量

开发成本:无上限

l  数据库发展史

层次型数据库网络型数据库

关系型数据库:

1970年 IBM公司研究员E.F.Codd博士奠定了关系型数据库的理论基础

1978年Oracle公司CEO 拉里.艾利森开发了第一个商用大型关系型数据库 Oracle

1983年 IBM公司推出DB2

l  Oracle版本

Oracle9i(internet互联网)-Oracle10g(grid网格化)-Oracle11g-Oracle12c(Cloud云)

l  Oracle平台工具

SQL Plus

PLSQL developer

l  Oracle服务 services.msc

OracleXXXXXXTNSListener—第三方工具监听服务:1521

OracleServiceXXXX-核心服务(物理运行结构-SGA  XXXX实例数据库)

l  Oracle账户

n  系统账户

u  sys         角色:sysdba  主人可以create database

u  system          角色:sysoper大管家不可以create database

u  scott角色:normal 实例用户大管家给他什么权限,他就有什么权限

切换一个账户:

Conn scott/123456

Conn 用户名/密码

查看SCOTT用户下表的数据字典:

Desc emp;

Desc 表名

查看SCOTT用户下的表内容:

Select * from emp;

Select * from 表名

l  自定义账户 conn system/123456;

创建账户

--创建一个用户

createuser rose identified by123456

修改账户

--修改一个用户的密码

alter user rose identified by 123456;

--解锁一个用户

alter user rose account unlock;

--修改用户向表空间插入数据的限制

alteruser rose quota 1m on users

账户授权

--授予链接数据库的权限

grant create session to rose;

grant createtableto rose;

grant create session ,createtableto rose

删除账户

drop user rose;

ORA-01940: 无法删除当前连接的用户

select username,sid,serial# from v$session;

alter system kill session '8,836';

ORA-01922: 必须指定 CASCADE 以删除 'ROSE'

drop user rose cascade;

创建表

?????

l  权限

n  系统权限select * from system_privilege_map;

语法:

授权:grant 系统权限|角色|ALL to 用户

撤销权限:revoke系统权限|角色|ALLfrom用户

n  对象权限select * from table_privilege_map;

语法:

授权:grant 对象权限|ALL on 对象 to 用户

撤销权限:revoke对象权限|ALL on 对象 from 用户

案例一:学生管理系统student(stuno 
integer, stuname varchar2(10),stuBir date,stuSex char(3) );

步骤一:创建一个表空间

--创建一个表空间

create tablespace demoschool

datafile
'D:/demoschool.dbf'

size 5m

autoextend
on

步骤二:创建一个实例账户,管理表空间

create user lily identified
by 123456 default tablespace demoschool;

alteruser lily identified by123456default
tablespace demoschool

步骤三:授予实例账户系统权限

骤四:登录这个账户

步骤五:建立student表

步骤六:表中插入2条数据

步骤七:查询学生名字

步骤八:修改学生信息

步骤九:删除学生

步骤十:把表删除

执行物理路径中的sql脚本

@
D:/school.sql

Start  D:/school.sql

删除表空间

drop tablespace demoschool;

--连硬盘中的物理文件一起删除

drop tablespace demoschool including contents and datafiles;

Oracle数据库的主要数据类型

一字符串类型

Char 固定长度字符CHAR字段最多可以存储2,000字节的信息。

VARCHAR2类型可变长度类型VARCHAR2最多可以存储4,000字节的信息。

二. 数字类型

NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间。

P 是Precison的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38个有效数字

S是Scale的英文缩写,可以使用的范围为-84~127。Scale为正数时,表示从小数点到最低有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数

INTEGER类型INTEGER是NUMBER的子类型,它等同于NUMBER(38,0),用来存储整数。若插入、更新的数值有小数,则会被四舍五入。

FLOAT类型FLOAT类型也是NUMBER的子类型。

Float(n),数 n 指示位的精度,可以存储的值的数目。N 值的范围可以从 1 到 126。若要从二进制转换为十进制的精度,请将 n 乘以 0.30103。要从十进制转换为二进制的精度,请用 3.32193 乘小数精度。126 位二进制精度的最大值是大约相当于 38 位小数精度。

三. 日期类型

DATE是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。为每个日期值,Oracle
存储以下信息:世纪、年、月、日期、小时、分钟和秒。一般占用7个字节的存储空间。

TIMESTAMP类型

这是一个7字节或12字节的定宽日期/时间数据类型。它与DATE数据类型不同,因为TIMESTAMP可以包含小数秒,带小数秒的TIMESTAMP在小数点右边最多可以保留9位

四. LOB类型

CLOB 数据类型

它存储单字节和多字节字符数据。支持固定宽度和可变宽度的字符集。CLOB对象可以存储最多 (4 gigabytes-1) * (database
block size) 大小的字符

BLOB 数据类型

它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件。BLOB对象最多存储(4 gigabytes-1) * (database block
size)的二进制数据。

五. RAW & LONG RAW类型

LONG类型它存储变长字符串,最多达2G的字符数据(2GB是指2千兆字节,而不是2千兆字符),与VARCHAR2
或CHAR 类型一样,存储在LONG 类型中的文本要进行字符集转换。

2017-10-31 18:30:59

Oracle 笔记(一)的更多相关文章

  1. Oracle笔记 目录索引

    Oracle笔记 一.oracle的安装.sqlplus的使用 Oracle笔记 二.常用dba命令行 Oracle笔记 三.function .select Oracle笔记 四.增删改.事务 Or ...

  2. Oracle笔记(1) 简单查询、限定查询、数据的排序

    Oracle笔记(四) 简单查询.限定查询.数据的排序   一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及 ...

  3. 韩顺平Oracle笔记

    韩顺平Oracle笔记 分类: DataBase2011-09-07 10:24 3009人阅读 评论(0) 收藏 举报 oracle数据库sqljdbcsystemstring   目录(?)[-] ...

  4. Oracle笔记 多表查询

    Oracle笔记  多表查询   本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查 ...

  5. 转:oracle笔记

    oracle笔记1 卸载oracle developer server的方法: 1-1 oracle卸载工具中卸载对应的oracleds项目:在注册表中搜索ORACLEDS HOME对应的别名,删除对 ...

  6. Oracle笔记(六) 多表查询

    最近看了李兴华的oracle视频,这是网上别人做的笔记非常细致,分享给大家,第六篇 原创地址:http://www.cnblogs.com/mchina/archive/2012/09/07/2651 ...

  7. Oracle笔记二

    一.数据库语言分类  二.DML之数据插入 把一个表中的数据查询出来插入另外一个表中. create table student(id number,name varchar2(20),age num ...

  8. oracle笔记一

    一.Oracle简介 1.Oracle属于关系型数据库,是一款可以在Client/Server模式下运行的RDBMS产品.2009年,Oracle公司收购SUN. 2.Oracle是对象关系型数据库管 ...

  9. oracle笔记

    一.sql*plus常用命令 (1)connect 用法:conn 用户名/密码@网络服务名[as sysdba/sysoper] 当特权用户连接时,必须带上as sysdba或是as sysoper ...

  10. Oracle笔记3-高级查询

    高级查询 1.关联查询 作用:可以跨多表查询 --查询出员工的名字和他所在部门的名字 //错误//select first_name,name from s_emp,s_dept; //错误原因:产生 ...

随机推荐

  1. Java注解demo

    # 为了熟悉了解注解,写的一个小demo# demo的主要功能是扫描一个class中的包含我们自定义注解的方法,然后把他们的返回值放到一个map中 public class QQ { public s ...

  2. windows静态路由

    本机:192.168.1.10 本机网关:192.168.1.254 目的IP:188.1.1.10 指定网关:192.168.1.107 最多跳数:10跳 route  -p  add  188.1 ...

  3. centos7 nginx 代理

    2019/06/05 15:00:23 [crit] 4332#4332: *1 connect() to 127.0.0.1:8080 failed (13: Permission denied) ...

  4. 用Python实现九九乘法表打印

    #!usr/bin/env python # -*- coding:utf-8 -*- # dic={ # 'apple':10, # 'iphon':5000, # 'wwatch Tv':3000 ...

  5. 微信里关闭窗口 js

    需要在微信中关闭页面窗口,不过window.close()不管用,问过群里才知道微信有自带的方法能关闭窗口,记录一下(这个只针对微信有效哦): WeixinJSBridge.call('closeWi ...

  6. LOJ-6284-数列分块入门8

    链接: https://loj.ac/problem/6284 题意: 给出一个长为 的数列,以及 个操作,操作涉及区间询问等于一个数 的元素,并将这个区间的所有元素改为 . 思路: 维护一个分块是否 ...

  7. 线程异步更新UI

    winform程序一般是不允许非主线程操作ui,单可以通过线程与委托的方式并结合Control类提供的BeginInvoke机制进行ui更改 如下,这是更新ui的方法 private void upU ...

  8. java web文件上传功能实现

    核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...

  9. #5 DIV2 A POJ 3321 Apple Tree 摘苹果 构建线段树

    Apple Tree Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 25232   Accepted: 7503 Descr ...

  10. gwyh 测试赛 验题人 - 题解 (非std做法)

    测试赛 - ljc20020730 解题报告 标签(空格分隔): solution Task A Tiat's easy question 首先,判断图中是否存在长度为奇数的环等价于判断图是否为二分图 ...