본문 바로가기
Java & Kotlin/Backend

4. Table_CRUD (데이터 생성, 조회, 수정, 삭제, 정렬, 조건)

by heekng 2021. 1. 19.
반응형
 

CRUD는 Create, Read, Update, Delete의 앞글자만 딴 줄임말이며, 테이블 데이터의 생성, 조회, 수정, 삭제를 뜻합니다.


1. 생성 (Create)

1) 레코드 추가: INSERT INTO [테이블명] VALUES ([값1], [값2], ...);

예) INSERT INTO ex_table VALUES (1, '홍길동', SYSDATE);

위와 같이 컬럼 순서대로 입력을 하면 레코드가 추가됩니다.

2) 특정 레코드 추가: INSERT INTO [테이블명] ([컬럼명1], [컬럼명2], ...) VALURES([값1], [값2], ...);

원하는 컬럼만을 가지고 있는 레코드를 생성하려면 위와 같이 코드를 작성해야 합니다.

위와 같이 원하는 컬럼을 정해놓고 그 순서대로 정보를 입력합니다.

3) 저장: COMMIT;, 마지막 저장상태로 돌아가기(실행취소): ROLLBACK;

COMMIT;을 이용하면 현재의 상태가 모두 저장되고

ROLLBACK;을 이용하면 COMMIT; 이후 데이터를 입력하였더라도 마지막 저장상태로 돌아가게 됩니다.


2. 조회 (Read)

1) 모든 레코드 보기: SELECT * FROM [테이블명];

예) SELECT * FROM ex_table;

생성에서 만들었던 홍길동과 로미오가 정상적으로 생성된 것을 확인할 수 있으며, 로미오의 경우에 ex_date값을 입려하지 않았기 때문에 defult값인 '20/01/01'이 입력된 것을 확인할 수 있습니다.

2) 콘솔창의 칸 조절: COL [항목명(컬럼명)] FOR A[사이즈(정수)];

예) COL ex_name FOR A10;

칸을 조절하면 실제로 DB의 메모리가 변동되는 것이 아닌 콘솔상에 이용자가 보는 화면만 조절됩니다.

보통 한글은 한 글자에 두칸을 차지하고, 이외의 숫자와 영어, 문자는 한글자에 한칸을 차지합니다.

**NUMBER은 칸을 조절하면 자료가 깨져 보이게 됩니다.

3) 모든 레코드의 특정 항목만 보기: SELECT [항목명1], [항목명2], ... FROM [테이블명];

예) SELECT ex_num, ex_date FROM ex_table;

4) 오름차순/내림차순 정렬: ORDER BY [항목명][ASC/DESC];

ASC: 오름차순(ascending)

DESC: 내림차순(decending)

**반드시 명령의 맨 마지막에 적어야 한다.

예1) 번호를 오름차순으로 확인할 때: SELECT * FROM ex_table ORDER BY ex_num ASC;

예2) 번호를 오름차순으로 확인할 때: SELECT * FROM ex_table ORDER BY ex_num DESC;


3. 수정 (Update)

1) 모든 레코드의 특정 항목 수정: UPDATE [테이블명] SET [컬럼명] = [수정할 값];

예) UPDATE ex_table SET ex_date = TO_DATE('20/08/16', 'YY/MM/DD');

위와 같이 모든 ex_date를 '20/08/16'으로 변경하고 조회하였을 때 정상적으로 수정됨을 확인할 수 있습니다.


4. 삭제 (Delete)

1) 모든 레코드 삭제: DELETE FROM [테이블명];

예) DELETE FROM ex_table;

위와 같이 ex_table의 모든 레코드를 삭제하고 조회하였을 때 레코드가 존재하지 않는다는 문구를 확인할 수 있습니다.


5. 조건

모든 레코드를 대상으로 하지 않고 특정 조건에 맞는 레코드만 조회/수정/삭제하고 싶을 때 사용한다.

위에서 정리한 조회/수정/삭제는 모든 정보에 대한 것입니다. 이때, 조건을 추가하여 원하는 조건대로 조회/수정/삭제할 수 있습니다.

사용방법은 SELECT, UPDATE, DELETE 명령의 마지막 부분에 'WHERE [컬럼명][조건]'을 추가합니다.

예) SELECT * FROM ex_table WHERE ex_num = 2;

위와 같은 형태로 사용되며,

문자열의 경우 특정문자를 가지고있다는 조건은

WHERE [컬럼명] LIKE '[원하는문자]%' -> 원하는 문자로 시작하는 문자열

WHERE [컬럼명] LIKE '%[원하는문자]%' -> 원하는 문자가 중간에 존재하는 문자열

WHERE [컬럼명] LIKE '%[원하는문자]' -> 원하는 문자가 마지막에 존재하는 문자열

의 형태로 작성 할 수 있고,

NULL의 경우를 조건에 넣을 때는 WHERE [컬럼명] IS NULL 의 형태로 작성합니다.

반응형