데이터 조작어(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)
너와 나의 연결고리 "공감"
'프로그래밍 기술 > 정보처리기사필기' 카테고리의 다른 글
[데이터베이스] 관계 대수(Relation Algebra) (0) | 2016.04.13 |
---|---|
[데이터베이스] 정규화(Normalization) (0) | 2016.04.13 |
[데이터베이스] 데이터 사전(Data Dictionary) (0) | 2016.04.13 |
[데이터베이스] 뷰(View) (0) | 2016.04.13 |
[데이터베이스] 내장 SQL (Embedded SQL) (0) | 2016.04.13 |
[데이터베이스] 데이터 정의어(DDL) (0) | 2016.04.13 |
[데이터베이스] SQL (0) | 2016.04.13 |
[데이터베이스] 관계 데이터베이스 (0) | 2016.04.13 |
[데이터베이스] 데이터베이스 설계 공정 (0) | 2016.04.13 |
[데이터베이스] 계층형 및 망 데이터 모델 (0) | 2016.04.13 |