Back-End/SQL 개발자 자격증

[ 데이터베이스 ] DML (INSERT, DELETE, SELECT, ALIAS, DUAL)

psy_er 2023. 9. 29. 15:42
728x90

[ 데이터베이스 ] DML (INSERT, DELETE, SELECT, ALIAS, DUAL)

DML은 주로 WHERE 절을 이용해 대상 행을 선별하여 사용한다.

 

 

INSERT

 

INSERT : 한 번에 테이블 하나에 한 데이터만 입력 가능하다, 두 가지 경우 있음

INSERT INTO 테이블명 (COLUMN_LIST)

 

- type A : 칼럼 정의와 동시에 데이터 INSERT, 정의하지 않은 칼럼은 DEFAULT NULL 값 들어간다

INSERT INTO
PLAYER (PLAYER_ID, PLAYER_NAME, TEAM_ID, POSITION, HEIGHT, WEIGHT, BACK_NO)
VALUES ('2002007', '박지성', 'K07', 'MF', 178, 73, 7)

- type B : 칼럼의 순서대로 빠짐없이 데이터가 입력되어야 한다. (리스트 생략 가능, NULL, ' ' 미지의 값 사용 가능)

INSERT INTO PLAYER
VALUES ('2002010', '이청용', 'K07', '', 'BLUEDRAGON', '2002', 'MF', '17', NULL , NULL ,'1',180, 69)

 

 

DELETE

 

DELETE : FROM 생략 가능, 테이블의 데이터 전부를 삭제한다.

DELETE [FROM] 삭제 원하는 테이블명; 
DELETE FROM PLAYER

 

SELECT

 

SELECT : 특정 칼럼 선택

 

* (와일드카드 애스터리스크) : 모든 칼럼 정보 출력, 레이블 대문자 표시, 좌측정렬(문자, 날짜), 우측정렬(숫자)

ALL : 중복된 데이터 모두 출력, DEFAULT여서 생략가능

DISTINCT : 중복된 데이터 있는 경우 제외하여 출력

SELECT [ALL/DISTINCT] 보고싶은 칼럼명, 보고싶은 칼럼명 FROM 테이블명;
SELECT * FROM PLAYER; // 전체 행 선택
SELECT ALL POSITION FROM PLAYER; // 480행 선택
SELECT DISTINCT POSITION FORM PLAYER;  // 5행 선택

 

SELECT ALIAS

 

AS : 칼럼명 뒤에 별명을 부여해 칼럼 레이블을 변경시키기, AS는 생략 가능

SELECT PLAYER_NAME [AS] 선수명, POSITION [AS] 위치, HEIGHT [AS] 키, WEIGHT [AS] 몸무게
FROM PLAYER;

 

이중 인용부호 : ALIAS가 공백, 특수문자 포함할 경우, 대소문자 구분하는 경우 사용

SELECT PLAYER_NAME "선수 이름", POSITION "그라운드 포지션", HEIGHT "키", WEIGHT "Weight"
FROM PLAYER;

 

 

SELECT 산술 연산자

 

산술 연산자:  NUMBER와 DATE 자료형에 대해 적용된다. (), *, / ,+, - 우선순위 가진다.

SELECT PLAYER_NAME 이름, ROUND(WEIGHT/((HEIGHT/100)* (HEIGHT/100)), 2 ) "BMI 비만지수"
FROM PLAYER;

 

 

SELECT 합성 연산자

 

합성연산자

- ORACLE 문자 연결 : || 

- SQL SERVER 문자 연결 : +

- CONCAT(STR1, STR2) 함수 사용 가능

- 문자 문자연결 , 칼럼과 문자 연결, 칼럼 칼럼 연결 하여 새로운 칼럼 생성

 

ORACLE

SELECT PLAYER_NAME || '선수, ' || HEIGHT || 'CM, ' || WEIGHT || 'KG' 체격정보     // 박지성선수, 170CM, 65KG 출력
FROM PLAYER;

 

SQL SERVER

SELECT PLAYER_NAME + '선수, ' + HEIGHT + 'CM, ' + WEIGHT + 'KG' 체격정보

 

 

DUAL 테이블

 

DUAL 테이블 : 사용자 SYS 소유, 모두 액세스 가능, DUMMY 테이블, DUMMY 문자열 유형에 'X'값 들어있는 행

 

ORACLE : SELECT절과 FROM절이 필수, 사용자 테이블 필요 없어도 필수적으로 필요하다

>> DUAL 테이블 사용

 

SQL SERVER : SELECT절 필수, 사용자 테이블 칼럼 사용하면 FROM절 필수

728x90