-- *** 테이블스페이스(TABLESPACE) 생성하기 *** --
(우선조회)
SELECT *
FROM DBA_DATA_FILES;
1.우선 자기가 저장 할 곳에 폴더(MYORADATA) 를 만들기
2.먼저 D: 에 폴더를 생성하고 실행을 해야 한다.
CREATE TABLESPACE MYTESTTBS
DATAFILE 'D:\MYORADATA\MYTESTTBS01.DBF' SIZE 4M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
-- 현재 오라클 서버에 접속되어진 사용자 소유의 테이블과 뷰의 목록을 조회하려면 아래와 같이한다.
( SCOTT 로 접속 )
--데이블에 대한 조회
SELECT * FROM TAB;
--사원에 대한 조회
SELECT * FROM EMP;
-- EMP 테이블의 컬럼(속성)의 조회
DESCRIBE EMP;
(=DESC EMP;)
-- ROW(=행, RECORD), (=열, COLUMN, FIELD)에 대한 정보조회
-- 테이블(=ENTITY, 개체) 생성
CREATE TABLE TBL_MEMBER01
(ID VARCHAR2(10)
,PASSWD VARCHAR2(20)
,NAME VARCHAR2(10)
,CONSTRAINT TBL_MEMBER01_ID_PK PRIMARY KEY(ID)
) TABLESPACE MYTESTTBS;
--데이터 넣기
INSERT INTO TBL_MEMBER01
VALUES('HONG', 'JAVA302', '홍길동');
COMMIT;
SELECT *
FROM TBL_MEMBER01;
-- MYTESTTBS 조회
SELECT TABLESPACE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'TBL_MEMBER01';
SELECT TABLESPACE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'EMP';
-- USERS
-- 복수개의 데이터파일로 구성된 테이블스페이스 생성하기
(구동을 빨리 하기 위해서 나누는 것)
CREATE TABLESPACE MYEXAMTBS
DATAFILE 'D:\MYORADATA\MYTEXAMTBS01.DBF' SIZE 4M,
-(8M짜리를 둘로 나눈다.)
'D:\MYORADATA\MYTEXAMTBS02.DBF' SIZE 4M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
=> 이 할당된 메모리는 다 차면 그냥 끝나 버린다.
=> 그래서 다 차면 자동으로 증가하게 만들어 주어야 편하다.
--테이블스페이스에 대한 데이터 파일의 정보를 조회한다.
SELECT *
FROM DBA_DATA_FILES;
--조회
SELECT SEGMENT_NAME, TABLESPACE_NAME,
BYTES, BLOCKS, FILE_ID
FROM DBA_EXTENTS
WHERE OWNER='SCOTT' AND
SEGMENT_NAME IN('TBL_MEMBER01'
,'TBL_MEMBER02'
,'TBL_MEMBER03');
--테이블스페이스에 대한 메모리 자동 확장
CREATE TABLESPACE MYSAMPLETBS1
DATAFILE'D:\MYORADATA\MYSAMPLETBS_01.DBF' SIZE 4M
AUTOEXTEND ON
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
--테이블스페이스에 대한 메모리 자동 확장 및 범위 정하기
CREATE TABLESPACE MYSAMPLETBS2
DATAFILE'D:\MYORADATA\MYSAMPLETBS2_01.DBF' SIZE 4M
AUTOEXTEND ON
NEXT 2M --한번에 2M씩 증설
MAXSIZE 32M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
à64M까지 쓸 수 있지만 4M부터 시작해서 32M까지 증가하게 지정
-- *** 테이블스페이스 삭제하기 *** --
DROP TABLESPACE MYSAMPLETBS3;
(하고 나서 탐색기에서 해당 데이터파일을 삭제한다.
위의 것을 실행하지 않고는 삭제가 불가능하다.)
--NEWSCOTT 계정에서
CREATE TABLE TBL_JEPUM01
(JECODE VARCHAR2(10)
,JENAME VARCHAR2(20)
);
-- ORA-01031: 권한이 불충분합니다.
(SYS에서 권한 주고)
-- ORA-01950: 테이블스페이스 'KHTBS'에 대한 권한이 없습니다.
(그래도 에러가 생긴다.)
--=> KHTBS 테이블스페이스에 대한 할당량이 없다는 말이다.
(SYS에 가서 다시… 그래야 TBL_JEPUM01 테이블이 생성이 된다.)
**그래서 SYS에서, 위의 모든 것을 한꺼번에 주는 것을 하는 것이 편하다.
--SYS 계정에서 조회
SELECT *
FROM USER_TS_QUOTAS;
-- *** 오라클 사용자 생성하기 *** --
CREATE USER NEWSCOTT IDENTIFIED BY DBATIGER
DEFAULT TABLESPACE KHTBS; MYSAMPLETBS2
ALTER USER NEWSCOTT
QUOTA 2M ON KHTBS;
(생성한 계정이 마음에 안 들어서 바꾸고 싶다면)
--ALTER USER NEWSCOTT
--DEFAULT TABLESPACE KHTBS;
--SCOTT계정에서 TBL_MEMBER02 의 테이블을 아래와 같이 생성을 한다.
SYS에서 잡아준 곳에 생성이 된다.
CREATE TABLE TBL_MEMBER02
(ID VARCHAR2(10)
,PASSWD VARCHAR2(20)
,NAME VARCHAR2(10)
,CONSTRAINT TBL_MEMBER02_ID_PK PRIMARY KEY(ID)
) TABLESPACE MYEXAMTBS;
/* Data Type */
1. 숫자형 - NUMBER
2. 문자형 - CHAR, VARCHAR2, NCHAR, NVARCHAR2
3. 날짜형 – DATE
-- *** 중요함 ~~ 오라클 도움말 사이트 *** --
SELECT 0208154123456, '0208154123456'
FROM DUAL;
=> 결과가 오른쪽으로 붙어서 나오면 숫자이고
(주민번호는 문자로 처리)
=> 결과가 왼쪽으로 붙어서 나오면 문자이다.
-- 테이블 생성 (옵션추가)
CREATE TABLE TBL_SAWONINFO
(SANO NUMBER(4)
--NUMBER(4) -9999 ~ +9999 (자리수를 뜻 한다.)
--NUMBER(4,1) -999.9 ~ +999.9
--NUMBER(4,2) -99.99 ~ +99.99
,JUBUN CHAR(13) -- 글자숫자와 관계없이 고정값
,SANAME VARCHAR2(10) --가변형 '이순신' 6 Byte '고수' 4 Byte
--,SANAME NVARCHAR2(10) -- 글자수 '황금독수리놀라다'(O),'HiSuperWoman'(X)
,JIK VARCHAR2(10)
,SAL NUMBER(5)
,DNAME VARCHAR2(10)
,LOC VARCHAR2(20)
,DREL VARCHAR2(15)
);
여기에 값을 넣는 형식은 이렇다.
INSERT INTO TBL_SAWONINFO
VALUES(1003, '7210091234567', '안중근', '과장',3000, '관리부','서울', '02-345-1234');
-- ** 데이터 조회하기 ** --
SELECT 컬럼명 -- 5
FROM 테이블명 -- 1
WHERE 조건절 -- 2
GROUP BY 절 -- 3
HAVING 조건절 -- 4
ORDER BY 절 -- 6
'IT. 컴퓨터' 카테고리의 다른 글
[오라클] 정규화 작업 (0) | 2020.04.15 |
---|---|
[오라클] 데이터의 값을 변경하기 (0) | 2020.04.15 |
[오라클] 서버구조 (0) | 2020.04.11 |
[오라클] 계정 만들기, 서버접속, 리스너 시작, 중지 (0) | 2020.04.11 |
[오라클] 접속과 설치, 다운 그리고 연결, 암호부여 (0) | 2020.04.11 |