SQL이란? 기초 정리

습토리·2025년 2월 14일

SQL

목록 보기
2/12

행열 암기방법 글을 보면, 제가 표와 고군분투하는 모습이 상상되실텐데요. 오늘은 SQL 공부를 해보았습니다.

SQL이란?

SQL(Structured Query Language)은 데이터베이스에서 데이터를 저장, 관리, 검색, 수정, 삭제할 때 사용하는 언어입니다. 쉽게 말해서 데이터베이스(DB)의 언어라고 할 수 있습니다.

🎯 SQL이 하는 일

  • 데이터 저장: 고객 정보, 상품 목록, 주문 기록 등을 테이블에 저장
INSERT INTO customers (name, email) VALUES ('홍길동', 'hong@example.com');
  • 데이터 검색: 특정 조건에 맞는 데이터를 찾아오기
(SELECT * FROM products;)
  • 데이터 수정: 잘못된 데이터를 고치거나 업데이트
UPDATE customers SET email = 'newemail@example.com' WHERE name = '홍길동';
  • 데이터 삭제: 필요 없는 데이터를 지우기
DELETE FROM customers WHERE name = '홍길동';

💡 SQL이 왜 중요할까?

  • 웹사이트나 앱은 대부분 데이터베이스와 연결돼 있어. 예를 들어, 쇼핑몰에서 상품을 검색하거나 주문 내역을 보는 건 SQL이 뒷단에서 작동하는 덕분이야.
  • 프론트엔드 개발자로서 백엔드나 데이터베이스와 연결할 때 기본적인 SQL 지식이 있으면 무척 유용해.

🚀 Java와 SQL의 관계

  • Java는 프로그램의 로직을 짜는 언어라면,
  • SQL은 데이터를 관리하는 언어야.
    보통 Java 프로그램이 데이터베이스(SQL)를 사용해 정보를 주고받는 형태가 많아.

SQL 기초 학습 정리

1. 데이터베이스(Database)와 테이블(Table)

  • 데이터베이스(Database): 여러 테이블을 포함하는 큰 틀입니다.
  • 테이블(Table): 데이터가 행(row)과 열(column)로 구성된 구조로 저장되는 곳입니다.
    • 행(row): 하나의 데이터 레코드
    • 열(column): 데이터의 속성

2. SQL 기본 명령어

2.1 데이터베이스 생성

  • CREATE DATABASE 명령어를 사용해 데이터베이스를 생성합니다.
CREATE DATABASE my_database;

2.2 테이블 생성

  • CREATE TABLE 명령어를 사용해 테이블을 생성합니다.
CREATE TABLE students (
    id INT,
    name VARCHAR(50),
    age INT
);
  • students 테이블에 세 개의 열을 생성:
    • id: 정수형 데이터 (INT)
    • name: 최대 50자의 문자열 (VARCHAR(50))
    • age: 정수형 데이터 (INT)

2.3 데이터 조회 (SELECT)

  • SELECT 명령어로 데이터를 조회할 수 있습니다.
SELECT name, age FROM students;
  • WHERE 절: 특정 조건에 맞는 데이터만 조회
SELECT name, age FROM students WHERE age > 20;
  • ORDER BY 절: 데이터를 정렬
SELECT name, age FROM students ORDER BY age DESC;
`DESC`: 내림차순(높은 금액부터 낮은 금액)으로 정렬합니다.
`ASC`: 오름차순(기본값)입니다.
  • LIMIT 절: 조회할 데이터의 개수를 제한
SELECT name, age FROM students LIMIT 5;

2.4 데이터 삽입 (INSERT)

  • INSERT INTO 명령어로 데이터를 추가합니다.
INSERT INTO students (id, name, age) VALUES (1, 'Alice', 23);

2.5 데이터 수정 (UPDATE)

  • UPDATE 명령어로 기존 데이터를 수정합니다.
UPDATE students SET age = 24 WHERE id = 1;

2.6 데이터 삭제 (DELETE)

  • DELETE FROM 명령어로 데이터를 삭제합니다.
DELETE FROM students WHERE id = 1;

3. 기본 키(Primary Key)와 외래 키(Foreign Key)

  • 기본 키(Primary Key): 각 행을 고유하게 식별하는 열 (중복·NULL 불가)
  • 외래 키(Foreign Key): 다른 테이블의 기본 키를 참조하는 열

예제:

CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    student_id INT,
    FOREIGN KEY (student_id) REFERENCES students(id)
);
  • order_id: orders 테이블의 기본 키
  • student_id: students 테이블의 id를 참조하는 외래 키

4. 집계 함수(Aggregate Functions)

  • 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 조건문 (WHERE 절)

  • 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;

*(애스터리스크) 사용법이 궁금하시다면? 이전게시글을 참고해주세요.


profile
재미난 삶을 살다

0개의 댓글