MySQL 기초

MySQL은 세계에서 가장 널리 사용되는 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 웹 개발에서 데이터 저장 및 관리에 필수적인 역할을 합니다.

개요

MySQL은 데이터를 테이블, 행, 열로 구성하여 관리하는 데이터베이스 시스템입니다. 웹 애플리케이션의 사용자 정보, 게시물, 상품 정보 등 다양한 데이터를 저장하고, SQL(Structured Query Language)이라는 언어를 사용하여 데이터를 조작합니다.

참고

MySQL은 LAMP(Linux, Apache, MySQL, PHP/Python/Perl) 스택의 핵심 구성 요소이며, PHP와 같은 서버 언어와 함께 가장 많이 사용됩니다.

기본 문법

SQL 명령어는 대소문자를 구분하지 않지만, 가독성을 위해 키워드는 대문자로, 테이블/컬럼 이름은 소문자로 작성하는 것이 일반적입니다. 각 명령어는 세미콜론(;)으로 끝납니다.

SQL
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE
);

주요 SQL 명령어

SQL은 데이터를 조작하는 DML(Data Manipulation Language)과 데이터 구조를 정의하는 DDL(Data Definition Language)로 나뉩니다.

명령어 설명 구분
SELECT 데이터를 조회합니다. DML
INSERT INTO 새로운 데이터를 삽입합니다. DML
UPDATE 기존 데이터를 수정합니다. DML
DELETE FROM 데이터를 삭제합니다. DML
CREATE TABLE 새로운 테이블을 생성합니다. DDL
DROP TABLE 테이블을 삭제합니다. DDL

사용 예제

users 테이블에 데이터를 삽입하고 조회하는 예제입니다.

SQL
-- 데이터 삽입
INSERT INTO users (name, email) VALUES ('김철수', 'chulsoo@example.com');

-- 모든 데이터 조회
SELECT * FROM users;

-- 특정 조건에 맞는 데이터 조회
SELECT name, email FROM users WHERE id = 1;

주의사항 및 팁

  • MySQL 워크벤치, DBeaver 등 GUI 도구를 사용하면 데이터베이스를 시각적으로 관리할 수 있어 편리합니다.
  • WHERE 절을 사용하여 조건을 명시하지 않으면 테이블의 모든 데이터가 삭제되거나 수정될 수 있으므로 주의해야 합니다.
  • MySQL은 대용량 데이터를 효율적으로 처리하기 위한 인덱스(Index)나 관계(JOIN) 개념을 이해하는 것이 중요합니다.
주의

데이터베이스 연결 정보(호스트, 사용자 이름, 비밀번호)는 외부에 노출되지 않도록 안전하게 관리해야 합니다. 웹 서버의 코드에 직접 하드코딩하는 것은 매우 위험합니다.