매일공부

[SQL 입문] SQL Script Test; table 생성 본문

Programming/SQL

[SQL 입문] SQL Script Test; table 생성

aram 2022. 8. 17. 14:03

* SQL Oracle test

-- DESC 명령 (SQL 명령어x)
   tool 명령어, sqlplus 명령어(connect, describe) : 축약 가능(conn, desc)
   >> ;으로 문장 종료하지 않아도 실행됨

-- 관리자(DBA) 로그인 

describe  dba_users --테이블 컬럼 구조 확인
desc dba_users      --desc = describe의 축약(둘다 동일)

1. sqlplus 접속 / 2. sys로 연결 / 3. 테이블 확인

 

-- DBA 권한으로 현재 유저들의 리스트 조회

select username from dba_users;

 

-- 오라클 기본 정보 확인

select name, con_id, dbid, con_uid, guid from v$containers order by con_id;

 

* SQL  table 종류

  • table : 물리적으로  파일에 블록block(page, 1/o단위)
                > 다수의 SQL문을 한번에 오라클DB로 보내서 처리 가능 > 수행 속도 향상
  • 오라클 허용 크기 : 2k, 4k-기본, 8k, 16k, 32k
  • Date Block(논리블록Logical_Block, 페이지Page) : 데이터를 저장하는 최소 단위의 논리 단위
  • pctfree : update를 위한 예약공간 > 10~30% 정도는 남겨둠

  • heap 테이블 : 인덱스가 없는 테이블, insert한 순서로 데이터가 block의 빈 공간에 저장됨 > 순서예측x
  • partiton 테이블
    :  논리적으로는 하나의 테이블(서류방)이지만 분할 & 정리해서 데이터(서류방 안의 카테고리 별로 정리해둔 서류)를 모아둠 > 최신순, 년도별, 중요도순, 정확도순 등
    : 대용량 데이터의 검색 성능 향상을 위해 사용하는 테이블
  • IOT 테이블
  • external 테이블(read only용, stream 통해 서비스)

 

* SQL TEST : 테이블 생성하기

demobld.sql Script Sample  : http://www.gurubee.net/lecture/2150

-- DBA 권한으로 유저 생성

create user c##scott
identified by oracle;

create user c##hr
identified by oracle;

 

-- 패스워드 변경 -> alter 사용

alter user c##scott
identified by oracle; --패스워드 변경

 

-- 권한 부여x >> 연결x >> DBA 권한으로 권한 부여해야 db 접속 가능

connect c##scott/oracle

 

-- DBA 권한으로 데이터 베이스에 접근할 수 있는 권한 부여

conn / as sysdba  --관리자로 재접속
grant create session to c##scott , c##hr; --권한부여

 

-- DBA 권한으로 객체(생성, 수정, 삭제), 데이터(입력, 수정, 조회, 삭제) 권한 부여

conn / as sysdba 
grant resource to c##scott , c##hr;

 

 -- 테이블 데이터가 저장될 기본 테이블 스페이스 유저 설정(변경)

alter user c##scott
default tablespace users;

 

 

-- 기본 테이블 스페이스 사용, quota 설정 및 권한 주기

grant unlimited tablespace to c##scott, c##hr;

 

-- 사용자로 접속

conn c##유저이름/패스워드

-- 테이블 & 행 만들기

--테이블 만들기
CREATE TABLE EMP

--테이블에 행 삽입
INSERT INTO EMP VALUES
        (7369, 'SMITH',  'CLERK',     7902,
        sysdate,  800, NULL, 20);
        
--완료 후 영속성 부여
COMMIT;

 

-- c##hr가 생성한 테이블 목록 확인

select tname from tab;
select table_name from user_tables;

 

 

 -- 테이블의 컬럼명, 순서, 타입, not null

desc emp
describe emp

 


* 생성한 user로 cmd에서 바로 로그인

sqlplus c##"유저ID"/비밀번호

 

* 내용참고&출처 : 태그의 수업을 복습 목적으로 정리한 내용입니다.

728x90
Comments