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. jedis基本操作命令

    1.对value操作的命令 exists(key):确认一个key是否存在 del(key):删除一个key type(key):返回值的类型 keys(pattern):返回满足给定pattern的 ...

  2. 高性能mysql 第4章 Schema与数据类型优化

    基本原则: 更小的通常更好:占用更少的磁盘 内存和cpu缓存.如varchar(2)和varchar(100). 简单就好:比如整形比字符型代价更低.使用日期型来存储日期而不是字符串.使用整形存储ip ...

  3. Springboot项目全局异常统一处理

    转自https://blog.csdn.net/hao_kkkkk/article/details/80538955 最近在做项目时需要对异常进行全局统一处理,主要是一些分类入库以及记录日志等,因为项 ...

  4. Ruby笔记

    1.数组遍历方法总结 array = (1..10).to_a length = array.length length.times do t print "#{array[t]} &quo ...

  5. 删除文件中的 ^M 字符

    删除文件中的 ^M 字符 有时候,我们在 Linux 中打开曾在 Win 中编辑过的文件时,会在行尾看到 ^M 字符.虽然,这并不影响什么,但心里面还是有点不痛快.如果想要删除这些 ^M 字符,可以使 ...

  6. jquery getScript动态加载JS方法改进详解

    有许多朋友需要使用getScript方法动态加载JS,本文将详细介绍此功能的实现方法 $.getScript(url,callback) 这个方法是jquery自身提供的一个用于动态加载js的方法.当 ...

  7. Mysql启动报错 The server quit without updating PID

    [root@db mysql]# service mysql restartMySQL server PID file could not be found![失败]Starting MySQL... ...

  8. JS框架_(JQuery.js)夜晚天空满天星星闪烁动画

    百度云盘 传送门 密码:xftr 满天星星闪烁动画效果: (可用星空动画来作为页面背景,白色文字改为文章或者其他的O(∩_∩)O) <!doctype html> <html> ...

  9. php的intval函数

    PHP intval() 函数 PHP 可用的函数PHP 可用的函数 intval() 函数用于获取变量的整数值. intval() 函数通过使用指定的进制 . PHP , PHP , PHP 语法 ...

  10. Redis数据结构常用命令

    Redis数据结构--字符串