클라우드응용SW개발

[Cloud] 4주차-2. SQL Query (+실습)

tryinto_gmlt 2026. 4. 7. 03:07

⭐ SQL(Structured Query Language)

  • 관계형 데이터베이스와 함께 사용할 수 있는 표준 언어
  • SQL 표준은 ANSI 및 ISO에 의해 유지 관리

 

⭐ SQL문의 유형

DDL(Data Define Language, 데이터 정의어)

스키마, 도메인, 테이블, 뷰, 인덱스를 정의하거나 변경 또는 삭제할 때 사용하는 언어로,

데이터베이스 관리자나 데이터베이스 설계자가 사용

  • CREATE: 새 개체를 데이터베이스에 정의
CREATE TABLE 테이블명 (
    컬럼명1 데이터타입 제약조건,
    컬럼명2 데이터타입 제약조건,
    ...
);

CREATE DATABASE 데이터베이스명;

CREATE INDEX 인덱스명
ON 테이블명 (컬럼명);

 

  • ALTER: 개체의 구조를 수정
ALTER TABLE 테이블명
ADD 컬럼명 데이터타입;

ALTER TABLE 테이블명
MODIFY 컬럼명 데이터타입;

ALTER TABLE 테이블명
DROP COLUMN 컬럼명;

 

  • DROP: 데이터베이스에서 개체를 제거
DROP TABLE 테이블명;

DROP DATABASE 데이터베이스명;

 

  • RENAME: 기존 개체의 이름을 변경
RENAME TABLE 기존테이블명 TO 새테이블명;

 

DML(Data Manipulation Language, 데이터 조작어)

데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는 데 사용되는 언어로,

데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공

  • SELECT: 데이블에서 선택/읽기
SELECT 컬럼명1, 컬럼명2
FROM 테이블명
WHERE 조건
GROUP BY 컬럼명
HAVING 조건
ORDER BY 컬럼명;

-- WHERE → 그룹화 전에 필터
-- HAVING → 그룹화 후 필터

 

-- 예시: 고객 ID가 71인 주문 중에서, 직원별·연도별로 주문을 2번 이상 처리한 경우만 조회하고 정렬하는 쿼리

SELECT EmployeeId, YEAR(OrderDate) AS OrderYear
FROM Sales.Orders
WHERE CustomerId = 71
GROUP BY EmployeeId, YEAR(OrderDate)
HAVING COUNT(*) > 1
ORDER BY EmployeeId, OrderYear;

 

  • INSERT: 테이블에 새 행 삽입
INSERT INTO 테이블명 (컬럼1, 컬럼2, ...)
VALUES (값1, 값2, ...);

 

  • DELETE: 데이블의 기존 행 편집/업데이트
DELETE FROM 테이블명
WHERE 조건;

 

  • UPDATE: 데이블의 기존 행 삭제
UPDATE 테이블명
SET 컬럼1 = 값1, 컬럼2 = 값2
WHERE 조건;

 

DCL(Data Control Language, 데이터 제어어)

데이터의 보안, 무결성, 회복, 병행 수행 제어 들을 정의하는 데 사용되는 언어로,

데이터베이스 관리자가 데이터 관리를 목적으로 사용

  • COMMIT: 명령에 의해 수행된 결과를 실제 물리적 디스크에 저장
COMMIT;

 

  • ROLLBACK: COMMIT 되지 않은 변경 내용 취소
ROLLBACK;

 

  • GRANT: 권한 부여
GRANT 권한
ON 테이블명
TO 사용자명;

 

  • REVOKE: 권한 취소
REVOKE 권한
ON 테이블명
FROM 사용자명;

 

⭐ MySQL Workbench 실습

MySQL 설명 사이트

 

MySQL Tutorial - Learn MySQL Fast, Easy and Fun 🐬

MySQL Tutorial website provides you with the most comprehensive MySQL tutorial that helps you learn MySQL fast, easy & fun.

www.mysqltutorial.org

 

1) 샘플 데이터베이스를 다운로드 받고, 압축 해제한다.

다운로드한 데이터베이스의 구조 (ER 다이어그램)

 

2) MySQL Workbench에서 연결에 접속한다.

 

3) 파일 모양 버튼을 클릭 후, 다운로드 받은 sql 파일을 불러온다.

 

4) 번개 모양 버튼을 클릭하여 전체 쿼리를 실행한다.

 

5) 스키마에서 오른쪽 클릭 후 “Refresh All”을 선택하여 생성된 테이블 목록을 확인한다.

 

6) 위 과정을 완료하면 기본적인 쿼리 사용이 가능하다.

작성한 쿼리는 번개 모양 아이콘을 클릭하여 실행할 수 있다.

예시

SELECT lastName
FROM employees;

 

결과

+-----------+
| lastName  |
+-----------+
| Murphy    |
| Patterson |
| Firrelli  |
| Patterson |
| Bondur    |
| Bow       |
| Jennings  |
...