break

for, while, do while을 사용할 때 실행을 중지시켜주는 역할을 해준다.

 

아래와 같이 break를 만난다면 실행문이 중지된다.

 

만약 반복문이 중첩되어 있다면 어떻게 될까??

중첩이 되어있다면 가까운 반복문만 종료하고 바깥 반복문은 종료하지 않는다.

만약 중첩된 반복문과 바깥 반복문을 모두 종료하고 싶다면 바깥 반복문에 라벨을 붙이고,

"break 이름" 을 사용하면 된다. 

 

 

'DataBase > DDL' 카테고리의 다른 글

7/5 SQL 테이블 제거 및 변경  (0) 2021.07.06
7/5 SQL 테이블 생성 및 제한조건  (0) 2021.07.06
7/2 테이블 생성  (0) 2021.07.02
7/2 DDL  (0) 2021.07.02
DROP

DROP은 테이블에 저장된 모든 데이터와 관련 INDEX 및 제약조건이 삭제된다.

단, FOREGIN KEY로 연결되어 있는 테이블의 데이터는 제외이다.

 

  DROP TABLE 테이블이름 CASCADE CONSTRAINTS;

 

EX) DROP TABLE DEPT CASCADE CONSTRAINTS;

 

RENAME 

테이블의 이름을 변경한다.

 

  RENAME 기존이름 TO 변경할 이름  

 

RENAME SAWON_7 TO SAWON_77;

 

ALTER 

ATLER의 기능은 다음과 같다.

1. 새로운 컬럼추가

2. 기존 컬럼 수정

3. 컬럼 삭제

4. 컬럼 이름 변경

5. 제약조건 추가, 삭제

6. 제약조건 활성화 및 비활성화

 

ㅁ ALTER TABLE .. ADD

: 컬럼추가

 

EX) CREATE TABLE EMP04 
(NUM NUMBER(4),
NAME VARCHAR2(10));

SELECT* FROM EMP04;

ALTER TABLE EMP04
ADD(ADDRESS VARCHAR(30));

 

ㅁ ALTER TABLE .. MODIFY

: 컬럼변경. 

- 숫자 및 문자 컬럼의 전체 길이를 증감소 시킬 수 있다.

- 모든 행의 해당 컬럼 값이 NULL인 경우에만 데이터 타입을 변경할 수 있다.

- 디폴트 값을 변경하면 변경 이후부터 입력되는 행에 대해서만 적용된다.

 

EX) ALTER TABLE EMP04
MODIFY (ADDRESS NUMBER(4));

 

ㅁ ALTER TABLE .. DROP

: 컬럼 제거.

EX)
ALTER TABLE EMP04
DROP (ADDRESS);

 

ㅁ ALTER TABLE .. RENAME COLUMN..

: 컬럼이름변경

EX)

ALTER TABLE TEST02

RENAME COLUMN ADDRESS TO ADDR;

 

ㅁ ALTER TABLE .. ADD CONSTRAINT... TYPE

: 제한조건추가

EX)

SELECT*  FROM TEST02;
ALTER TABLE TEST02
ADD CONSTRAINT TEST02_EMPNO_PK PRIMARY KEY(EMPNO);

 

** NOT NULL 제약조건 : ALTER TABLE .. MODIFY CONSTRAINT... TYPE

EX) 

ALTER TABLE TEST02 
MODIFY (ENAME VARCHAR2(20) NOT NULL);

 

ㅁ ALTER TABLE ...DROP CONSTRAINT

: 제한조건삭제

EX)

ALTER TABLE TEST02
DROP PRIMARY KEY CASCADE;

 

 

'DataBase > DDL' 카테고리의 다른 글

#Java break 문  (0) 2021.07.13
7/5 SQL 테이블 생성 및 제한조건  (0) 2021.07.06
7/2 테이블 생성  (0) 2021.07.02
7/2 DDL  (0) 2021.07.02

테이블을 생성할 때 CREATE를 이용해서 만든다. 문법은 다음과 같다.

 

 CREATE TABLE 테이블명 (컬럼이름 컬럼타입)

 

EX) CREATE TABLE DEPARTMENT

(DEPTNO NUMBER(2),

DNAME VARCHAR2(15),

LOC VARCHAR2(15));

 

위와 같이 입력하면 테이블 안에 컬럼들이 생성된다.

컬럼 안에 레코드를 넣기 위해서는 다음과 같이 입력한다.

 

EX) INSERT INTO DEPARTMENT (DEPTNO, DNAME, LOC) 

VALUES(10, '인사', '서울'); --NULL 값은 입력불가.

 

 

서브쿼리를 이용해서 테이블를 생성할 수 있다. 아래와 같은 방법을 앞글자만 따서 CTAS(씨탁스)라고도 부른다.

 

  CREATE TALBE 테이블명 [컬럼이름N] AS SUBQUERY

 

EX)

CREATE TABLE DEPTA (NO, NAME) 
AS
SELECT DEPTNO, DNAME FROM DEPT;

SELECT * FROM DEPTA

 


DEFAULT 

해당 테이블에 행을 입력할 때, 해당 컬럼에 값을 지정하지 않은 경우 자동으로 디폴트 값이 입력됨.

이는 NULL값이 입력되는 것을 방지하기 위한 것이다.

 

EX) CREATE TABLE DEF_TABLE
(NUM NUMBER(2), WRITEDAY DATE DEFAULT SYSDATE);

 

INSERT INTO DEF_TABLE VALUES (1, DEFAULT);

 

제한조건 (CONSTRAINTS)

