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