[SQL&Database] MySQL 설치 및 기본 사용법

Comely·2025년 6월 9일

SQL

목록 보기
1/6

MySQL 설치하기

macOS 설치

방법 1: 설치 프로그램 사용 (권장)
1. https://dev.mysql.com/downloads/mysql/ 접속
2. MySQL Server Community Edition macOS 버전 다운로드

  • M1 이상 프로세서: ARM 버전 선택
  • Intel 프로세서: x86 버전 선택
  1. 설치 과정에서 MySQL root 계정 비밀번호 설정 (반드시 기억!)

방법 2: Homebrew 사용

brew install mysql

환경 변수 설정 (macOS)

1. 터미널 종류 확인 후 설정 파일 열기

# zsh 사용 시
open ~/.zshrc

# bash 사용 시  
open ~/.bash_profile

2. PATH 추가

export PATH="$PATH:/usr/local/mysql/bin/"
  • MySQL 설치 경로가 다를 경우 해당 경로로 수정

3. 터미널 재시작 후 MySQL 접속

mysql -u root -p
  • root 계정 비밀번호 입력하여 MySQL 서버 실행

DBeaver 설치 및 연결

DBeaver 설치

  1. 구글에서 "DBeaver" 검색하여 공식 사이트 접속
  2. 운영체제에 맞는 버전 다운로드
    • M1 Mac: Apple Silicon 버전
    • Intel Mac/Windows: 해당 버전

MySQL 연결 설정

  1. DBeaver 실행 후 "새 데이터베이스 연결" 클릭
  2. MySQL 선택
  3. 연결 정보 입력:
    • Host: localhost (로컬 설치 시)
    • Username: root
    • Password: MySQL 설치 시 설정한 비밀번호
  4. "연결 테스트" 후 연결 완료

자주 발생하는 문제 해결

Windows 환경

MySQL Workbench Local Instance 시작 실패
1. 윈도우 검색 → "환경 변수 편집"
2. Path 변수에 C:\Windows\System32 추가

DBeaver MySQL 연결 실패
1. 윈도우 검색 → "서비스"
2. MYSQL80 서비스 찾아서 우클릭 → 시작
3. MySQL Workbench에서도 서버 실행 상태 확인

macOS 환경

# 터미널에서 MySQL 서버 실행 여부 확인
mysql -u root -p

Database와 Table 생성

Database 생성

-- DBeaver에서 Databases 우클릭 → Create New Database
-- 또는 SQL로 생성
CREATE DATABASE mart;

Table 생성과 Column 설정

-- product 테이블 생성 예시
CREATE TABLE product (
    번호 INT,
    상품명 VARCHAR(100),
    카테고리 VARCHAR(50),
    가격 INT
);

Column 설정 시 고려사항

  • Data Type: 저장할 데이터의 종류에 맞게 선택
  • 용량: 예상되는 최대 크기보다 여유있게 설정
  • 제약조건: NULL 허용 여부, 기본값 등

MySQL Data Types

문자형 데이터

Data Type저장 가능한 양특징
CHAR0~255자고정 길이, CHAR(10)은 항상 10자 용량 차지
VARCHAR0~65,535자가변 길이, 실제 데이터 크기만큼 용량 차지
TEXT0~65,535자긴 텍스트용
MEDIUMTEXT0~1,600만자매우 긴 텍스트용 (블로그 글 등)

사용 팁

  • 일반적인 문자 저장: VARCHAR 사용
  • 긴 글 저장: MEDIUMTEXT 사용
  • VARCHAR(300) 설정 후 10자만 저장해도 10자+1byte만 차지

숫자형 데이터

Data Type저장 범위용량특징
SMALLINT-32,768 ~ 32,7672byte작은 숫자용
INT-21억 ~ 21억4byte가장 많이 사용
BIGINT-900경 ~ 900경8byte매우 큰 숫자용
FLOAT-10^38 ~ 10^384byte소수점 7자리, 약간의 오차
DOUBLE-10^308 ~ 10^3088byte소수점 14자리, 약간의 오차
DECIMAL최대 65자리가변소수점 30자리, 오차 없음

사용 팁

  • 일반적인 정수: INT 사용
  • 양수만 저장: UNSIGNED 옵션 추가 (범위가 2배로 확장)
  • 정확한 소수점 계산: DECIMAL 사용 (금융 데이터 등)

날짜/시간형 데이터

Data Type저장 범위형식특징
DATE1000년~9999년YYYY-MM-DD날짜만 저장
TIME-839~+838시간HH:MM:SS시간의 양 저장
DATETIME1000년~9999년YYYY-MM-DD HH:MM:SS날짜와 시간 모두 저장
TIMESTAMP1970년~2038년YYYY-MM-DD HH:MM:SS2038년 문제로 권장하지 않음

