MySQL은 관계형 데이터베이스 관리 시스템(RDBMS)으로 다양한 메서드를 사용하여 데이터를 조작하고 분석할 수 있습니다. 데이터를 패칭하는 기본적인 메서드들을 예시를 함께 까먹지 않도록 남겨보려고 합니다.
목업 데이터 생성
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
age INT,
department VARCHAR(100),
salary DECIMAL(10, 2),
joined_date TIMESTAMP
);
이제 테이블에 몇 명의 직원을 추가하겠습니다.
INSERT INTO employees (name, age, department, salary, joined_date)
VALUES
('John Doe', 30, 'Finance', 50000.00, NOW()),
('Jane Smith', 25, 'IT', 48000.00, '2021-06-17'),
('Emma Jones', 45, 'IT', 55000.00, '2019-05-21'),
('Michael Brown', 31, 'Marketing', 45000.00, '2020-02-15');
SELECT 문
SELECT * FROM employees;
데이터 조회는 가장 기본적인 작업 중 하나입니다.
조건을 사용한 SELECT 문
특정 조건을 만족하는 행만 선택합니다.
SELECT * FROM employees WHERE department = 'IT';
데이터의 업데이트 (UPDATE)
직원의 정보를 업데이트하는 방법입니다.
UPDATE employees SET salary = 51000 WHERE name = 'Jane Smith';
데이터의 삭제 (DELETE)
데이터를 삭제하는 방법입니다.
DELETE FROM employees WHERE name = 'Michael Brown';
JOIN 사용
두 테이블을 연결하여 데이터를 조회합니다. 다음은 employees 테이블과 가상의 department 테이블을 JOIN하는 예입니다.
집계 함수 (AVG, COUNT, MAX 등)
직원들의 평균 연봉을 계산합니다.
SELECT employees.name, department.dept_name
FROM employees
JOIN department ON employees.department = department.id;
날짜 함수 사용
특정 월에 입사한 직원 수를 찾습니다.
SELECT AVG(salary) AS average_salary FROM employees;
SELECT COUNT(*) FROM employees
WHERE MONTH(joined_date) = '06';
이러한 기본적인 SQL 명령들을 사용하여 MySQL 데이터베이스에서 다양한 작업을 수행할 수 있습니다. 각 명령의 결과와 상호 작용을 이해하면, 실제 데이터베이스 환경에서 효율적으로 데이터를 관리하고 문제를 해결할 수 있습니다.
JOIN 연산 예시
employees 테이블
id | name | department |
---|---|---|
1 | John Doe | 1 |
2 | Jane Smith | 2 |
3 | Emma Jones | 2 |
4 | Michael Brown | 3 |
department 테이블
id | dept_name |
---|---|
1 | Finance |
2 | IT |
3 | Marketing |
JOIN 연산 결과
SELECT employees.name, department.dept_name
FROM employees
JOIN department ON employees.department = department.id;
이 쿼리는 employees 테이블의 department 필드와 department 테이블의 id 필드를 연결합니다. 이로 인해 각 직원의 이름과 그들이 속한 부서의 이름이 함께 나타납니다.
name | dept_name |
---|---|
John Doe | Finance |
Jane Smith | IT |
Emma Jones | IT |
Michael Brown | Marketing |