반응형

파이썬 자료형 완전 정복: 숫자형, 문자형, 불(bool) 이해하기

"숫자형이랑 문자형, 그리고 불 자료형까지, 이 3가지 개념만 확실히 잡아도 파이썬의 절반은 이해한 거예요!"

 

 

안녕하세요, 여러분! 😀
오늘은 파이썬을 처음 접하는 분들이 반드시 이해하고 넘어가야 할 핵심 개념, 바로 자료형(Data Type)에 대해 다뤄볼 거예요.

그 중에서도 가장 자주 사용되고, 초보자들이 혼동하기 쉬운 숫자형(Number), 문자형(String), 불형(Bool)에 초점을 맞춰 설명할게요.

자료형은 데이터를 다룰 때의 기본 재료 같은 거예요.

이 재료들이 어떻게 다르고, 언제 어떤 걸 써야 하는지 알면, 코딩이 훨씬 쉬워집니다!

그럼 지금부터 같이 알아볼까요? 😊

1. 숫자형(Number)의 모든 것 🧮

숫자형은 숫자 데이터를 저장할 수 있는 자료형입니다.

우리가 일상에서 사용하는 정수, 소수(실수), 심지어 8진수나 16진수까지 표현할 수 있어요.

파이썬에서는 숫자형을 자동으로 구분해주기 때문에,

int(정수), float(실수), complex(복소수)로 나뉘며,

가장 기본적인 계산부터 과학 연산까지 다룰 수 있습니다.

① 숫자형 종류와 예시

자료형 예시 설명
정수형 (int) 10, -3, 0 소수점 없는 정수
실수형 (float) 3.14, -0.01, 1.0 소수점을 포함한 숫자
8진수 0o12 8진수 표현, 출력 시 10진수로 변환됨
16진수 0x1A 16진수 표현, 출력 시 10진수로 변환됨

② 숫자형 연산자

파이썬에서는 다양한 수학 연산자를 제공합니다.

대부분의 연산은 직관적이라서 계산기 쓰듯이 사용하면 돼요.

  • +: 덧셈
  • -: 뺄셈
  • *: 곱셈
  • /: 나눗셈 (실수)
  • //: 나눗셈 (몫)
  • %: 나머지
  • **: 제곱

③ 실습 예제 🎯

# 숫자형 예제
a = 10
b = 3

