>  기사  >  데이터 베이스  >  Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

WBOY
WBOY앞으로
2022-03-08 17:39:262555검색

이 글은 Oracle에 대한 관련 지식을 주로 소개하며, 설치, 제거, 테이블스페이스, 데이터 유형 등 데이터베이스 사용과 관련된 문제를 요약하고 소개합니다. 모든 분들께 도움이 되기를 바랍니다.

Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

추천 튜토리얼: "Oracle Tutorial"

Uninstall

삭제를 실행합니다.
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

소개

시스템 사용자

sys, 시스템(권한 sys>system>scott)

sys에는 시스템 관리자 권한이 필요합니다.
시스템에서 직접 로그인할 수 있습니다
sysman은 엔터프라이즈 관리자, 관리자 수준을 운영하는 데 사용됩니다
scott Oracle 창립자 이름, 기본 비밀번호는 Tiger입니다

로그인

시스템 사용자를 사용하여 로그인
[username/password] [@server] [as sysdba|sysper]

Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
참고: 로컬 데이터베이스에 로그인하는 경우 @server

가 필요하지 않습니다. 현재 로그인된 사용자를 보려면 사용자에게 표시
dba_users 데이터 사전(desc dba_users)

테이블 공간 개요

테이블 공간: 데이터베이스의 논리적 저장 공간, 데이터베이스에는 여러 테이블 공간이 포함되어 있습니다.
  • 영구 테이블 공간: 테이블 정보, 뷰, 저장 프로시저 등 영구 저장 필요 파일
  • 임시 테이블스페이스: 데이터베이스 작업 도중 실행 프로세스, 실행 후 해제
  • UNDO 테이블스페이스: 데이터베이스 작업 이전에 데이터를 저장 데이터가 수정되고 롤백될 수 있습니다.
사용자 테이블스페이스 보기:

관리자 데이터 사전: dba_tablespaces, dba_users
일반 사용자 데이터 사전: user_tablespaces, user_users
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

사용자의 기본 또는 임시 테이블스페이스 설정
ALTER USER username DEFAULT|TEMPOPRRY TABLESPACE tablespace_name
Create 영구 테이블스페이스
CREATE  TABLESPACE tablespace_name DATAFILE 'XX.dbf'  SIZE 10m
임시 테이블스페이스 생성
CREATE TEMPORARY TABLESPACE tablespace_name TEMPFILE 'XX.dbf'  SIZE 10m
데이터 파일 사전 보기
desc dba_data_files
테이블스페이스 파일 저장 경로 보기
select file_name from dba_data_files where tablespace_name = 'tablespace_name';

Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

테이블스페이스 상태 수정

온라인 또는 오프라인 상태 설정: ALTER TABLESPACE tablespace_name ONLINE|OFFLINE; ALTER TABLESPACE tablespace_name ONLINE|OFFLINE;
设置只读或可读写状态:ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE;

表空间修改数据文件

增加数据文件:ALTER TABLESPACE tablespace_nama ADD DATAFILE 'xx.dbf' SIZE xx;
删除数据文件:ALTER TABLESPACE tablespace_nama DROP DATAFILE 'xx.dbf'; 읽기 전용 또는 사용 가능 읽기 및 쓰기 상태 설정: ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE;

테이블 공간 수정 데이터 파일

데이터 파일 추가: ALTER TABLESPACE tablespace_nama ADD DATAFILE 'xx.dbf' SIZE xx;

데이터 파일 삭제: ALTER TABLESPACE tablespace_nama DROP DATAFILE 'xx.dbf'; (첫 번째 데이터 파일은 테이블스페이스가 없으면 삭제할 수 없습니다. 삭제됨)

테이블스페이스 삭제
DROP  TABLESPACE tablespace_name [INCLUDING CONTENTS]

데이터 유형



문자 유형

CHAR(n): MAX-2000 NCHAR(n): MAX-1000, 유니코드 형식, 더 많은 한자 저장 VARCHAR2(n ): MAX-4000

NVARCHAR2(n): MAX-2000, 유니코드 형식


숫자 유형

NUMBER(p, s): p-유효 자릿수, s-유지 소수 자릿수

FLOAT(n ): 바이너리 데이터 1~126비트(*0.30103 획득 십진수 데이터)


날짜 유형

DATE: 초까지 정확함

TIMESTAMP: 밀리초까지 정확함


다른 유형의 대용량 파일

BLOB: 4G 바이너리

CLOB: 4G 스트링

Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.관리 테이블

테이블 생성

필드 추가

ALTER TABLE table_name add  column_name data_type;

필드 데이터 유형 변경(데이터가 없는 경우)

ALTER TABLE table_name MODIFY column_name data_type;

필드 삭제

ALTER TABLE table_name DROP COLUMN column_name;

필드 이름 수정

ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
테이블 이름 수정

RENAME table_name TO new_table_name;
테이블 삭제🎜🎜삭제보다 빠르며, 테이블 구조를 삭제하지 않고 모든 데이터를 삭제합니다. 🎜
TRUNCATE TABLE table_name;
🎜테이블 구조 삭제🎜
DROP TABLE table_name;

在创建时复制表

CREATE TABLE new_table AS SELECT column1,...|* FROM old_table;

在添加时复制表

INSERT INTO new_table [(column1,...)] SELECT column1,...|* FROM old_table;

