본문 바로가기

데이터베이스/RDBMS

[Oracle] DML - SELECT, INSERT, UPDATE, DELETE

반응형

 INSERT  입력하기

테이블에 데이터는 한 번에 한 건만 입력된다. 방법은 두 가지 유형이 있다.

 

유형 1.

INSERT INTO (COLUM_LIST)
VALUES (COLUMN_LIST에 넣을 VALUE_LIST);
SQL> INSERT INTO PLAYER 
  2  (PLAYER_ID, PLAYER_NAME, TEAM_ID, POSITION, HEIGHT, WEIGHT, BACK_NO)
  3  VALUES ('2002007', '박지성','K07','MF',178,73,7);
  • 칼럼의 데이터 유형이 문자 유형일 경우 작은따옴표를 붙인다. 
  • 정의하지 않은 칼럼은 Default로 NULL 값이 입력된다.
  • Primary Key나 Not Null로 지정된 칼럼은 NULL이 허용되지 않는다. 

 

유형 2.

INSERT INTO 테이블명
VALUES (전체 COLUMN에 넣을 VALUE_LIST);
SQL> INSERT INTO PLAYER
  2  VALUES ('2002010','이청용','K07','','BlueDragon','2002','MF','17', NULL,NULL,'1',180,69);
  • 칼럼의 순서대로 빠짐없이 데이터가 입력되어야 한다.
  • 미지의 값을 입력할 경우 '' 또는 NULL이라고 명시적으로 표현할 수 있다.

   

 UPDATE  수정하기

UPDATE 테이블명
SET 수정할_칼럼명 = 수정할_새로운_값; 
UPDATE PLAYER
SET POSITION = 'MF';

 

 DELETE  삭제하기

DELETE [FROM] 삭제할_테이블명;
DELETE FROM PLAYER;
  •  WHERE 절을 사용하지 않는다면 테이블의 전체 데이터가 삭제된다.

  

 SELECT  조회하기

SELECT [ALL/DISTINCT] 칼럼명 1, 칼럼명 2,...
FROM 해당_칼럼들이_있는_테이블명;
  • ALL : 중복된 데이터가 있어도 모두 출력. Default 옵셥이므로 별도로 표시하지 않아도 된다.
  • DISTINCT : 중복된 데이터가 있는 경우 1건으로 처리해서 출력.
SELECT PLAYER_ID, PLAYER_NAME, TEAM_ID, POSITION, HEIGHT, WEIGHT, BACK_NO 
FROM PLAYER;

 

해당 테이블의 모든 칼럼 정보 조회하기 - 애스터리스크(*)를 사용

SELECT *
FROM 테이블명;
  • 좌측 정렬 : 문자 및 날짜 데이터
  • 우측 정렬 : 숫자 데이터

 

ALIAS, ALIASES

  • 조회된 결과에 일종의 별명(ALIAS, ALIASES)을 부여해서 칼럼 레이블을 변 경할 수 있다.
  • 칼럼명 바로 뒤에 온다.
  • 칼럼명과 ALIAS 사이에 AS, as 키워드를 사용할 수도 있다. (option)
SELECT PLAYER_NAME AS 선수명, POSITION AS 위치, HEIGHT AS 키, WEIGHT AS 몸무게
FROM PLAYER;

SELECT PLAYER_NAME 선수명, POSITION 위치, HEIGHT 키, WEIGHT 몸무게 FROM PLAYER;
  • ALIAS 사용 시 " "(Double Quotation)ALIAS가 공백, 특수 문자를 포함할 경우와 대소문자 구분이 필요할 경우 사용된다.
SELECT PLAYER_NAME "선수 이름", POSITION "그라운드 포지션", HEIGHT "키", WEIGHT "Weight"
FROM PLAYER;

 

산술 연산자

  • 산술 연산자는 NUMBERDATE 자료형에 대해 적용되며 일반적으로 수학에서의 4칙 연산과 동일하다.
  • 우선순위를 위한 괄호 적용이 가능하다.
  • 수학에서와 같이 (), *, /, +, - 의 우선순위를 가진다.
  • 적절한 ALIAS를 새롭게 부여하는 것이 좋다.
SELECT PLAYER_NAME 이름, ROUND(WEIGHT/((HEIGHT/100)*(HEIGHT/100)),2) "BMI 비만지수" 
FROM PLAYER;

 

합성 연산자

  • 문자와 문자를 연결하는 경우 2개의 수직 바(||)에 의해 이루어진다.
  • CONCAT(string1, string2) 함수를 사용할 수 있다.
  • 칼럼과 문자 또는 다른 칼럼과 연결시킨다.
  • 문자 표현식의 결과에 의해 새로운 칼럼을 생성한다.
SELECT PLAYER_NAME || '선수,' || HEIGHT || 'cm,' || WEIGHT || 'kg' 체격정보
FROM PLAYER;

박지성 선수, 176 cm, 70 kg

 

 

참조 - 한국데이터진흥원(2019). SQL 전문가 가이드 2013 Edition. 서울: 한국데이터진흥원.

반응형