2.Oracle基本使用

oracle基本概念

数据库:

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

实例:

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

用户:

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

表空间:

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

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

数据文件(dbf、ora):

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

注意:

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

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

命令行常用操作

1.登录

运行cmd进入命令行
Sqlplus 用户名/密码 [as sysdba]

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

如果是普通用户不需要as sysdba

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为的数值类型,number(5,2)
Varchar2(10) 最大长度为10的字符串,varchar2用于存储可变长度的字符串,.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节,VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;建议在oracle中使用varchar2
Number(7,2) 数值类型整数位占5位,小数位占2位,一共7位。
Date 时间类型

Scott用户下的表结构





posted @ 2021-06-15 19:14  hnkjdx_react  阅读(112)  评论(0编辑  收藏  举报