print(a + b)   # 13
print(a / b)   # 3.333...
print(a // b)  # 3
print(a % b)   # 1
print(a ** b)  # 1000

 

이처럼 숫자형 자료형은 계산, 반복문, 조건문 등 거의 모든 코드에 사용돼요.

그래서 반드시! 정확히 이해하고 자주 연습하는 게 중요합니다. 😉

 

 

2. 문자형(String)의 세계 ✍️

문자형은 문자, 단어, 문장을 다룰 때 사용하는 자료형이에요.

즉, 이름, 이메일 주소, 설명, 텍스트 등 글자 데이터를 처리할 때 꼭 필요하죠.

① 문자열 만들기

문자열은 "큰따옴표" 또는 '작은따옴표'로 감싸서 만들 수 있어요.

여러 줄을 쓰고 싶을 땐 """큰따옴표 3개""" 또는 '''작은따옴표 3개'''를 쓰면 됩니다.

msg1 = "Hello, Python!"
msg2 = '파이썬은 재밌어요!'
msg3 = """여러 줄도
이렇게 쓸 수 있어요."""

② 문자열 다루기 기초

  • + 연산자: 문자열 연결
  • * 연산자: 문자열 반복
  • len(): 문자열 길이
a = "Hello"
b = "World"
print(a + " " + b)     # Hello World
print(a * 3)           # HelloHelloHello
print(len(b))          # 5

③ 문자열 인덱싱과 슬라이싱

문자열도 리스트처럼 인덱싱(indexing)슬라이싱(slicing)이 가능해요.

txt = "Python"
print(txt[0])     # P
print(txt[-1])    # n
print(txt[1:4])   # yth

④ 문자열 포맷팅 (formatting)

문자열 안에 변수나 값을 넣고 싶을 땐 format() 또는 f-string을 사용해요.

name = "철수"
age = 25

# format()
msg = "이름은 {}이고 나이는 {}세입니다.".format(name, age)

# f-string
msg2 = f"이름은 {name}이고 나이는 {age}세입니다."

print(msg)
print(msg2)

 

문자형 자료형은 사용자 입력 처리, 출력 포맷 설정, 텍스트 조작 등 거의 모든 프로젝트에 쓰여요.

초보일수록 자주 연습하고 다양한 함수를 직접 써보는 게 중요하죠!

 

 

3. 불(bool)형, 참과 거짓의 판단자 ⚖️

불 자료형은 프로그래밍에서 참(True)거짓(False)을 나타내는 아주 중요한 자료형이에요.

조건문, 반복문, 제어문 등 논리적인 판단이 필요한 거의 모든 부분에서 필수적으로 사용돼요.

① 불형의 기본

  • True: 참 (1과 같음)
  • False: 거짓 (0과 같음)
a = True
b = False

print(type(a))   # <class 'bool'>
print(3 > 1)     # True
print(5 == 10)   # False

② bool() 함수

bool() 함수는 주어진 값을 참(True) 또는 거짓(False)으로 변환해주는 함수예요.

이걸 이용하면 어떤 값이 '비어 있는지', '0인지 아닌지' 쉽게 판단할 수 있어요.

print(bool(1))         # True
print(bool(0))         # False
print(bool("hello"))   # True
print(bool(""))        # False
print(bool([]))        # False
print(bool([1, 2]))    # True

③ 조건문에서의 활용

불형은 조건문(if)과 함께 사용되면 진가를 발휘해요.

조건이 참이면 실행, 거짓이면 건너뛰는 방식이죠.

score = 85

if score >= 90:
    print("A등급입니다.")
elif score >= 80:
    print("B등급입니다.")
else:
    print("C등급 이하입니다.")

④ bool이 중요한 이유?

불 자료형은 결정적인 분기점을 만들어주는 도구예요.

예를 들어

로그인 상태인지 아닌지, 파일이 비어 있는지, 조건을 만족하는지 등을 판단할 때 모두 bool을 써요.

즉, "할까 말까를 판단하는 역할"이 바로 bool인 거죠.

초보자일수록 if문 안에 뭐가 True고 뭐가 False인지 확실히 감을 잡는 게 중요해요. 😊

 

 

4. 숫자형 vs 문자형 vs 불형 비교 🆚

지금까지 배운 숫자형, 문자형, 불형은 모두 파이썬에서 기본 중의 기본 자료형이에요.

하지만 가끔은 이 세 가지가 헷갈릴 수도 있고, 어떤 걸 써야 할지 고민될 수 있죠.

그래서 한눈에 비교할 수 있게 정리해봤어요!

① 기본 비교표

구분 숫자형(Number) 문자형(String) 불형(Bool)
용도 수학 계산, 반복문 텍스트 저장, 메시지 출력 조건 판단, 흐름 제어
형식 정수, 실수 큰따옴표/작은따옴표 True, False
예시 10, 3.14 "Hello", 'Python' 3 > 2 → True
연산 +, -, *, /, ** 등 +, *, len(), format() 논리 연산자 (and, or, not)

② 이런 실수 하지 마세요! 😅

  • 숫자와 문자열을 덧셈하려고 할 때 "10" + 2 → 에러!
  • 불형(True/False)을 문자처럼 출력하려고 할 때 큰따옴표 안에 써야 함
  • if 조건에서 숫자 0, 빈 문자열 "", 빈 리스트 []는 모두 False로 인식됨

자료형 간의 차이점과 용도를 명확히 아는 것만으로도 코딩 실수가 확 줄어들어요.

초보자일수록 눈에 보이도록 비교표를 만들어보는 습관도 아주 좋아요! 👀

 

 

5. 실습 예제로 완전 정복하기 💪

이제 이론은 충분히 살펴봤으니, 실습으로 확실히 익혀볼 시간이에요!

아래 실습 예제는 숫자형, 문자형, 불형을 모두 활용해서 실전처럼 코딩해보는 예제입니다.

꼭 직접 따라 해보세요! 🔍

① 실습 1: 나이 계산 프로그램

# 사용자 입력 받기
name = input("이름을 입력하세요: ")
birth_year = int(input("출생 연도를 입력하세요: "))

# 나이 계산
current_year = 2025
age = current_year - birth_year

# 결과 출력
print(f"{name}님의 나이는 {age}세입니다.")

 

이 예제에서는 문자형으로 입력받은 이름과 숫자형으로 나이를 계산하고, f-string을 통해 멋지게 출력하고 있어요!

② 실습 2: 합격 여부 판단

score = int(input("시험 점수를 입력하세요: "))
is_passed = score >= 60

if is_passed:
    print("축하합니다! 합격입니다 🎉")
else:
    print("아쉽지만 불합격입니다 😢")

 

is_passed불형(bool)으로 처리되어 조건문에 바로 활용되고 있어요.

논리적 판단이 필요한 경우 이렇게 불형을 쓰면 코드가 깔끔하고 직관적이에요!

③ 실습 3: 문자열 조작 퀴즈

text = input("아무 문장이나 입력해보세요: ")

print("총 글자 수:", len(text))
print("앞 5글자:", text[:5])
print("모두 대문자로:", text.upper())
print("Python이라는 단어 포함 여부:", "Python" in text)

 

이 실습은 문자형 함수불형 연산을 함께 쓰는 좋은 예예요.

특히 in 키워드를 통해 특정 문자열 포함 여부를 쉽게 판단할 수 있죠!

④ 정리

  • 숫자형은 연산과 반복에 강하다!
  • 문자형은 입력, 출력, 메시지 처리에 필수!
  • 불형은 흐름 제어와 조건 판단의 핵심!

이 세 가지 자료형만 잘 익혀도 파이썬 기초를 완전히 꿰뚫었다고 할 수 있어요.

이제 여러분도 자신 있게 실습에 도전해보세요! 😎

 

 

마무리 🧠

여기까지 따라오신 여러분, 정말 고생 많으셨습니다! 👏

오늘 우리가 함께 배운 내용은 파이썬의 가장 핵심적인 자료형 3가지였어요

숫자형(Number),

문자형(String),

불형(Bool).

 

이 세 가지는 파이썬뿐 아니라 대부분의 프로그래밍 언어에서도 공통적으로 존재하고, 아주 자주 사용돼요.

처음엔 낯설고 어려울 수 있지만, 코드를 직접 작성하고 실행해보면 어느 순간 자연스럽게 '아~ 이럴 때 숫자형을 쓰는구나', '문자형은 이렇게 조작하는 거구나' 하고 감이 오기 시작할 거예요.

 

앞으로 조건문, 반복문, 함수, 클래스 등 더 복잡한 개념을 배우더라도 자료형이 기초가 되어야 모든 것이 연결되니까요.

그러니까 지금 배운 내용을 자주 복습하고, 실습을 반복하는 습관을 꼭 들이시길 바랍니다!

그럼 다음 글에서 더 유익한 내용으로 다시 만나요 😊

반응형
반응형

WHERE 절 마스터하기 ✍️ 다양한 조건문과 연산자 총정리

"WHERE 절만 제대로 알아도 SQL 절반은 먹고 들어간다!"
라는 말, 들어보셨나요?
오늘 그 핵심을 확실히 잡아드립니다!

 

 

안녕하세요 여러분! 😊

오늘은 SQL 쿼리에서 가장 많이 쓰이는 구문 중 하나인 WHERE 절에 대해 깊이 있게 배워볼 거예요.

WHERE 절은 조건을 걸어 필요한 데이터만 추출할 수 있게 해주는 아주 중요한 도구인데요.

단순한 "=" 연산부터 BETWEEN, LIKE, 논리 연산자(AND, OR, NOT)까지 다양한 조건식을 제대로 익히면, 데이터 추출 실력이 몇 단계는 더 올라간답니다.

이 포스팅에서는 실무 예제와 함께 각 연산자의 사용법과 차이점을 비교해드릴게요.

SQL 초보자도 이해할 수 있게 친절하고 자세하게 설명할 테니, 부담 없이 따라오셔도 좋아요! 😊

1. WHERE 절의 기본 개념 이해하기 🤓

SQL에서 WHERE 절은 조건을 걸어 원하는 데이터만 골라내는 도구입니다.

SELECT, UPDATE, DELETE 쿼리에서 가장 많이 쓰이며, 데이터를 필터링할 수 있는 가장 강력한 수단이기도 해요.

예를 들어,

게시판에서 특정 작성자만 조회하고 싶다면 아래처럼 사용하겠죠.

SELECT * FROM board WHERE writer = '홍길동';

즉, WHERE 절은 "필터 기능"이라고 이해하시면 돼요.

그리고 그 안에서 사용하는 조건문과 연산자가 다양해서 조합하는 재미가 있답니다.

🔍 WHERE 절을 사용하는 대표 SQL 문들

SQL 유형 예시
SELECT SELECT * FROM board WHERE writer = '홍길동';
UPDATE UPDATE board SET title='수정됨' WHERE id = 3;
DELETE DELETE FROM board WHERE id > 10;

📌 WHERE 절 조건문의 형태

  • 비교 조건: =, <>, >, <, BETWEEN, LIKE 등
  • 논리 연산: AND, OR, NOT 으로 조건 연결

기초가 탄탄해야 응용이 자유롭습니다.

다음 STEP에서는 본격적으로 비교 연산자에 대해 하나하나 살펴볼게요!

 

 

2. 비교 연산자 정리 (=, <>, <, >, BETWEEN, LIKE 등) ⚖️

WHERE 절에서 가장 기본적이면서도 자주 쓰이는 도구가 바로 비교 연산자입니다.

숫자, 문자열, 날짜 등 다양한 데이터 타입을 비교하고 필터링할 때 활용돼요.

아래 표로 주요 비교 연산자를 먼저 정리해볼게요.

📋 주요 비교 연산자 요약표

연산자 의미 예시
= 같다 WHERE writer = '홍길동'
<> 같지 않다 WHERE writer <> '홍길동'
> 크다 WHERE id > 5
< 작다 WHERE id < 10
BETWEEN 사이 범위 WHERE id BETWEEN 5 AND 10
LIKE 패턴 일치 WHERE title LIKE '공지%'

🔍 LIKE 연산자 - 패턴 검색의 핵심!

LIKE는 문자열 검색에서 자주 쓰이는 연산자예요.

‘%’‘_’ 와일드카드를 함께 사용하면 더욱 유연한 검색이 가능합니다.

  • LIKE 'A%': A로 시작하는 문자열
  • LIKE '%공지': 공지로 끝나는 문자열
  • LIKE '_작업': 첫 글자가 아무거나 + ‘작업’으로 끝나는 3글자

🧠 BETWEEN과 범위 검색 팁

숫자나 날짜의 범위 검색에 자주 사용되는 BETWEEN은 간단하지만 강력한 기능이에요.

아래 예제를 봐볼까요?

SELECT * FROM board WHERE id BETWEEN 3 AND 6;

BETWEEN은 양 끝값을 포함하기 때문에 위 쿼리는 id = 3, 4, 5, 6인 행을 모두 가져옵니다.

자, 이렇게 비교 연산자를 익혔다면 이제 조건을 조합해서 더 복잡한 필터링을 해보는 것도 가능해지겠죠?

다음 STEP에서는 AND, OR, NOT 논리 연산자를 배워볼게요!

 

 

3. 논리 연산자(AND, OR, NOT)로 조건 조합하기 🔗

WHERE 절은 단일 조건뿐 아니라, 여러 조건을 조합해서 훨씬 정교하게 데이터를 추출할 수 있어요.

이때 사용하는 게 바로 논리 연산자입니다.

대표적으로 AND, OR, NOT이 있죠.

✅ AND - 모든 조건이 참일 때만

SELECT * FROM board
WHERE writer = '홍길동' AND title LIKE '%공지%';

위 쿼리는 작성자가 '홍길동'이면서 제목에 '공지'가 포함된 게시글만 조회합니다.

즉, 모든 조건을 동시에 만족해야 해요.

✅ OR - 하나라도 참이면 통과

SELECT * FROM board
WHERE writer = '홍길동' OR writer = '이순신';

'홍길동' 또는 '이순신'이 작성한 글이면 전부 조회됩니다.

하나라도 만족하면 OK!라는 의미예요.

OR 연산은 범위를 넓게 보고 싶을 때 유용해요.

❌ NOT - 조건을 부정할 때

SELECT * FROM board
WHERE NOT writer = '관리자';

'관리자'가 작성하지 않은 모든 글을 조회하고 싶을 때 유용하죠.

NOT은 어떤 조건이 참이 아닌 경우를 찾을 때 사용합니다.

🔗 조건이 많을 땐 괄호로 묶자!

SELECT * FROM board
WHERE (writer = '홍길동' OR writer = '강감찬')
AND title LIKE '%공지%';

괄호를 사용하지 않으면 조건이 예상과 다르게 평가될 수 있어요.

항상 논리 우선순위를 고려해 괄호로 명확히 구분해 주세요!

이제 단순한 필터링을 넘어, 조건을 조합하는 힘을 갖게 되셨어요.

다음 STEP에서는 실무에서 자주 사용하는 WHERE 패턴들을 소개해드릴게요!

 

 

4. 실무에서 자주 쓰는 WHERE 패턴 📌

SQL을 실제로 써보면, WHERE 절을 쓰지 않는 경우가 거의 없을 정도예요.

그만큼 다양한 조건 조합이 실무에서 굉장히 자주 등장합니다.

아래는 실제 서비스 개발이나 데이터 분석 시 많이 쓰이는 WHERE 절 패턴을 정리한 예시들이에요!

🧾 자주 쓰는 WHERE 절 예시 모음

패턴 목적 SQL 예시
특정 작성자 글만 보기 WHERE writer = '홍길동'
두 ID 사이의 글 보기 WHERE id BETWEEN 5 AND 10
제목에 키워드 포함 WHERE title LIKE '%공지%'
여러 작성자 중 하나 WHERE writer IN ('홍길동', '이순신')
최근 일주일만 보기 WHERE created_at >= NOW() - INTERVAL 7 DAY
특정 컬럼 값이 NULL 아님 WHERE content IS NOT NULL

📚 실무 응용 팁

  • WHERE 절 + ORDER BY: 필터링 후 정렬까지 연결 가능
  • LIMIT을 함께 쓰면 페이징도 가능해요
  • WHERE + JOIN 조합으로 연관 테이블 필터링도 가능!

실무에서는 조건이 점점 많아지고 복잡해지는데요, 위 예시들을 참고해서 자신만의 WHERE 절 패턴을 익혀두면 다양한 상황에서도 유연하게 대처할 수 있어요! 😊

다음은 진짜 데이터를 활용한 조건문 조합 실습으로 이어집니다!

 

 

5. 조건문 조합 예제 실습 🧪

지금까지 배운 비교 연산자와 논리 연산자를 직접 실습으로 확인해볼 시간입니다!

단순한 조건부터 복잡한 조합까지, 다양한 시나리오를 통해 WHERE 절을 유연하게 활용하는 법을 익혀볼게요.

🧩 시나리오 1: 특정 키워드를 포함한 최신 글만 보기

SELECT * FROM board
WHERE title LIKE '%공지%'
AND created_at >= NOW() - INTERVAL 7 DAY
ORDER BY created_at DESC;

📌 포인트: 공지가 포함된 게시글 중 최근 일주일 이내에 작성된 글만 내림차순으로 정렬해 보여줍니다.

🧩 시나리오 2: 특정 작성자 제외하고, ID가 10보다 큰 글만 보기

SELECT * FROM board
WHERE NOT writer = '관리자'
AND id > 10;

📌 포인트: 관리자 외의 작성자가 작성했고, id가 10을 초과하는 게시물만 조회합니다.

🧩 시나리오 3: 두 명의 작성자가 쓴 글 중, 제목에 ‘공지’가 포함된 경우만

SELECT * FROM board
WHERE (writer = '홍길동' OR writer = '이순신')
AND title LIKE '%공지%';

📌 포인트: 괄호로 조건을 명확하게 묶는 게 중요합니다.

                  논리 연산자의 우선순위 때문에 결과가 달라질 수 있어요!

✅ 실전 조합 팁

  • WHERE 절은 조건이 많아질수록 괄호로 구분해주는 습관이 중요해요!
  • 조건문이 너무 길어지면 가독성 확보를 위해 줄바꿈과 들여쓰기 활용하기

이제 WHERE 절이 단순한 필터링을 넘어서, 다양한 조건을 조합해 정교한 데이터 추출 도구로 거듭나는 걸 직접 느끼셨을 거예요.

이제 마지막으로 요약과 실전 활용 팁을 정리해보며 마무리해볼게요 😊

 

 

6. 마무리 ✨

여기까지 따라오신 여러분, 정말 잘하셨어요! 👏

이번 포스팅에서는 SQL의 핵심 WHERE 절에 대해 개념부터 다양한 연산자, 실전 예제까지 완전 정복했어요.

데이터베이스를 다룰 때 WHERE 절은 선택이 아닌 필수입니다.

✅ 오늘의 핵심 요약

  • WHERE 절은 조건에 따라 데이터를 필터링하는 기능
  • 비교 연산자: =, <>, >, <, BETWEEN, LIKE 등 필수
  • 논리 연산자: AND, OR, NOT 으로 복잡한 조건 조합
  • 괄호 ()는 조건 우선순위 명확히 하는 데 꼭 필요!
  • LIKEBETWEEN은 실무에서 자주 사용됨

💡 실전 활용 팁

  • WHERE 절은 UPDATE, DELETE, SELECT 모두에 쓰임
  • 다양한 연산자를 조합해서 정확한 조건 필터링이 가능
  • IN, IS NULL, EXISTS 등도 함께 공부하면 더 강력해져요

이제 여러분은 단순한 쿼리를 넘어서, 실무에 활용할 수 있는 조건문 설계 능력을 갖추셨습니다. 😊

반응형
반응형

데이터베이스 조작 예제 💾
게시판 테이블 만들고 데이터 입력하기

여러분, "게시판 테이블을 직접 만들어 보고, 데이터를 손으로 넣어본 경험" 있으신가요? 직접 해보면 SQL이 훨씬 재밌어집니다!

 

 

안녕하세요!

데이터베이스를 처음 배우거나 실무에 막 발을 들인 분들께 도움이 될 만한 실습 예제를 준비했어요.

오늘은 가장 많이 쓰이는 예제 중 하나인 "게시판 테이블 생성과 데이터 입력"을 다뤄볼 거예요.

테이블 설계부터 SQL 문 작성, 실제 데이터 삽입까지 모든 과정을 친절하게 설명드릴게요.

복잡한 개념은 최소한으로 줄이고, 예제 중심으로 구성했으니 초보자도 걱정하지 마세요!

그럼 천천히 따라오시면서 직접 실습해보세요. 😊

1. 게시판 테이블 설계 🛠️

게시판을 만든다고 하면 제일 먼저 떠오르는 건 무엇일까요?

바로 "게시글을 저장할 공간"이죠.

이 공간은 데이터베이스에서 "테이블"이라는 형태로 구현돼요.

게시판 테이블을 만들기 전에, 어떤 데이터를 저장해야 할지 먼저 설계해보는 게 중요해요.

이걸 잘 해두면 나중에 확장하거나 기능을 붙일 때 훨씬 수월하거든요.

📋 어떤 컬럼이 필요할까?

  • id - 게시글 번호 (자동 증가, 기본 키)
  • title - 게시글 제목
  • content - 게시글 본문 내용
  • writer - 작성자 이름
  • created_at - 작성일시 (기본값 CURRENT_TIMESTAMP)

📊 테이블 구조 미리보기

컬럼명 데이터 타입 제약 조건 설명
id INT PRIMARY KEY, AUTO_INCREMENT 고유 게시글 번호
title VARCHAR(100) NOT NULL 게시글 제목
content TEXT NOT NULL 게시글 내용
writer VARCHAR(50) NOT NULL 작성자 이름
created_at DATETIME DEFAULT CURRENT_TIMESTAMP 작성 시간

이제 어떤 테이블을 만들어야 할지 확실히 감이 오셨죠?

 

다음 단계에서는 이 설계대로 실제 SQL 문장을 작성해서 게시판 테이블을 직접 만들어볼게요!

 

 

2. CREATE TABLE로 테이블 만들기 ✍️

자, 이제 우리가 설계한 게시판 테이블을 진짜로 만들어볼 차례입니다.

이럴 때 사용하는 SQL 명령어가 바로 CREATE TABLE이에요.

먼저 구조를 이해하고, 바로 실습해볼 수 있도록 순서대로 안내드릴게요.

복잡하지 않으니 걱정 마세요.

하나하나 따라오면 금방 끝납니다!

🧾 기본 SQL 문법 설명

CREATE TABLE board (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(100) NOT NULL,
    content TEXT NOT NULL,
    writer VARCHAR(50) NOT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

위 코드를 보면 board라는 이름의 테이블을 만들고 있고, 각 컬럼의 타입과 제약 조건을 함께 정의하고 있어요.

한 줄씩 해석해 볼게요:

  • id INT AUTO_INCREMENT PRIMARY KEY : 고유번호 자동 증가 + 기본 키 지정
  • title VARCHAR(100) NOT NULL : 제목은 최대 100자, 빈칸 입력 금지
  • content TEXT NOT NULL : 긴 본문 저장 가능, 빈칸 불가
  • writer VARCHAR(50) NOT NULL : 작성자 이름, 50자 제한
  • created_at DATETIME DEFAULT CURRENT_TIMESTAMP : 현재 시간 자동 저장

💡 실전 팁: SQL 에러 방지

  • 세미콜론(;) 누락 주의! SQL 명령은 끝에 꼭 ; 붙이기
  • 컬럼명 오타 주의! 영문 오타 많아요...
  • 중복된 테이블명 있을 경우 DROP TABLE 먼저 실행

이제 SQL을 실행해보면 정말 테이블이 만들어질 거예요!

다음은 이 테이블에 실제로 데이터를 넣어보는 실습으로 넘어가볼게요 🙌

 

 

3. INSERT 문으로 데이터 입력하기 📥

게시판 테이블을 만들었으면 이제 본격적으로 데이터를 넣어봐야겠죠?

INSERT INTO 문은 데이터베이스에 새 행(row)을 추가할 때 사용하는 명령어예요.

입력 방법을 하나하나 실습하면서 확실히 익혀보죠!

✅ 기본 INSERT 구문 예시

INSERT INTO board (title, content, writer)
VALUES ('첫 번째 글입니다!', '이건 테스트 게시물의 본문입니다.', '홍길동');

보이시죠?

idcreated_at은 따로 입력하지 않았는데도 자동으로 들어갑니다.

그 이유는 id는 AUTO_INCREMENT, created_at은 기본값 CURRENT_TIMESTAMP로 설정했기 때문이에요.

🧪 실습용 샘플 데이터 더 넣어보기

INSERT INTO board (title, content, writer)
VALUES 
('두 번째 글입니다', '내용은 이렇게 다양하게 넣을 수 있어요.', '이순신'),
('세 번째 글도 있어요', '본문에 마크다운이나 HTML 태그가 들어갈 수도 있겠죠?', '강감찬'),
('DB 입력이 재밌어요!', 'INSERT 문 반복해보면 감 잡힙니다.', '유관순');

이렇게 한꺼번에 여러 개의 데이터를 넣을 수도 있어요.

VALUES 뒤에 괄호 묶인 데이터를 쉼표로 구분만 하면 됩니다.

실무에서도 이런 방식 자주 써요.

⚠️ 입력 시 주의사항

  • 문자열은 항상 작은 따옴표('')로 감싸야 합니다!
  • NULL 값을 허용하지 않는 칼럼은 반드시 값 입력 필요!
  • INSERT 전에 CREATE TABLE이 제대로 실행됐는지 꼭 확인!

이제 여러 개의 게시글이 잘 저장되었을 거예요.

다음으로 넘어가서 SELECT 문으로 데이터를 확인해보는 실습을 해볼게요.

진짜 저장이 잘 됐는지 직접 눈으로 확인하는 시간이죠!

 

 

4. 입력된 데이터 확인하기 🔍

데이터베이스에 데이터를 잘 넣었다면, 이제 그걸 눈으로 확인해봐야겠죠?

이럴 때 사용하는 명령어가 바로 SELECT입니다.

이 명령은 데이터를 조회할 때 사용돼요.

기본적인 형태부터 조건을 붙이는 방식까지 하나씩 익혀볼게요!

🔍 전체 데이터 조회하기

SELECT * FROM board;

이렇게 하면 board 테이블 안에 들어있는 모든 행(row)이 출력돼요.

각 게시글의 id, 제목, 내용, 작성자, 작성일시가 한눈에 보이겠죠?

DB 관리 도구나 터미널에서 직접 실행해보면 훨씬 와닿을 거예요.

🎯 특정 칼럼만 조회하기

SELECT title, writer FROM board;

모든 데이터를 볼 필요가 없을 땐 이렇게 필요한 컬럼만 골라서 조회할 수 있어요.

이건 실무에서 자주 쓰는 패턴이에요.

예를 들어

게시판 목록 페이지를 만들 때 제목과 작성자만 가져오면 딱 좋겠죠?

🔎 조건을 붙여서 조회하기 (WHERE)

SELECT * FROM board WHERE writer = '홍길동';

이 명령은 작성자가 '홍길동'인 게시글만 출력해줘요.

WHERE 조건은 SQL의 핵심 기능 중 하나인데, 이렇게 간단한 조건뿐만 아니라 숫자 비교, 날짜 비교, LIKE 검색 등도 가능합니다.

🧹 조회 결과 정렬하기 (ORDER BY)

SELECT * FROM board ORDER BY created_at DESC;

게시판에서 최신 글이 위에 나오도록 정렬하고 싶다면 ORDER BY를 사용하면 돼요.

DESC는 내림차순, ASC는 오름차순 정렬이에요.

기본은 오름차순이죠.

📌 자주 쓰는 SELECT 패턴 요약

용도 SQL 예시
모든 행 전체 보기 SELECT * FROM board;
제목만 보기 SELECT title FROM board;
작성자 조건 검색 SELECT * FROM board WHERE writer = '이순신';
최신순 정렬 SELECT * FROM board ORDER BY created_at DESC;

SELECT 문은 데이터베이스와 "대화"하는 가장 기본적인 수단이에요.

잘만 다루면 복잡한 데이터 분석도 가능하답니다.

다음 파트에서는 실무에서 자주 발생하는 상황과 예외 처리 팁을 알아볼게요!

 

 

5. 실무에서 쓰는 팁과 예외 처리 ⚠️

SQL 문법만 아는 걸로는 부족해요. 실제 서비스에서는 예외 상황안정성이 중요하거든요.

이번 섹션에서는 초보자들이 자주 실수하는 부분실전 꿀팁들을 정리해봤어요.

실무에서도 유용하게 쓰일 거예요!

🚫 자주 하는 실수 TOP 5

  1. 세미콜론(;)을 빼먹어서 실행이 안 됨
  2. 문자열을 작은따옴표로 안 감싸서 에러 발생
  3. NOT NULL인데 값을 안 넣고 INSERT 시도
  4. 오타로 인해 존재하지 않는 컬럼/테이블 호출
  5. 같은 테이블을 여러 번 만들려고 해서 오류 발생

💡 DROP TABLE IF EXISTS 사용하기

DROP TABLE IF EXISTS board;

이미 같은 이름의 테이블이 존재할 경우 새로 만들려고 하면 에러가 나요.

이럴 땐 위 명령어로 먼저 삭제해주는 게 안전합니다.

IF EXISTS를 붙이면 테이블이 존재할 때만 삭제하므로 실습 시 특히 유용해요!

🧠 INSERT 전에 데이터 유효성 검사하기

프론트엔드에서 유효성 검사를 하더라도, 백엔드나 DB단에서도 꼭 한 번 더 검증을 해주는 게 좋아요.

예를 들어 제목이나 작성자가 비어있으면 저장을 막거나, 내용의 길이가 너무 짧은 경우 경고 메시지를 띄우는 방식이죠.

🔐 트랜잭션(Transaction) 기본 개념

  • 여러 SQL 작업을 하나의 단위로 묶어서 처리
  • 중간에 에러가 발생하면 ROLLBACK으로 전체 취소
  • 모든 작업이 문제없이 끝났을 때만 COMMIT으로 저장
START TRANSACTION;
INSERT INTO board (title, content, writer) VALUES ('트랜잭션 글', '테스트 중입니다.', '관리자');
-- 중간에 에러 발생 시 ROLLBACK;
COMMIT;

이 개념은 조금 어려울 수 있지만, 진짜 실무에서는 꼭 필요해요.

특히 결제, 주문, 포인트 적립 같은 작업은 반드시 트랜잭션으로 감싸야 합니다.

이제 SQL의 기초부터 실전 팁까지 꽤 많이 배웠어요!

 

 

6. 마무리  ➡️

여기까지 따라오신 여러분, 정말 수고 많으셨습니다!

이제 여러분은 단순히 SQL 문법을 아는 수준을 넘어서,

게시판 테이블을 설계하고 직접 데이터를 입력하고 확인하는 실습까지 마스터하신 거예요.

이건 단순한 이론이 아니라, 실제 웹 서비스에서 사용하는 핵심 기능이에요. 👍

 

이제 여러분이 할 수 있는 다음 단계는 이런 것들이에요:

  • 댓글 테이블을 따로 만들어서 게시글과 연결해보기 (외래키 연습)
  • 게시글 수정과 삭제 기능 추가 (UPDATE, DELETE 문 활용)
  • 웹 프레임워크(FastAPI, Django 등)와 연동해서 게시판 페이지 구현

이제 SQL이 조금 더 익숙해지셨을 거예요.

처음엔 생소했던 CREATE, INSERT, SELECT 명령이 점점 손에 익는 느낌이 들지 않으셨나요?😉

다음 실습에서는 JOIN과 정규화 개념도 살펴볼 예정이니 기대해주세요!

반응형

+ Recent posts