约束 :定义规则和确保完整性

非空约束:数据不能是NULL值,如用户名、密码等(设置非空约束之前表中不能有空数据)
主键约束:唯一标识,不能为空,加快查询速度,自动创建索引。一张表只能设计一个,可以由多个字段构成(联合或复合主键)。
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
启用|禁用当前约束

DISABLE | ENABLE CONSTARINT constraint_name;

删除当前约束

ALTER TABLE table_name DROP CONSTRAINT constraint_name;
DROP PRIMARY KEY [CASCADE] ;     [CASCADE] :外键约束关系

外键约束:主表的字段必须是主键,主从表中响应的字段是同一个数据类型,从表外键字段值必须来自主表中相应字段值,或者为null值。

创建表时添加外键约束

CREATE TABLE table2 (column_name datatype REFERENCES table1(column_name));

Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCADE]

Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
修改表时添加外键约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCSDE] ;  
[ON DELETE CASCSDE]:级联删除

唯一约束:字段值不能重复
唯一约束和主键约束的区别
主键必须是非空,唯一约束允许有一个空值。主键在每张表中只能有一个,唯一约束在每张表中可以有多个。
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

修改表时添加唯一约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE(column_name);

检查约束:使表当中的值具有实际意义。
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

修改表时添加检查约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK(column_name > 0);

查询

替换列的显示名称

Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

设置数据格式

更改字符长度(字符类型)
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
== 数值类型格式(“9”代表一个数字)==

Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
== 清除设置的格式==

COLUMN column_name CLEAR;

函数

函数的作用

  • 方便数据统计
  • 处理查询结果

函数的分类

数值函数

四舍五入: ROUND(n,[,m]) ; 省略m : m = 0 取整; m>0 : 保留小数点后m位;m 取整函数:CEIL(n) - 整数最大值
FLOOR(n) - 整数最小值
常用计算:ABS(n) - 绝对值
MOD(m,n) 取余数 m/n ,m和n有一个值为null,结果返回NULL
POWER(m,n) 返回m的n次幂,m和n有一个值为null,结果返回NULL
SORT(n) 平方根
三角函数:…

字符函数

大小写转换:UPPER(char)
LOWER(char)
INITCAP(char) : 首字母大写
获取子字符串:n可以省略,截取到最后;m
获取字符串长度:LENGTH(char)
字符串连接:CONCAT(char1,char2) 与 || 操作符作用一样
去除字串:TRIM(c2 FROM c1) 从c1当中去除c2字符串
LTRIM(c1 [, c2]) 从头部开始去除一个c2 ,c2 为空去除左边空格
LTRIM(c1 [, c2]) 从尾部开始去除一个c2,c2 为空去除右边空格
TRIM(c1) 去除空格
替换函数:REPLACE(char,s_string [,r_string]) r_string为空默认替换为空串

日期函数

系统时间: SYDATE 默认格式 DD-MON-YY
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
ADD_MONTHS(date,i)
NEXT_DAY(date,char)
LAST_DAY(date)
MONTHS_BETWEEN(date1.date2) 两个日期之间间隔的月份,计算间隔多少天直接日期相减
EXTRACT(date FROM datetime)
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

转换函数

日期>>字符:TO_CHAR(date[,format[,params]]) date:将要转换的日期 ; format:转换的格式; params: 日期的语言,通常不写;
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
字符>>日期:TO_DATE(date[,format[,params]]) --------只能输出默认日期格式
数字>>字符:TO_CHAR(number[,format])
9: 显示数字并忽略前面的0
0:显示数字,位数不足,用0补齐
. 或D 显示小数点
, 或G 显示千位符
$:美元符号
S:加正负号(前后都可以)
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.
字符>>数字:TO_NUMBER(char[,format])
Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

decode函数(都不满足返回null)

decode(column_name, value1,result1,... , defaultValue)

Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.

你问我答:

联合索引比单索引的效率高么?
如果联合索引中的多个字段都在where谓词中出现了,则联合索引效率比单列索引高。因为通过多个条件可以从索引中过滤得到更少的记录条数,也就减少了需要回表扫描的次数,甚至可以直接在联合索引中得到所查的所有结果,则不再需要回表。
但是由于多列的联合索引肯定要比单列索引大,也就是说同样的索引需要存储的物理块要多于单列索引,所以,如果查询中只出现了联合索引中的某一列,则其效率不如单列索引。
前导列的作用?
前导列的概念是这样的,如果建立了f1,f2上的联合索引,则在查询时必须要用到f1,也就是所谓的前导列,该索引才会有效,因为索引是按照前导列排序的,如果where条件谓词中没有前导列,则需要执行索引扫描才能得到想要的结果,这种情况下其效率往往较差。
如果不需要前导列的话,reverse 这个反转又起到什么作用呢?
鉴于前面描述的前导列的概念,我们考虑如下表存储table(f1,f2);
aa 1
ab 2
ac 3
ad 4
ae 5
如果我们对表table建立f1上的普通索引,由于按照f1进行排序,所以针对where f1=ad则需要遍历所有的a开始的索引,而如果对f1建立reverse索引,则由于da只有一个,则可以更快的得到需要的结果。

推荐教程:《Oracle视频教程

위 내용은 Oracle 데이터베이스 사용에 대한 기본 지식을 요약합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제