Loading...

DB/Oracle / / 2022. 2. 14. 14:43

DB 37강. DDL

반응형

SCOTT의 테이블에서 우클릭하여

새 테이블을 생성해준다.

VARCHAR2는 20개의 크기를 지정해준 뒤

3개를 넣으면 크기가 줄어든다.

 

하지만 CHAR는 내가 1글자를 넣든

3글자를 넣든 항상 크기가 고정이다.

 

이때 크기는 길이가 아닌 Byte의 크기이다.

그렇게 때문에 GENDER의 크기는 한글이 들어갈 수 있는

3바이트로 지정해준다.

 

만들어준 테이블의 스키마는 아래와 같다.

테이블을 생성할 때 NO 컬럼을

Primary Key로 지정해두었다.

 

Primary Key는 그 값으로

행을 유일하게 결정할 수 있는 값을 말한다.

 

우리는 툴의 도움을 받아

테이블을 간편하게 만들었지만

실제로는 이 코드가 실행된 것이다.

이 값은 default이기 때문에 지워도 괜찮다.

 USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"  ENABLE

SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"

 


 

-- DDL(테이블 생성)

CREATE TABLE USERTBL 
(
    NO NUMBER, 
	USERNAME VARCHAR2(20 BYTE) NOT NULL, 
	PASSWORD VARCHAR2(13 BYTE) NOT NULL, 
	GENDER CHAR(3 BYTE), 
    CONSTRAINT "USERTBL_PK" PRIMARY KEY ("NO")
);

 

 

PRIMARY KEY는 테이블마다 무조건 존재해야 한다.

CONSTRAINT "USERTBL_PK" PRIMARY KEY ("NO")

 

실행시켰을 때 위 문구가 잘 뜬다면

테이블을 선택하여 새로고침을 해준다.

만들어진 테이블에 들어가서

스키마를 확인해보니

툴로 편하게 짰던 테이블과

동일한 것을 볼 수 있다.

 


 

-- PASSWORD 크기 20BYTE로 수정 -> ALTER
ALTER TABLE USERTBL2 MODIFY PASSWORD VARCHAR2(20);

-- 구조 확인
desc usertbl2;

 


DROP table usertbl2;


사용자를 생성할 때는

system이나 sys에서 생성해주어야 한다.

 

-- 사용자 생성
CREATE USER cos IDENTIFIED BY cos1234;

새로 만든 다음 cos를 만드는데

테스트에 실패한다.

ORA-01045 코드가 떴다.

 

세션이라는 권한이 없기 때문이다.

이 사용자가 데이터베이스에

접근할 권한이 없다는 말이다.

 

권한 부여는 DCL을 배운 다음 해줄 것이다.

 

 

 

 

 

[출처]

 

https://cafe.naver.com/metacoding

 

메타코딩 : 네이버 카페

코린이들의 궁금증

cafe.naver.com

 

메타 코딩 유튜브

https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9

 

메타코딩

문의사항 : getinthere@naver.com 인스타그램 : https://www.instagram.com/meta4pm 깃헙 : https://github.com/codingspecialist 유료강좌 : https://www.easyupclass.com

www.youtube.com

 

반응형