【PL/SQL】03实例、表空间

实例与数据库

  • 数据库把表、视图都看成是对象
  • Oracle数据库服务器由两部分组成
实例 对象,看不见的
数据库 类,看的见的

sqlplus与实例、数据库之间的关系

oracle 数据库

就是指的oracle 整体

临时表空间

临时表空间你也可以用,但是只能将临时表放在里面,临时表空间主要放置一些临时数据,比如你查询一个复杂的sql语句,系统会将中间数据放在临时表空间里暂存
临时表空间会自己删除(可以选择会话结束就删除)

smallfile tablespace:小文件表空间是创建数据库的默认选项。
maxsize unlimited 表空间大小最大值没有限制
segment space management auto:表示(分割)段空间管理为自动
在这里插入图片描述

表空间

实际上oracle是一个一个的DBF文件,然后n个DBF文件组成一个表空间

表就建立在表空间下,如:
一个数据库叫zhangxu
jack下用户使用的表空间有3个: users ,lambor, qiqi
其中
users由d:\1.dbf组成
lambor由d:\11.dbf d:\22.dbf组成
qiqi由 d:\cc.dbf组成

建的表可以选择放在这3个表空间的任意一个里(如果不写,就放在这个用户的默认表空间里,一般都是users,这个表空间是系统自己建立的)
在这里插入图片描述在这里插入图片描述
如果之前存在用户
在这里插入图片描述
connect–连接角色,基本角色
resource–开发者角色
dba–超级管理员角色
在这里插入图片描述
在这里插入图片描述

reuse:重用制定路径下原有的文件。
blocksize:数据块的大小,默认为:8kb
logging:将日志写入日志文件。
online,offline 联机 脱机
extent management local 区管理本地化
segment space management 段空间管理方式
flashback 表空间是否可闪回
当表空间使用本地管理且段空间为字段管理时,表空间才能使用大文件表空间。(本地管理的撤销表空间和临时表空间除外。)
quota unlimited on tbs_main 表示用户在tbs_main上可使用的限额无限制。
account unlimited on tbs_main 创建的用户状态为未锁。

索引:把表数据和索引分离,分别存储在各自的表空间/物理磁盘上。在检索过程中,oracle就可以在不同的表空间中分别并行检索索引键值和数据,提高查询效率。

查看所有已创建的表空间及其对应的数据文件:
select file_name,tablespace_name,status from dba_data_files;

insert into shoes(picId) values(‘524811’)

查询数据字典:
select tablespace_name,status from dba_tablespaces;

alter tablespace zq tablespace group tbs_temp_group;
alter tablespace b tablespace group tbs_temp_group;
select * from dba_tablespace_group

SET SERVEROUTPUT ON; ,只有将serveroutput变量设为on后,信息才能显示在屏幕上。

Orcle中的别名

  • mysql后需要跟着as
    Oracle可省略

  • 别名都是用双引号“”,Orcle支持直接写别名,但是如果不写双引号则别名不能有空格

  • Oracle别名是不能使用单引号括起来的,Oracle默认单引号是字符串类型和日期类型

Oracle中的null值

  • 存在字段是null,则在sqlplus不会显示
  • null值数据与其他数据进行运算,最终结果都是null值
  • NVL(表达式1,表达式2) 如果表达式1值为null,则取表达式2的值
  • null值不能参与=号运算,能参与number/date/varchar2类型运算
  • is null关键字代替 = 运算

转义字符

-- 查询姓名中含有'_'的员工【like '%\_%' escape '\'】
select * from emp where ename like '%\_%'escape '\';
-- 查询名字为'',则两个单引号代表一个引号
insert into emp(empno,ename)values(222,'''''');

单行函数与多行函数

单行函数 输入一个参数,返回一个结果
多行函数/分组函数 扫描多个结果,返回一个结果
  • 类型转换有两种:显式(使用函数进行类型转换)、隐式
  • 单引号场景
    字符串’Hello’
    日期’17-12月-80’
    to_char/to_date(日期,’ YYYY-MM-DD HH24:MI:SS ')
  • 双引号场景
    select ename “姓名(列别名)” from emp
    to_char/to_date(日期,‘ YYYY"年"MM"月"DD"日" HH24:MI:SS ‘)
发布了56 篇原创文章 · 获赞 16 · 访问量 5068

猜你喜欢

转载自blog.csdn.net/qq_40892702/article/details/103111949
今日推荐