프로그래밍 기술/정보처리기사필기

[데이터베이스] 데이터 조작어(DML)

언제나휴일 2016. 4. 13. 10:32
반응형

데이터 조작어(DML)


이번에는 정보처리기사 필기 과목인 데이터베이스의 데이터 조작어를 살펴볼게요.

데이터 조작어(DML, Data Manupulation Language)
INSERT :
테이블에 새로운 튜플을 추가
DELETE:
테이블에서 조건에 맞는 튜플을 제거
UPDATE:
테이블에서 조건에 맞는 튜플을 수정
SELECT:
원하는 조건에 맞는 튜플을 검색

INSERT INTO
테이블명(속성명, ...) VALUES(,...);
: INSERT INTO 학생(학번, 이름, 나이) (20160734, '홍길동', 20) ;

DELETE FROM [
테이블 명 WHERE 조건];
전체 삭제: DELETE FROM 학생
DELETE
로 모든 레코드를 삭젝하여도 테이블 구조는 남아있어 DROP과는 다릅니다.
: DELETE FROM 학생 WHERE 학번=20160734 ;

UPDATE
테이블 명 SET 속성명 = ,... WHERE 조건;
: UPDATE 학생 SET 이름='강감찬', 나이=22 WHERE 학번=20160734

SELECT [PREDICATE][
테이블 명].속성,...
FROM
테이블명,...
[WHERE
조건]
[GROUP BY
속성,...]
[HAVING
조건]
[ORDER BY
속성[ASC | DESC] ];

PREDICATE
ALL(
디폴트, 모든 튜플 검색), DISTINCT(중복 튜플을 하나만 검색), DISTICTROW (중복 행을 하나만 검색)

GROUP BY:
그룹화하여 검색
HAVING: GROUP BY
와 함께 사용하며 조건을 지정
ORDER BY:
정렬 기준의 속성 지정

:
학생 테이블의 모든 튜플을 검색: SELECT * FROM 학생;
학생 테이블의 모든 튜플을 검색: SELECT 학생.* FROM 학생;
학생 테이블의 학번, 이름을 검색: SELECT 학번, 이름 FROM 학생;
학생 테이블의 나이(중복 제거)를 검색: SELECT DISTINCT 나이 FROM 학생;
학생 테이블에서 나이가 20인 모든 튜플을 검색: SELECT * FROM 학생 WHERE 나이=20;
학생 테이블에서 이름이 장으로 시작하는 모든 튜플을 검색: SELECT * FROM 학생 WHERE 이름 LIKE "%"
학생 테이블에서 학번 순으로(오름차순) 정렬한 후 3명의 모든 튜플을 검색
    SELECT TOP 3 * FROM
학생 ORDER BY 학번 ASC;
학생 테이블에서 나이의 평균:  SELECT AVG(나이) AS 평균 FROM 학생
학생 테이블에서 학과별로 나이의 평균: SELECT 학과, AVG(나이) AS 평균 FROM 학생 GROUP BY 학과
학생 테이블에서 학과에 인원이 50명 이상인 학과와 학생수를 검색: SELECT 학과, COUNT(*) AS 학생수 FROM 학생 GROUP BY 학과 HAVING COUNT(*)>50
학생 테이블에서 나이가 20,21,23인 학생의 학번을 검색: SELECT 학번 FROM 학생 WHERE 나이 IN (20, 21, 23)

너와 나의 연결고리 "공감"

반응형