☑️ SQL 기초
1. 데이터베이스(Database)와 테이블(Table)
- 데이터베이스(Database): 여러 테이블을 포함하는 큰 틀이다.
- 테이블(Table): 데이터가 행(row)과 열(column)로 구성된 구조로 저장된 곳이다. 각 행은 하나의 데이터 레코드를 나타내며, 각 열은 데이터의 속성을 나타낸다.
2. SQL 기본 명령어
SQL에서는 데이터베이스와 테이블을 생성하고, 데이터를 조회, 삽입, 수정, 삭제하는 등의 작업을 수행할 수 있다.
데이터베이스 생성
CREATE DATABASE 데이터베이스이름;
테이블 생성
CREATE TABLE 테이블이름 (
컬럼1 데이터타입,
컬럼2 데이터타입,
...
);
-- 예시: id(INT), name(VAR(50)), age(INT) 컬럼을 가진 student 테이블 생성
CREATE TABLE students (
id INT,
name VARCHAR(50),
age INT
);
데이터 조회 (SELECT)
SELECT 컬럼1, 컬럼2, ... FROM 테이블이름;
-- 예시: students 테이블에서 name과 age 열의 데이터를 조회
SELECT name, age FROM students;
- WHERE 절: 특정 조건에 맞는 데이터만 조회
-- 예시: students 테이블에서 age 값이 20보다 큰 학생들의 name과 age를 조회
SELECT name, age FROM students WHERE age > 20;
- ORDER BY 절: 조회한 데이터를 정렬
-- 예시: students 테이블에서 name과 age를 조회하되, age를 기준으로 내림차순(DESC)으로 정렬
SELECT name, age FROM students ORDER BY age DESC;
- LIMIT 절: 조회할 데이터의 개수를 제한
-- 예시: students 테이블에서 name과 age를 조회하되, 최대 5개의 행만 조회
SELECT name, age FROM students LIMIT 5;
데이터 삽입 (INSERT)
INSERT INTO 테이블이름 (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...);
-- 예시: students 테이블에 id는 1, name은 'Alice', age는 23인 행 추가
INSERT INTO students (id, name, age) VALUES (1, 'Alice', 23);
데이터 수정 (UPDATE)
UPDATE 테이블이름 SET 컬럼1 = 값1, 컬럼2 = 값2 WHERE 조건;
-- 예시: students 테이블에서 id가 1인 학생의 age 값을 24로 수정
UPDATE students SET age = 24 WHERE id = 1;
데이터 삭제 (DELETE)
DELETE FROM 테이블이름 WHERE 조건;
-- 예시: students 테이블에서 id가 1인 행을 삭제
DELETE FROM students WHERE id = 1;
3. 기본 키와 외래 키
- 기본 키(Primary Key): 테이블에서 각 행을 고유하게 식별하는 열(또는 열의 조합)
- 외래 키(Foregin Key): 다른 테이블의 기본 키를 참조하는 열로, 테이블 간의 관계를 나타낸다.
-- 예시: 기본키(order_id), 외래키(student_id)
CREATE TABLE orders (
order_id INT PRIMARY KEY,
student_id INT,
FOREIGN KEY (student_id) REFERENCES students(id)
);
4. 집계 함수 (Aggregate Function)
- COUNT(): 행의 개수를 센다.
SELECT COUNT(*) FROM students;
- SUM(): 숫자 값의 합을 계산한다.
SELECT SUM(age) FROM students;
- AVG(): 숫자 값의 평균을 계산한다.
SELECT AVG(age) FROM students;
- MAX(): 최대 값을 찾는다.
SELECT MAX(age) FROM students;
- MIN(): 최소 값을 찾는다.
SELECT MIN(age) FROM students;
5. SQL 조건문
- AND: 두 조건이 모두 참일 때 사용한다.
SELECT * FROM students WHERE age > 20 AND name = 'Alice';
- OR: 두 조건 중 하나만 참이면 사용한다.
SELECT * FROM students WHERE age > 20 OR name = 'Bob';
- NOT: 조건이 거짓일 떄 사용한다.
SELECT * FROM students WHERE NOT age > 20;
'내일배움캠프(Spring 7기) > 내일배움캠프' 카테고리의 다른 글
[사전캠프 퀘스트] 걷기반 - Java 문제풀이 (0) | 2025.03.26 |
---|---|
Java, Spring 알아보기 (0) | 2025.03.26 |
[사전캠프 퀘스트] 달리기반 - SQL 문제풀이 (0) | 2025.03.25 |
[사전캠프 퀘스트] 걷기반 - SQL 문제 풀이 (0) | 2025.03.24 |
스타터 노트 작성 - Spring 트랙을 신청한 이유 (0) | 2025.03.17 |