MySQL Examples
MySQL Examples: 기본적인 MySQL 예제
MySQL은 데이터베이스를 관리하는 데 사용되는 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 이 가이드는 기본적인 MySQL 예제를 통해 데이터베이스, 테이블 생성 및 데이터 조작을 설명합니다.
1. 데이터베이스 생성
MySQL에서 새로운 데이터베이스를 생성하는 예제입니다.
CREATE DATABASE my_database;
- 설명:
CREATE DATABASE
: 새로운 데이터베이스를 생성하는 명령어입니다.my_database
: 생성하려는 데이터베이스 이름.
2. 데이터베이스 선택
데이터베이스를 생성한 후, 그 데이터베이스를 사용하기 위해 선택합니다.
USE my_database;
- 설명:
USE
: 특정 데이터베이스를 선택하는 명령어입니다.my_database
: 사용하고자 하는 데이터베이스 이름.
3. 테이블 생성
새로운 테이블을 생성하여 데이터를 저장할 수 있습니다.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
- 설명:
CREATE TABLE
: 새로운 테이블을 생성하는 명령어입니다.id
: 자동 증가되는 사용자 ID (기본 키).name
: 최대 100자의 문자열을 저장할 수 있는 필드.email
: 이메일 주소를 저장하는 필드.created_at
: 사용자가 생성된 시간을 자동으로 기록하는 필드.
4. 데이터 삽입
테이블에 데이터를 삽입하는 예제입니다.
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
- 설명:
INSERT INTO
: 테이블에 데이터를 삽입하는 명령어입니다.users
: 데이터가 삽입될 테이블 이름.(name, email)
: 삽입할 필드들.VALUES
: 삽입할 데이터 값.
5. 여러 데이터 삽입
한 번에 여러 데이터를 삽입할 수 있습니다.
INSERT INTO users (name, email)
VALUES
('Bob', 'bob@example.com'),
('Charlie', 'charlie@example.com');
- 설명:
- 여러 행의 데이터를 한 번에 삽입하기 위해 여러 개의
VALUES
그룹을 사용합니다.
- 여러 행의 데이터를 한 번에 삽입하기 위해 여러 개의
6. 데이터 조회
테이블에서 데이터를 조회하는 기본적인 쿼리입니다.
SELECT * FROM users;
- 설명:
SELECT *
: 모든 필드를 선택.FROM users
:users
테이블에서 데이터를 조회합니다.
특정 컬럼만 조회:
SELECT name, email FROM users;
- 설명:
- 특정 컬럼(
name
,email
)만 조회할 수 있습니다.
- 특정 컬럼(
7. 조건을 사용한 데이터 조회 (WHERE)
특정 조건에 맞는 데이터를 조회할 수 있습니다.
SELECT * FROM users WHERE email = 'alice@example.com';
- 설명:
WHERE
: 조건을 설정하여 특정 데이터를 조회합니다.email = 'alice@example.com'
: 이메일 주소가'alice@example.com'
인 사용자를 조회합니다.
8. 데이터 업데이트
기존 데이터를 수정할 수 있습니다.
UPDATE users SET email = 'newalice@example.com' WHERE name = 'Alice';
- 설명:
UPDATE
: 테이블에서 데이터를 수정하는 명령어.SET
: 수정할 컬럼과 값을 설정.WHERE
: 조건을 설정하여 특정 행만 수정.
9. 데이터 삭제
테이블에서 특정 데이터를 삭제할 수 있습니다.
DELETE FROM users WHERE name = 'Charlie';
- 설명:
DELETE FROM
: 테이블에서 데이터를 삭제하는 명령어.WHERE
: 조건에 맞는 데이터를 삭제.
10. 테이블 삭제
테이블을 삭제하는 명령어입니다.
DROP TABLE users;
- 설명:
DROP TABLE
: 특정 테이블을 완전히 삭제하는 명령어입니다.
11. 테이블 구조 확인
테이블의 구조(스키마)를 확인할 수 있습니다.
DESCRIBE users;
- 설명:
DESCRIBE
: 테이블의 필드, 데이터 타입, 기본값 등을 확인하는 명령어입니다.
12. 데이터 정렬 (ORDER BY)
조회된 데이터를 정렬하여 출력할 수 있습니다.
SELECT * FROM users ORDER BY name ASC;
- 설명:
ORDER BY
: 데이터를 정렬하는 명령어.ASC
: 오름차순 정렬(기본값).DESC
: 내림차순 정렬.
13. 제한된 데이터 조회 (LIMIT)
조회할 데이터의 개수를 제한할 수 있습니다.
SELECT * FROM users LIMIT 3;
- 설명:
LIMIT
: 조회할 데이터의 최대 개수를 제한합니다.
14. 기본 키 제약 조건
테이블 생성 시 특정 필드를 기본 키로 설정할 수 있습니다.
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
price DECIMAL(10, 2)
);
- 설명:
PRIMARY KEY
: 테이블에서 고유한 값을 갖는 필드를 정의합니다.AUTO_INCREMENT
: 새 레코드가 추가될 때 자동으로 1씩 증가하는 값을 생성합니다.
15. JOIN을 사용한 테이블 결합
두 개 이상의 테이블을 결합하여 데이터를 조회할 수 있습니다. 다음은 INNER JOIN의 예시입니다.
SELECT orders.id, customers.name, orders.order_date
FROM orders
INNER JOIN customers ON orders.customer_id = customers.id;
- 설명:
INNER JOIN
: 두 테이블에서 일치하는 데이터를 결합하여 조회합니다.orders.customer_id = customers.id
:orders
테이블의customer_id
와customers
테이블의id
를 기준으로 결합.
16. 그룹화 (GROUP BY)와 집계 함수 (COUNT, SUM)
데이터를 그룹화하여 특정 필드의 값을 집계할 수 있습니다.
SELECT COUNT(*), name FROM users GROUP BY name;
- 설명:
COUNT(*)
: 그룹별로 행의 개수를 셉니다.GROUP BY
: 같은 값을 가진 행을 그룹화하여 처리합니다.
합계 구하기:
SELECT SUM(price) FROM products;
- 설명:
SUM()
:price
필드의 합계를 계산합니다.
17. 데이터베이스 삭제
데이터베이스를 삭제하는 명령어입니다.
DROP DATABASE my_database;
- 설명:
DROP DATABASE
: 데이터베이스를 삭제하는 명령어입니다.
요약
이 가이드는 MySQL의 기본적인 사용 방법을 예제로 설명합니다. 데이터베이스와 테이블을 생성하고, 데이터를 삽입, 조회, 수정, 삭제하는 과정에서 사용되는 주요 SQL 문법을 포함하고 있습니다. 이 예제들을 통해 MySQL의 기초를 익히고, 데이터베이스 관리에 대한 이해를 높일 수 있습니다.