티스토리 뷰

DataBase/오라클 SQL

데이터 조작하기 DML

GrapeMilk 2020. 4. 27. 14:19

Goal 

 - 데이터를 조작하는 DML언어 4가지에 대해 알아본다.

 - INSERT, SELECT, UPDATE, DELETE

1. INSERT 

 - 데이터 삽입 명령어

 - INSERT INTO <TABLE> VALUES <값목록>

 1) 모든 필드 값을 입력하기

  -> INSERT INTO MEMBER VALUES( 'newlec', '111, 'gildong', 'male', '1995-02-29');

 2) 원하는 필드만, 원하는 순서대로 입력하기 

  -> INSERT INTO MEMBER(ID, PWD) VALUES('newlec', '111');

  -> INSERT INTO MEMBER(PWD, ID) VALUES('111', 'newlec');

  -> 입력하지 않은 나머지 부분은 NULL 값으로 채워짐

2. SELECT

 - SELECT * FROM MEMBER; : MEMBER 테이블 안의 모든 데이터를 보여줌  

 - SELECT id, name, pwd FROM MEMBER; MEMBER 테이블안의 id, name, pwd 속성을 갖는 자료들을 보여줌

 - SELECT id as USER_ID, name, pwd FROM MEMBER; 

 

 * as : 별칭으로써, DB가 Java와 같은 프로그래밍 언어와 작업할때 쿼리문을 통해 속성 이름을 수정해서 불러오기 위해 사용. 예를들어 Java에서 코드를 짤때 DB와 연동하는 ID 값을 USER_ID라고 설정을 한 뒤 코드를 수정하지 못하는 상황에서 쿼리를 통해 ID라는 이름의 속성을 SELECT할 때 USER_ID라는 이름으로 불러올 수 있도록 as를 이용하여 변경한다.

즉, 어플리케이션은 이미 만들어져있고, DB의 테이블의 속성명과 어플리케이션의 변수명이 다를 경우 테이블을 수정하지 않고 유동적으로 DB와 연동하기 위해 쿼리차원에서 변수를 수정해서 가져온다. (as는 생략 가능)

 

 - SELECT id "user id", name, pwd FROM MEMBER; 변수명에 빈 공백이 들어가거나, 변수명이 예약어와 겹칠 경우 큰 따옴표를 사용하여 해결할 수 있다.

 - SELECT sql = "SELECT * FROM NOTICE WHERE HIT > 10"; : SELECT를 통해 데이터베이스의 자료를 가져올 때, WHERE절에 조건을 설정해서 해당 조건의 자료만 가져올 수 있음 (조건 안에는 수식도 가능함), JDBC와 연동할 때, SQL에서 조건을 부여함으로써, 데이터 필터링, 정렬, 그룹화등의 모든 데이터 연산은 DB에서 처리하고, 자바는 UI 레이아웃만 담당할 수 있도록 코딩하는게 효율적이다.

3. UPDATE

 - UPDATE MEMBER SET PWD='111'; MEMBER 테이블에서 SET(업데이트)할 건데, PWD속성을 '111'로 SET 하겠다.

 - 위와 같이 선언하면, 모든 PWD 속성을 같는 행이 '111'로 수정된다.

 - WHERE절을 이용하여 특정 데이터만 수정할 수 있다.

 - UPDATE MEMBER SET PWD='222' WHERE ID='gildong'; 'gildong'을 ID로 갖고있는 행의 PWD를 '222'로 수정한다. 

 - UPDATE MEMBER SET PWD='222', name='손오공' WHERE ID='gildong'; 'gildong'을 ID로 갖고있는 행의 PWD를 '222'로 수정한다. (구분자를 이용하여 PWD뿐만아니라 name도 한 명령어 안에서 변경할 수 있다)

4. DELETE

 - DELETE MEMBER : MEMBER 테이블의 모든 데이터를 삭제한다

 - DELETE MEMBER WHERE ID='test'; 

 

 

- 참고 개념

*명령어는 대소문자를 구분하지 않지만, value는 대소문자를 구별한다.

 

 

댓글