Hello It's good to be back ^_^

[ECC-백엔드 5팀] 1주차 스터디 본문

Study/Spring Boot

[ECC-백엔드 5팀] 1주차 스터디

HongyeonLee 2026. 3. 18. 21:46
교재: SQL 첫걸음

공부한 페이지: pp. 22 ~ 91


목차

 

1장 데이터베이스와 SQL

  • 01강 데이터베이스
  • 02강 다양한 데이터베이스
  • 03강 데이터베이스 서버

2장 테이블에서 데이터 검색

  • 04강 Hellow World 실행하기
  • 05강 테이블 구조 참조하기
  • 06강 검색 조건 지정하기
  • 07강 조건 조합하기
  • 08강 패턴 매칭에 의한 검색

1장 데이터베이스와 SQL

01강 데이터베이스

 

개념정리

데이터: 컴퓨터안의 기록된 숫자

데이터베이스: 데이터의 집합, DB

데이터베이스 시스템: 데이터베이스를 효율적으로 관리하는 소프트웨어, DBMS

SQL: DBMS중 관계형 DBMS (RDBMS)를 조작하기 위해 사용하는 언어

 

SQL의 종류

- DML: 데이터 삽입/삭제/추가/수정

- DDL: 데이터베이스 객체 관리

- DCL: 데이터 제어

 

*데이터베이스내의 데이터는 영구적으로 보존되어야 하므로 하드디스크와 같은 비휘발성 저장장치에 저장한다.

*DBMS는 생산성, 기능성, 신뢰성 확보를 위해 사용한다

 

 

02강 다양한 데이터베이스

 

데이터베이스의 종류 (오래된 순)

- 계층형 데이터베이스: 파일 계층 구조

- 관계형 데이터베이스: 행과 열을 가진 테이블로 데이터를 관리하는 DB, SQL 명령어로 조작 

- 객체지향 데이터베이스: 객체를 데이터로 저장하는 DB

- XML 데이터베이스: XML형식으로 기록된 데이터를 저장하는 DB, XQuery 명렁어로 조작

- 키–밸류 스토어(KVS): 키값 형태의 데이터를 저장하는 DB, NoSQL이 있음

 

*SQL을 사용할 수 있는 DB는 관계형 데이터베이스밖에 없다

 

RDBMS (관계형 데이터베이스 시스템)의 종류

- Oracle: 가장 많이씀, 사실상 표준

- DB2

- SQL Sever

- PostgreSQL

- MySQL: 오픈소스 커뮤니티에서 탄생

- SQLite: 임베디드 시스템에 주로 쓰임

 

*DBMS별 SQL을 통합한 것이 표준 SQL

 

 

03강 데이터베이스 서버

 

개념정리

클라이언트: 요청을 보내는 곳

서버: 요청을 받아 처리하는 곳

요청: 클라이언트가 보내는 요구사항, request

응답: 요청을 받은 서버가 보내는 내용, response

루프 백 접속: 클라이언트에서 서버로 접속할 때, 네트워크를 경유해 PC의 서버로 되돌아오는 것

 

*RDBMS도 클라이언트/서버 모델로 시스템이 구성되며 이를 이용하기 위해선 사용자 인증이 필요하다

*MySQL 서비스가 데이터베이스의 서버, mysql 커맨드가 클라이언트 역할을 한다

 


 

 

2장 테이블에서 데이터 검색

 

개념정리

행: 2차원 표(테이블)의 가로축, (=튜플, 레코드)

열: 2차원 표(테이블)의 세로축, (= 속성, 칼럼, 필드)

셀: 행과 열이 만나는 한 칸

수치형 데이터: 숫자만으로 구성된 데이터, 테이블 상에서 오른쪽 정렬하여 표시

문자열형 데이터: 임의의 문자로 구성된 데이터, 왼쪽 정렬

날짜시간형 데이터: 날짜와 시각을 나타내는 데이터, 왼쪽 정렬

NULL: 값이 없는 데이터

메타문자: 원래 문자의 뜻이 아니라 특별한 기능을 하는 문자 ex) *, %, ., _, + 등

와일드 카드: 메타문자 중에서 패턴 매칭용 메타문자, 여러 문자를 대신해서 매칭할 때 쓰는 문자 ex) %, _

 

SQL 문법 정리

- SQL 명렁어 마지막에는 세미콜론 ; 을 붙인다

- SELECT (열1, 열2, ...): 테이블에서 가져올 열 값을 지정 

- FROM (테이블명): 데이터를 가져올 대상이 될 테이블을 지정하는 키워드

- WHERE (조건식): 조건식에 일치하는 '행'을 가져온다

- DESC (테이블명): 테이블 구조 참조용 명령어 (SQL 명령어는 아님)

- * : 모든 열을 의미하는 메타문자

- IS NULL: NULL 값 검색

 

*열은 하나의 자료형만 가질 수 있다

*동일한 이름의 객체를 만들 수 없다

*예약어를 객체명으로 사용할 수 없다

*가독성을 위해 예약어는 대문자로, 객체명은 소문자로 표기한다.

*SQL 명령어 작성시, 문자열은 작은 따옴표(')로 감싸서 작성한다

*날짜 표기시 연월일을 하이픈(-)으로 구분한다

*시각 표기시 시분초를 콜론(:)으로 구분한다

 

조건식 작성을 위한 연산자들

비교연산자 논리연산자
= AND
<>  (값이 서로 다르면 true 반환, != 와 동일한 역할) OR
> NOT
>=  
<  
<=  

*AND는 OR보다 연산우선순위가 높으니 OR 사용시 괄호 사용 요망

 

 

08강 패턴 매칭에 의한 검색 

 

개념정리

LIKE (패턴문자열): 문자열의 일부분과 일치하는지 검색하는지 사용됨 

%: 임의의 문자열을 의미하는 메타문자로 빈 문자열과도 매치한다 ex) a% = apple, air, airplane...

_: 임의의 문자를 의미하는 메타문자 ex) a_ = ab, ac, ad...

 

사용방법

SELCT (열1, 열2, ...) FROM (테이블명) WHERE (속성 LIKE '%패턴문자%')

ex) SELECT * FROM samples25 WHERE text LIKE '%SQL%'

 

이스케이프 - 자기자신을 검색조건으로 지정하는 방법

% : \% 로 검색한다 ex) %\%%

_ : \_로 검색한다

' : '를 연속해서 2개 기술한다 ex) It's → It''s