기술면접 준비2 MSSQL vs MySQL(특징, 차이점, 주요 명령어, 그리고 툴 사용법까지)

2025. 3. 6. 22:36뭐든, 공부한 내용 기록/오늘 나는 무얼 배웠나

 

1. MSSQL vs MySQL 비교

구분 MSSQL (Microsoft SQL Server) MySQL

개발사 Microsoft Oracle (초기 MySQL AB)
라이선스 상용 (무료 버전: Express) 오픈소스 (MySQL Community)
운영체제 Windows 중심 (Linux도 지원) Windows, Linux, macOS 지원
트랜잭션 처리 ACID 완벽 지원, 높은 안정성 InnoDB 엔진 사용 시 ACID 지원
확장성 대규모 기업 시스템에 적합 웹 서비스, 스타트업에 적합
쿼리 작성 T-SQL 사용 SQL 표준에 가깝지만 약간의 차이 있음
인덱스 클러스터형 및 넌클러스터형 지원 PRIMARY KEY는 기본적으로 클러스터형
백업 및 복구 GUI 기반 강력한 백업 지원 mysqldump, binlog 백업

MSSQL은 기업용, 복잡한 트랜잭션이 많은 환경에 적합.
MySQL은 웹 서비스, 빠른 개발 환경에 적합.


2. MSSQL 주요 명령어 및 툴 사용법

📌 설치 및 접속

  • 설치:
  • 서버 접속:
    1. Windows 인증
      • SSMS 실행 → 서버 이름 입력 → Windows 인증 선택 후 로그인
    2. SQL Server 인증
      • ID, PW 입력 후 접속

📌 기본 SQL 명령어

-- 데이터베이스 생성
CREATE DATABASE HospitalDB;

-- 데이터베이스 선택
USE HospitalDB;

-- 테이블 생성
CREATE TABLE Patient (
    id INT IDENTITY(1,1) PRIMARY KEY,
    name VARCHAR(100),
    dob DATE,
    phone VARCHAR(20)
);

-- 데이터 삽입
INSERT INTO Patient (name, dob, phone) VALUES ('홍길동', '1990-01-01', '010-1234-5678');

-- 데이터 조회
SELECT * FROM Patient;

-- 인덱스 생성
CREATE INDEX idx_patient_name ON Patient(name);

-- 백업 명령어 (SSMS에서 사용)
BACKUP DATABASE HospitalDB TO DISK = 'C:\Backup\HospitalDB.bak';

3. MySQL 주요 명령어 및 툴 사용법

📌 설치 및 접속

  • 설치:
  • 서버 접속:
    1. CLI 접속 (Command Line)
      mysql -u root -p
      
    2. Workbench 접속
      • New Connection 클릭 → Hostname, Username 입력 후 접속

📌 기본 SQL 명령어

-- 데이터베이스 생성
CREATE DATABASE HospitalDB;

-- 데이터베이스 선택
USE HospitalDB;

-- 테이블 생성
CREATE TABLE Patient (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    dob DATE,
    phone VARCHAR(20)
);

-- 데이터 삽입
INSERT INTO Patient (name, dob, phone) VALUES ('홍길동', '1990-01-01', '010-1234-5678');

-- 데이터 조회
SELECT * FROM Patient;

-- 인덱스 생성
CREATE INDEX idx_patient_name ON Patient(name);

-- 백업 명령어
mysqldump -u root -p HospitalDB > hospital_backup.sql

4. MSSQL vs MySQL 툴 사용법 비교

기능 MSSQL (SSMS) MySQL (Workbench)

GUI 기반 관리 SSMS에서 가능 Workbench에서 가능
쿼리 실행 "New Query" 창에서 실행 "SQL Editor" 창에서 실행
백업 BACKUP DATABASE 명령 또는 GUI 지원 mysqldump 사용
복구 GUI에서 Restore 기능 mysql < backup.sql 명령 사용
데이터베이스 관리 SSMS의 Object Explorer Workbench의 Navigator

5. 결론: 어떤 걸 선택해야 할까?

MSSQL이 유리한 경우

  • 기업 환경, 트랜잭션이 많고 대규모 데이터 처리 필요할 때
  • 강력한 GUI 툴(SSMS)과 백업/복구 기능이 필요할 때

MySQL이 유리한 경우

  • 웹 서비스, 스타트업, 빠른 개발이 필요한 환경
  • 오픈소스 및 다양한 OS 지원이 필요할 때