数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引

Posted 飛白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引相关的知识,希望对你有一定的参考价值。

 1.    oracle介绍


       ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。


2.    oracle10g安装


解压oracle数据库安装包,如果是win7或者win8系统右键点击setup.exe选择兼容性,以xp方式,并且以管理员方式运行,以及其他所有用户都按着此规则

1.    并双击解压目录下的setup.exe

2.    输入口令和确认口令,如:password,点击下一步,出现如下进度条,

注:此口令即是管理员密码。

3.    检查先决条件,选中选择框

4.    点击“下一步”,出现“概要”界面,点击“安装”。

5.    出现安装进度条,等待安装完成:

6.    安装完成后,自动运行配置向导,等待其完成:

7.    完成后,出现“口令管理”界面,点击“口令管理”,:

8.    将SCOTT和HR用户的沟去掉(解锁这两个账户),点击“确定”: 

9.    回到“口令管理”界面,点击“确定”:

10.   安装结束,点击“退出”。

 

 

3.    PLSQLDeveloper安装


最后会提示输入序列号,打开plsql-sn.txt复制序列号,输入即可。

重要提示:不要把plsql developer安装在有括号的目录下,否则会出现连不上数据库的情况,安装目录也不要出现中文。

 

Plsql developer是最好用也是公司里面大量使用的数据库图形化工具,功能十分强大,在开发人员中广受欢迎,基本上是使用oracle数据库的必备神器。Oracle支持命令行方式操作,在实际的开发中很少使用命令行,绝大多数使用图形化的工具Plsql developer


4.    PowerDesigner安装

PowerDesigner是数据库模型设计的工具,功能十分强大,不仅能设计数据库模型,还能设计各种UML建模的图形。


5.    oracle基本概念


体系结构图


    数据库

Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。

    实例: 

一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。

    用户

用户是在实例下建立的。不同实例可以建相同名字的用户。

    表空间:      

       表空间是Oracle对物理数据库上相关数据文件(ORA或者DBF文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为system表空间)。

每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。

 

    数据文件(dbf、ora):

       数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

注:     表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。 

由于oracle的数据库不是普通的概念,oracle是由用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!


mysql与oracle对比图


oracle

 

 
6.    命令行常用操作

1.    登录

运行cmd进入命令行

Sqlplus 用户名/密码 [as sysdba]

如果是超级管理员需要在用户名/密码后面加上 as sysdba,是以系统管理员的身份来登录的,

如果是普通用户不需要assysdba

 

2.查看当前连接数据库的用户

使用show user查看当前的用户

       

3.    用户的切换

在登录的状态下输入:conn用户名/密码 [as sysdba]

 

4.    查看用户下的表

       为了防止命令行中数据展示表格错乱的情况可以设计行宽和列宽

       Set  linesize 300;  每行展示300个字符

       Col列名       for a[数字],某一列占几个字符

在用户登录的情况下输入:select* from tab;

查看表中的数据

Col ename for a8

Col mgr for 9999

Col sal for 9999

Select * from emp;

 

如果使用dba用户登录查询该表无法查看到,因为sys用户下没有这个emp表

 

由于超级管理员的权限很大可以查看Scott用户下的表

可以使用select *from [用户名].[表名] 来查看某用户下的表的数据

 

5.    查看表的结构

Desc 表名


Number(4)     最大长度为4为的数值类型

Varchar2(10)   最大长度为10的字符串,

varchar2 用于存储可变长度的字符串,.

varchar2 把所有字符都占两字节处理(一般情况下)

varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节

VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;建议在oracle中使用varchar2


Number(7,2)   数值类型整数位占5位,小数位占2位,一共7位。

Date               时间类型


7.Scott用户下的表结构

8. sql


以上是关于数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引的主要内容,如果未能解决你的问题,请参考以下文章

oracle单行函数 之 时间函数

oracle入门之对表数据查询

python学习_day60_前端基础之jQuery入门3

Oracle基础入门

Oracle --- 单行函数分组函数

大数据Java入门DAY3