백엔드

MySQL - 백엔드 개발자가 알아야 할 데이터베이스 기초

빡성 2025. 2. 14. 22:13

1. MySQL이란?

MySQL은 가장 널리 사용되는 관계형 데이터베이스 관리 시스템(RDBMS, Relational Database Management System) 입니다.
데이터를 표 형태의 구조(테이블)로 저장하며, SQL(Structured Query Language) 을 사용하여 데이터를 조회, 삽입, 수정, 삭제할 수 있습니다.

대표적인 사용 사례로는 웹 애플리케이션, 온라인 쇼핑몰, 기업 시스템, 데이터 분석 등이 있습니다.
특히, 백엔드 개발에서 데이터 저장 및 관리의 핵심 역할을 담당합니다.

 

MySQL의 특징

  • 오픈 소스이며 무료로 사용 가능
  • 빠르고 안정적인 성능 제공
  • SQL 표준 지원
  • 대규모 트래픽 처리 가능
  • AWS RDS, Google Cloud SQL 등 클라우드 서비스와 연동 가능

2. MySQL의 기본 개념

MySQL에서 가장 중요한 개념은 데이터베이스(Database)와 테이블(Table) 입니다.
MySQL은 데이터를 여러 개의 테이블에 저장하며, 테이블 간 관계를 설정하여 효율적으로 관리합니다.

 

 Database (예: 쇼핑몰)
   ├──  users (회원 정보 테이블)
   ├──  products (상품 정보 테이블)
   ├──  orders (주문 정보 테이블)

 

각 테이블은 여러 개의 열(Column)과 행(Row) 로 구성됩니다.
예를 들어, users(회원 정보) 테이블이 다음과 같다고 가정해 보겠습니다.

id name email created_at
1 홍길동 hong@example.com 2024-02-11 12:00:00
2 이순신 lee@example.com 2024-02-11 12:30:00
  • 각 열(Column): id, name, email, created_at (속성/필드)
  • 각 행(Row): 하나의 사용자 데이터

3. MySQL 기본 명령어

MySQL을 다루기 위해서는 SQL 문법을 알아야 합니다.
자주 사용되는 SQL 명령어를 몇 가지 살펴보겠습니다.

 

🔹 데이터베이스 생성 및 선택

CREATE DATABASE mydb;   -- 데이터베이스 생성
USE mydb;               -- 해당 데이터베이스 사용

 

🔹 테이블 생성

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,   -- 기본키 (자동 증가)
    name VARCHAR(100) NOT NULL,          -- 이름 (최대 100자)
    email VARCHAR(255) UNIQUE NOT NULL,  -- 이메일 (고유 값)
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP  -- 생성 날짜
);

 

🔹 데이터 삽입 (INSERT)

INSERT INTO users (name, email) VALUES ('홍길동', 'hong@example.com');

 

🔹 데이터 조회 (SELECT)

SELECT * FROM users;  -- 모든 데이터 조회
SELECT name, email FROM users WHERE id = 1;  -- 특정 사용자 정보 조회

 

🔹 데이터 수정 (UPDATE)

UPDATE users SET email = 'newemail@example.com' WHERE id = 1;

 

🔹 데이터 삭제 (DELETE)

DELETE FROM users WHERE id = 1;

 

이 외에도 JOIN, GROUP BY, INDEX, TRANSACTION 등의 개념이 존재하며, 이를 활용하면 더 효율적인 데이터베이스 설계가 가능합니다.

 

4. MySQL의 주요 개념

🔹 Primary Key (기본 키)

  • 각 행을 고유하게 식별하는 키 (예: id 컬럼)
  • AUTO_INCREMENT 옵션을 사용하면 자동으로 증가하는 숫자로 설정 가능

🔹 Foreign Key (외래 키)

  • 테이블 간 연관 관계(1:N, N:M) 를 설정할 때 사용

🔹 Index (인덱스)

  • 검색 성능을 향상시키는 데이터베이스 기능
  • INDEX 를 설정하면 특정 컬럼을 기준으로 빠르게 조회 가능

🔹 Transaction (트랜잭션)

  • 여러 개의 SQL 연산을 하나의 작업 단위로 묶어 처리
  • 중간에 오류가 발생하면 ROLLBACK(되돌리기) 가능

'백엔드' 카테고리의 다른 글

[SpringBoot] Bean이란?  (0) 2025.10.11
[Spring Boot] Framework  (0) 2025.10.11
AWS 클라우드 서비스  (0) 2025.02.10
웹 서버의 동작 원리  (0) 2025.02.10
JavaScript 기본 개념 및 백엔드 활용 코드  (0) 2025.02.10