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. 使用ajax上传图片,并且使用canvas实现出上传进度效果

    前端代码: <%@ page contentType="text/html;charset=UTF-8" language="java" %> &l ...

  2. qt5-QWidget坐标系统和大小和展示区域

    #include "win.h" #include <QPushButton> #include <QLabel> #include <QDebug& ...

  3. mysql自动化审核工具Yearning

    mysql自动化审核工具Yearning cd /opt/wget https://github-production-release-asset-2e65be.s3.amazonaws.com/10 ...

  4. shell练习--PAT试题1010:一元多项式求导 (25 分)(失败案例喜加一)

    ---恢复内容开始--- 1010 一元多项式求导 (25 分) 设计函数求一元多项式的导数.(注:x​n​​(n为整数)的一阶导数为nx​n−1​​.) 输入格式: 以指数递降方式输入多项式非零项系 ...

  5. 随机验证码生成和join 字符串

    函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符) ...

  6. QT:设置布局边缘

    QHBoxLayout * horizontalLayout = new QHBoxLayout; //setContentsMargins(int left, int top, int right, ...

  7. tp5商城

    记录几个要点: 用户使用firbug伪造表单字段,比如伪造表单id字段,如何防止,tp5中好像没有. xss攻击:使用htmlspecialchars() 会把img.p.等等合法标签过滤掉,想要有选 ...

  8. C# 时间格式转换

    DateTime dd =DateTime.Parse(temp[0]);  string aa = dd.ToShortDateString();

  9. 手动升级 Confluence 6 - 升级问题解决

    升级失败了? 如果你需要对你的升级进行回退,你必须首先恢复你老的 Confluence 备份.不要尝试再次进行升级,也不要尝试再次对升级失败的 Confluence 进行再次启动.  在升级过程中遇到 ...

  10. codevs 1405 牛的旅行x

    牛的旅行 [问题描述] 农民John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧场不连通.现在,John想在农场里添加一条路径 ...