사용 팁

  • 일반적인 날짜/시간 저장: DATETIME 사용
  • 현재 시간 자동 기록: TIMESTAMP 간혹 사용

기본 SQL 문법

SELECT 문법 (데이터 조회)

기본 조회

-- 모든 컬럼 조회
SELECT * FROM 테이블명;

-- 특정 컬럼만 조회
SELECT 컬럼명 FROM 테이블명;

-- 여러 컬럼 조회
SELECT 컬럼명1, 컬럼명2 FROM 테이블명;

-- 다른 데이터베이스의 테이블 조회
SELECT * FROM 데이터베이스명.테이블명;

ORDER BY (정렬)

기본 정렬

-- 오름차순 정렬 (ASC는 생략 가능)
SELECT * FROM product ORDER BY 가격 ASC;

-- 내림차순 정렬
SELECT * FROM product ORDER BY 가격 DESC;

-- 여러 컬럼 기준 정렬
SELECT * FROM product ORDER BY 카테고리 ASC, 가격 DESC;

-- 컬럼 번호로 정렬 (3번째 컬럼 기준)
SELECT * FROM product ORDER BY 3 DESC;

정렬 순서

  • ASC (오름차순): A→Z, 1→9
  • DESC (내림차순): Z→A, 9→1

WHERE (조건 필터링)

기본 조건

-- 문자 조건 (따옴표 필수)
SELECT * FROM product WHERE 카테고리 = '가구';

-- 숫자 조건 (따옴표 불필요)
SELECT * FROM product WHERE 가격 > 50000;

-- 범위 조건
SELECT * FROM product WHERE 가격 BETWEEN 5000 AND 8000;

비교 연산자

  • = : 같음
  • != : 같지 않음
  • >, < : 크다, 작다
  • >=, <= : 크거나 같다, 작거나 같다

복합 조건 (AND, OR, NOT)

AND 조건 (모든 조건 만족)

SELECT * FROM product 
WHERE 카테고리 = '가구' AND 가격 = 5000;

OR 조건 (하나 이상 조건 만족)

SELECT * FROM product 
WHERE 카테고리 = '가구' OR 가격 = 5000;

NOT 조건 (조건 제외)

SELECT * FROM product 
WHERE NOT 카테고리 = '가구';

괄호를 이용한 조건 그룹화

SELECT * FROM product 
WHERE (카테고리 = '가구' OR 카테고리 = '옷') AND 가격 = 5000;

IN 문법 (여러 값 중 일치)

OR 조건을 IN으로 간단히 표현

-- 기존 방식 (OR 여러 개)
SELECT * FROM product 
WHERE 카테고리 = '신발' OR 카테고리 = '가전' OR 카테고리 = '식품';

-- IN 사용 (더 간단)
SELECT * FROM product 
WHERE 카테고리 IN ('신발', '가전', '식품');

-- NOT IN (제외)
SELECT * FROM product 
WHERE 상품명 NOT IN ('셔츠', '반팔티', '운동화');

IN 사용 조건

  • 같은 컬럼에서 여러 값 중 하나와 일치하는 경우
  • 다른 컬럼 간의 OR 조건에는 사용 불가

실습 예제

기본 조회 실습

-- 1. 재고가 20 이하인 상품을 상품명 가나다 순으로 조회
SELECT * FROM product 
WHERE 재고 <= 20 
ORDER BY 상품명;

-- 2. 가격이 3000원 미만이거나 6000원 초과인 상품 조회
SELECT * FROM product 
WHERE 가격 < 3000 OR 가격 > 6000;

-- 3. 카테고리가 '옷'이 아니면서 가격이 5000원인 상품 조회
SELECT * FROM product 
WHERE 카테고리 != '옷' AND 가격 = 5000;

CSV 파일 불러오기

  1. DBeaver에서 테이블 우클릭 → "데이터 가져오기"
  2. "CSV에서 가져오기" 선택
  3. 한글 데이터의 경우 인코딩을 EUC-KR로 설정
  4. 파일명과 동일한 테이블 생성하여 데이터 입력

주요 문법 정리

  • SELECT FROM: 데이터 조회의 기본 ("셀프"로 기억)
  • ORDER BY: 정렬 (ASC/DESC)
  • WHERE: 조건 필터링
  • AND/OR/NOT: 복합 조건
  • IN: 여러 값 중 일치 조건
  • BETWEEN: 범위 조건

이러한 기본 문법들을 조합하면 복잡한 데이터 조회와 분석이 가능합니다.

profile
App, Web Developer

0개의 댓글