부적절한 자료가 입력되는 것을 방지하기 위하여 CONSTRAINT을 사용한다.

제약 조건은 테이블 레벨 과 컬럼 레벨에서 규칙을 적용한다.

제약 조건은 종속성이 존재할 경우 테이블 삭제를 방지한다.

테이블에서 행이 삽입, 갱신 삭제 될 때마다 테이블에서 규칙을 적용한다.

일시적으로 DISABLE과 ENABLE 할 수 있다.

 

*컬럼 레벨 : 한 개의 컬럼에 한 개의 제약조건만 가능함

*테이블 레벨: 한 개 이상의 컬럼에 한 개의 제약 조건을 정의할 수 있다.

 참고로, NOT NULL은 테이블 레벨이 불가능하다.

 

ㅁPRIAMRY KEY

- 중복불가,

- NULL 값 입력불가.

 

ㅁUNIQUE

-중복불가

-NULL 값 허용

 

ㅁCHECK

-조건에 맞는 데이터 값만 입력가능하도록 만들어줌.

 

EX)

CREATE TABLE DEPARTMENT8

(DEPTNO NUMBER(2),

DNAME VARCHAR2(15),

LOC VARCHAR2(15),

CONSTRAINT DEPARTMENT8_DNAME_CK CHECK(DNAME IN ('개발','인사')));

 

ㅁFOREIGN

참조키라고 부르며 해당 테이블에서 다른 테이블을 참조할 때 올바른 데이터값만 참조 가능하도록 제약하는 방법이다.

 

EX)

 

A. 컬럼 레벨

CREATE TABLE EMP03
(EMPNO NUMBER(4) CONSTRAINT EMP03_EMPNO_PK PRIMARY KEY,
ENAME VARCHAR2(15),
DEPTNO NUMBER(2) CONSTRAINT EMP03_DEPTNO_FK 
REFERENCES DEPT02(DEPTNO));

 

B. 테이블 레벨

CREATE TABLE EMP03 
(EMPNO NUMBER(4) CONSTRAINT EMP03_EMPNO_PK PRIMARY KEY, 
ENAME VARCHAR2(15), 
DEPTNO NUMBER(2) CONSTRAINT EMP03_DEPTNO_FK  FOREIGN KEY(DEPTNO)
REFERENCES DEPT02(DEPTNO));

 

*테이블 레벨 사용 시 꼭 FOREIGN KEY 입력하기

 

 

'DataBase > DDL' 카테고리의 다른 글

#Java break 문  (0) 2021.07.13
7/5 SQL 테이블 제거 및 변경  (0) 2021.07.06
7/2 테이블 생성  (0) 2021.07.02
7/2 DDL  (0) 2021.07.02

테이블 생성에 관한 문법은 아래와 같다.

 

CREATE TABLE [스키마].테이블명

(컬러명 데이터타입 [DEFAULT 값 | 제약조건][.....])

 

여기서 스키마란

사용자가 데이터베이스에 접근하여 생성한 객체들의 대표 이름을 의미한다.

SCOTT => 스키마

 

오라클의 데이터 타입
데이터 타입 종류 설명
CHAR(SIZE) 주어진 크기만큼의 고정 길이의 문자 저장, 최소 1바이트, 최대 2000 바이트 저장 가능하다.
 VARCHAR2(SIZE) 주어진 크기만큼의 가변 길이의 문자 저장, 최소 1바이트, 최대 4000 바이트 저장 가능하다.
NUMBER(p, s) 가변 길이의 숫자 저장. 전체 자릿수는 p, 소수점 자릿수는 s 이다. 정밀도와 스케일로 표현되는 숫자저장. 
p는 1~38, s는 -84~127
DATE 날짜 및 시간
ROWID 테이블 내 행의 고유 주소를 가지는 64비트 문자

 

 

'DataBase > DDL' 카테고리의 다른 글

#Java break 문  (0) 2021.07.13
7/5 SQL 테이블 제거 및 변경  (0) 2021.07.06
7/5 SQL 테이블 생성 및 제한조건  (0) 2021.07.06
7/2 DDL  (0) 2021.07.02
DDL(Data Definition Language)

데이터베이스의 구조를 생성하거나 수정 및 삭제하는 데 사용되는 SQL문이다.

 

오라클에서 사용하는 객체
객체명 설명
테이블(TABLE) 기본적인 저장 단위로 행과 칼럼으로 구성
뷰(VIEW) 한 개 이상의 테이블의 논리적인 부분 집합을 표시
시퀀스(SEQUENCE) 숫자 값 생성기
인덱스(INDEX) 데이터 검색 기능 향상
동의어(SYNONYM) 객체에 대한 별칭

 

데이터베이스 객체 이름 지정방법

- 테이블 및 컬럼명은 문자로 시작하며 1 ~ 30 문자 이내로 작성한다. (30Btye)

- 테이블 및 컬렴명은 A~Z, a~z, 0~9, _ , $, #로 작성한다. 한글 작성도 가능하지만 권장하지는 않는다.

- 동일한 사용자의 다른 객체와 이름이 중복되지 않도록 한다.

- ORACLE의 예약어는 사용불가.

- 대소문자 구별안함.

'DataBase > DDL' 카테고리의 다른 글

#Java break 문  (0) 2021.07.13
7/5 SQL 테이블 제거 및 변경  (0) 2021.07.06
7/5 SQL 테이블 생성 및 제한조건  (0) 2021.07.06
7/2 테이블 생성  (0) 2021.07.02

+ Recent posts