oracle基础(基本介绍)
数据库
磁盘上存储的数据的集合 在物理上表现为数据文件、日志文件和控制文件等
在逻辑上以表空间形式存在 必须首先创建数据库,然后才能使用Oracle
数据库实例
每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库 为了运行数据库,
Oracle系统所运行的所有进程和分配的内存结构的组合体
数据库: 永久的,硬盘上
数据库实例:临时的,内存中
数据库物理结构
数据文件 扩展名是.DBF,用于存储数据库数据的文件 数据库表和数据文件不存在一对一对应关系
控制文件 扩展名是.CTL,是数据库启动及运行所必需的文件 默认包含3个控制文件
日志文件 扩展名是.LOG,它记录了对数据的所有更改信息 多个日志文件组之间循环使用
数据库逻辑结构
表空间 每个Oracle数据库都是由若干个表空间构成,用户在数据库中建立的所有内容都被存储到表空间中 创建数据库时会自动创建若干表空间
通过选择“控制面板”→“管理工具”→“服务”,打开“服务”窗口,可以看到Oracle服务
OracleService<SID>:数据库实例服务
OracleOraDb10g_hom1TNSListener :数据库监听服务
OracleDBConsoles<SID>:企业管理器服务
OracleOraDb10g_hom1iSQL*Plus:iSQL*Plus服务
SYS和SYSTEM用户都是Oracle 的系统用户,它们都使用SYSTEM表空间,SYS拥有更大的权限
为某用户解锁:
alter user scott account unlock;
最好为不同的用户创建独立的表空间 通过CREATE TABLESPACE命令创建表空间
CREATE TABLESPACE epet_tablespace //空间名
DATAFILE 'E:\oracle\product\10.2.0\oradata\JBITDB\EPET.DBF' //路径
SIZE 100M; //大小
CREATE USER epet //创建用户
IDENTIFIED BY bdqn //添加密码
DEFAULT TABLESPACE epet_tablespace; // 指定表空间
角色是具有名称的一组权限的组合常用系统预定义角色
CONNECT:临时用户
RESOURCE:更为可靠和正式的用户
DBA:数据库管理员角色,拥有管理数据库的最高权限
#把CONNECT、RESOURCE角色授予用户epet
GRANT CONNECT,RESOURCE TO epet;
#撤销用户epet的RESOURCE角色
REVOKE RESOURCE FROM epet;
#允许用户查看 EMP 表中的记录 GRANT SELECT ON emp TO epet;
#允许用户更新 EMP 表中的记录 GRANT UPDATE ON emp TO epet;
数据类型
字符数据类型 CHAR:存储固定长度的字符串
VARCHAR2 :存储可变长度的字符串
NCHAR和NVARCHAR2 :存储Unicode字符集类型
NUMBER:存储整数和浮点数,格式为NUMBER(p, s)
column_name NUMBER { p = 38, s = 0}
column_name NUMBER (p) {整数}
column_name NUMBER (p, s) {浮点数}
日期时间数据类型
DATE:存储日期和时间数据
TIMESTAMP:比DATE更精确
LOB数据类型
BLOB:存储二进制对象,如图像、音频和视频文件
CLOB:存储字符格式的大型对象
示例:
CREATE TABLE master(
id NUMBER(11,0) PRIMARY KEY,
loginid NVARCHAR2(50) NOT NULL,
password NVARCHAR2(20) NOT NULL,
status CHAR(1) DEFAULT 1 NOT NULL
);
CREATE TABLE pet_type(
id NUMBER(11) NOT NULL,
name NVARCHAR2(50) NOT NULL,
status CHAR(1) DEFAULT 1 NOT NULL
);
ALTER TABLE pet_type ADD CONSTRAINT pet_type_pk PRIMARY KEY (id);
CREATE TABLE pet(
id NUMBER (11),
master_id NUMBER (11) NOT NULL,
name NVARCHAR2 (50),
type_id NUMBER (11) NOT NULL,
health NUMBER (11) DEFAULT 100 NOT NULL,
love NUMBER (11) DEFAULT 100 NOT NULL,
prop1 NVARCHAR2 (100),
prop2 NVARCHAR2 (100),
prop3 NVARCHAR2 (100),
adopt_time DATE NOT NULL,
status CHAR(1) DEFAULT 1 NOT NULL,
CONSTRAINT pet_pk PRIMARY KEY(id),
CONSTRAINT m_fk FOREIGN KEY (master_id ) REFERENCES master(id),
CONSTRAINT t_fk FOREIGN KEY (type_id) REFERENCES pet_type(id)
);
指定表的字段的注释
COMMENT ON TABLE pet IS '宠物';
COMMENT ON COLUMN pet.name IS '宠物昵称';
COMMENT ON COLUMN pet.health IS '宠物健康值';
序列是一个数据库的内置对象 产生一系列唯一的数值,作用是实现类似SQL Server中主键自增的效果
#创建序列 初始值为1,步长为1,无最大值,在缓存中保存预分配10个值
CREATE SEQUENCE master_seq
START WITH 1
INCREMENT BY 1
NOMAXVALUE CACHE 10;
#使用序列
INSERT INTO master VALUES(master_seq.nextval,'lkl','lkl',1); //NEXTVAL将返回序列的下一个值
INSERT INTO master VALUES(master_seq.nextval,'lyg','801',1);
SELECT master_seq.currval FROM dual; //查看序列的当前值
SELECT master_seq.nextval FROM dual; //查看序列的下一个值
#修改序列
ALTER SEQUENCE master_seq
INCREMENT BY 5
MAXVALUE 100000
NOCYCLE
NOCACHE;
#删除序列
DROP SEQUENCE master_seq;
oracle基础(基本介绍)的更多相关文章
- Oracle优化器介绍
Oracle优化器介绍 本文讲述了Oracle优化器的概念.工作原理和使用方法,兼顾了Oracle8i.9i以及最新的10g三个版本.理解本文将有助于您更好的更有效的进行SQL优化工作. RBO优化器 ...
- Oracle 学习笔记(一)Oracle的基本介绍与语法
1.1 Oracle基础知识 1.1.1 介绍 Oracle数据库的主要特点: 支持多用户.大事务量的事务处理 在保持数据安全性和完整性方面性能优越 支持分布式数据处理 具有可移植性 1.1.2 Or ...
- Oracle基础体系浅析
不论是开发.管理.优化还是设计,对Oracle的基本原理的了解都是必不可少的,于是对自己最近关于Oracle的学习作出一点点的总结. 庖丁解牛之所以能做到"合于桑林之舞,乃中经首之会&quo ...
- 图说Oracle基础知识(一)
本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...
- android开发学习---linux下开发环境的搭建&& android基础知识介绍
一.配置所需开发环境 1.基本环境配置 JDK 5或以上版本(仅有JRE不够) (http://www.oracle.com/technetwork/java/javase/downloads/ind ...
- oracle基础教程oracle客户端详解
oracle基础教程oracle客户端工具详解 参考网址:http://www.oraclejsq.com/article/010100114.html 该教程介绍了oracle自带客户端sqlplu ...
- oracle基础教程(8)oracle修改字符集
oracle基础教程(8)oracle修改字符集 1.用dba连接数据库 -->sqlplus / as sysdba 2.查看字符集 -->SELECT parameter, value ...
- oracle常用视图介绍
oracle常用视图介绍---------------------2013/10/04(last updated) dba_开头: dba_users 数据库用户信息 dba_segm ...
- 第三周博客之一---Oracle基础知识
一.数据库的定义.作用介绍 1.定义:按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 2.数据库的发展历史: 2.1.在1962年数据库一词出现在系统研发的公司的技术备忘录中 2. ...
- Sql注入基础原理介绍
说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...
随机推荐
- 代码审计-MetInfo CMS任意文件读取漏洞
0x01 代码分析 发现在app\system\include\module\old_thumb.class.php疑似有任意文件读取漏洞 public function doshow(){ glob ...
- i春秋DMZ大型靶场实验(三)内网转发DMZ2
更具实验文件知道存在源码泄露 下载源码进行源码审计 发现admin账号 查看user.php 发现mysql 账号 端口 对登录后源码进行审计 发现上传文件的两处漏洞 对 fiel name 可以 ...
- sudo权限造成的故障
公司服务器故障: [chengsir@yinwucheng ~]$ sudo mkdir /opt/nginx sudo: /usr/bin/sudo must be owned by uid 0 a ...
- 微信小程序初级教程
小程序代码构成 JSON 配置 WXML 模版 WXSS 样式 JS 逻辑交互 JSON 配置 在小程序中,JSON扮演的静态配置的角色. 小程序配置 app.json { "pages&q ...
- 个人考场VIM配置
前言 这个是我个人使用的Vim配置.双引号杠掉的部分是关于光标行列高亮(觉得难受而杠)和输入左括号同时打上右括号的(不习惯),如果要启用的话去掉引号即可. 将以下要启用的输入到$“./vimrc”$中 ...
- c语言-----劫持原理
1. 劫持原理介绍 (1) 通过劫持技术我们可以实现某些进程的拦截,比如禁止创建文件,禁止打开qq,禁止关机等等一系列的操作 (2) 弹窗拦截就是最常见的一种劫持技术的实现. 2. 使用的工具 (1) ...
- abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理六(二十四)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- SpringBoot 遇到 No identifier specified for entity
No identifier specified for entity 从字面上不难看出来是没有设置主键 因为没有为标注为@Entity的实体类注明主键 import lombok.Data; impo ...
- Java线程切换(一)
(本文由言念小文原创,转载请注明出处) 一 前言有Android开发经验的同学都清楚,UI的更新必须在主线程中进行,且主线程不能被阻塞,否则系统ANR异常.我们往往做一些数据处理是耗时操作,必须要在 ...
- 函数基础(二)(day11整理)
目录 昨日内容 函数的定义 函数的三种定义方式 空函数 有参函数 无参函数 函数的调用 函数的返回值 函数的参数 形参 实参 今日内容 可变长参数 可变长形参 可变长实参(仅作了解) 函数对象 函数嵌 ...