데이터베이스란?
데이터를 쌓는 것뿐만 아니라 관리하는 시스템을 필수적으로 필요로 함.
- RDBMS (Relational DB): 관계형 데이터베이스 ex. MySQL, PostgreSQL, SQLServer
- 테이블/행/열 로 이루어진 형태
- 데이터의 일관성과 무결성이 중요한 서비스에서 사용 -> Transaction 처리 (데이터 삭제, 추가 등의 변화)
- 은행의 금융서비스: 계좌이체 발생시 송금인 - 금액 차감, 송금받는사람-금액 추가
- ACID (Atomicit, Consistency, Isolation, Durability) 특성을 준수하여 데이터 일관성을 보장
- 고정된 스키마를 사용하기 때문에 데이터 구조 변경이 어려움
- 스키마란? 데이터가 어떤식으로 저장되는지 나타내는 것 ex.이름 - 문자열, 학번 - 숫자열
- 수평확장: 데이터가 많아졌을 때 DB를 확장하는 것 - RDBMS에서는 어려움
- NoSQL(Not Only SQL) : 비관계형 데이터베이스 ex. MogoDB, Cassandra DB
- JSON, XML 등과 같은 형태로 비정형/ 반정형 데이터
- 대량의 데이터를 빠르게 읽고 쓰거나, 분산처리에 용이함
- DB마다 다르고, ACID 특성을 보장하지 않는 경우도 있음
- 스키마가 없거나 유연하여 데이터 모델을 사용하여 데이터 구조 자유롭게 변경할 수 있음.
- 수평확장 상대적으로 용이함
SQL 실습해보기
SQL Fiddle | A tool for easy online testing and sharing of database problems and their solutions.
Query Panel Use this panel to try to solve the problem with other SQL statements (SELECTs, etc...). Results will be displayed below. Share your queries by copying and pasting the URL that is generated after each run.
sqlfiddle.com
SELECT 원하는 컬럼 선택
FROM 가져올 DB, 테이블
WHERE 어떤 조건으로
예제1) SELECT FROM WHERE


예제2) WHERE '항상 참인 조건' AND

WHERE 에서 1=1 이다 와 같은 '무조건 참'인 조건 AND 다른 조건 을 명시해 주었다. 그이유는 WHERE과 같은 줄의 조건을 빼거나 재삽입하기 번거롭기 때문이다.
다시 말해서 여러 조건이 있을 때, 조건을 편하게 추가하거나 삭제하기 위해 사용한다.
예제3) LIMIT

LIMIT : 상위 2개만 추출
LIMIT은 MySQL 에서 사용가능. 다른 DB에서는 다르게 표현됨
'DA' 카테고리의 다른 글
| [TIL]SQL ORDER BY| GROUP BY |DESC, ASC | HAVING | COUNT (0) | 2023.12.04 |
|---|---|
| [TIL] SQL 비교 연산자 <> | AND, OR | IN, NOT IN| LIKE |BETWEEN (0) | 2023.12.04 |
| [TIL]캐글실습하기|타이타닉생존율예측하기|정확도0.6xx... (0) | 2023.11.30 |
| [TIL]공공데이터|Tableau|데이터분석 실습 (3) | 2023.11.28 |
| [TIL]Gen AI란?|Gen AI를 활용한 데이터분석 실습 (0) | 2023.11.23 |