반응형

데이터 정의어(DDL)의 핵심!
CREATE, ALTER, DROP 완전 정복

SQL 문법 중에서도 가장 기본이자 가장 중요한 명령어,
CREATE, ALTER, DROP을 정확하게 알고 계신가요?

 

 

안녕하세요, 여러분 😊
오늘은 데이터베이스 기초 중에서도 실무와 시험, 어디서든 반드시 등장하는 핵심 개념인 데이터 정의어(DDL)에 대해 자세히 알아보려 해요.

특히 이 글에서는 CREATE, ALTER, DROP이라는 3대 명령어를 중심으로, 실제 사용 예제와 함께 초보자도 쉽게 이해할 수 있도록 하나하나 짚어드릴 거예요.
처음 배우는 분들도 걱정 마세요! 실수하기 쉬운 포인트까지 친절하게 알려드릴 테니까요.

1. CREATE 문 – 테이블 생성의 시작 📦

CREATE 문은 데이터베이스에서 테이블을 처음 만들 때 사용하는 명령어예요.
어떤 데이터를 저장할지, 그 데이터가 어떤 형태를 가질지, 테이블의 기본 틀을 만드는 과정이죠.

SQL 문법에서 가장 기본적인 작업이지만, 정확하게 이해하고 써야 실수 없이 데이터베이스를 설계할 수 있습니다.

🧾 CREATE 문 기본 문법

CREATE TABLE 테이블명 (
    컬럼1 데이터타입 [제약조건],
    컬럼2 데이터타입 [제약조건],
    ...
);

 

예시로 살펴보면 훨씬 이해가 쉬워요. 아래에 간단한 회원 테이블을 만들어 볼게요.

CREATE TABLE members (
    id INT PRIMARY KEY,
    username VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    created_at DATE
);

📝 주요 구성 요소 정리

요소 설명
테이블명 생성할 테이블의 이름
컬럼명 테이블에 포함될 각 열의 이름
데이터 타입 해당 열이 저장할 데이터의 형식 (예: INT, VARCHAR, DATE)
제약조건 NOT NULL, PRIMARY KEY 등 데이터 무결성 확보용 조건

💡 실전 팁

  • 테이블명은 복수형보다 단수형이 일반적입니다. 예: user, order
  • PRIMARY KEY는 한 테이블에 하나만 설정 가능하니 주의!
  • NOT NULL은 데이터를 꼭 입력해야 하는 컬럼에 붙이세요.

이렇게 CREATE 문은 테이블을 처음 설계할 때 필수적으로 사용되며, 앞으로 데이터베이스 설계나 개발 시 가장 많이 쓰이는 문장 중 하나예요.
자주 실습해보면서 익혀두면 나중에 데이터베이스 실무에서도 유용하게 써먹을 수 있어요 😊

 

 

2. ALTER 문 – 테이블 구조 변경하기 🔧

실제 서비스를 운영하다 보면 테이블 구조를 처음 설계한 대로만 쓰기 어렵습니다.

새로운 컬럼을 추가하거나 기존 컬럼을 수정하거나, 때로는 삭제해야 할 때도 있어요.

그럴 때 사용하는 명령어가 바로 ALTER 문입니다.

🔧 ALTER 문 기본 문법

-- 컬럼 추가
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입;

-- 컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

-- 컬럼 이름 변경 (DBMS마다 문법 차이 있음)
ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼 TO 새컬럼;

-- 컬럼 속성 수정
ALTER TABLE 테이블명 MODIFY 컬럼명 새데이터타입;

 

예제를 통해 ALTER 문의 주요 사용법을 확인해볼게요.

-- 회원 테이블에 phone 컬럼 추가
ALTER TABLE members ADD phone VARCHAR(20);

-- email 컬럼 삭제
ALTER TABLE members DROP COLUMN email;

-- created_at 컬럼을 signup_date로 이름 변경
ALTER TABLE members RENAME COLUMN created_at TO signup_date;

-- phone 컬럼 데이터 타입 수정
ALTER TABLE members MODIFY phone VARCHAR(50);

🧩 ALTER 문으로 할 수 있는 주요 작업 정리

작업 설명
ADD 새로운 컬럼 추가
DROP 기존 컬럼 삭제
RENAME 컬럼명 변경
MODIFY 데이터 타입 또는 제약조건 변경

⚠️ 실무에서의 주의사항

  • 컬럼 삭제(DROP)는 복구 불가능할 수 있으므로 백업 필수!
  • MODIFY 문은 일부 DB에서 형식이 다를 수 있으니 DBMS 매뉴얼 확인 필수!
  • 실시간 운영 중인 테이블은 변경 전 트랜잭션 및 롤백 고려 필요

ALTER 문을 잘 다루면, 테이블을 새로 만들 필요 없이 유연하게 구조를 조정할 수 있습니다.
서비스가 성장하면서 데이터도 함께 진화하는 만큼, 이 명령어는 꼭 익혀두세요!

 

 

3. DROP 문 – 테이블 삭제 주의사항 🗑️

DROP 문은 데이터베이스에서 테이블이나 전체 객체를 완전히 삭제할 때 사용하는 명령어예요.
DELETE 문과 비슷하다고 오해하는 경우가 많은데, DROP은 테이블 자체를 지워버리기 때문에 되돌릴 수 없어요!

🧨 DROP 문 기본 문법

-- 테이블 삭제
DROP TABLE 테이블명;

-- 전체 데이터베이스 삭제
DROP DATABASE 데이터베이스명;

 

예제를 통해 DROP 문이 얼마나 강력한 명령어인지 감을 잡아보세요.

-- members 테이블 삭제
DROP TABLE members;

-- dev_db 데이터베이스 삭제
DROP DATABASE dev_db;

❗ DROP과 DELETE의 차이점

비교 항목 DROP DELETE
기능 테이블 자체를 삭제 데이터(레코드)만 삭제
ROLLBACK 일반적으로 불가능 가능 (트랜잭션 내에서)
속도 빠름 (구조까지 삭제) 비교적 느림
사용 주기 정리나 초기화 목적 데이터 수정·갱신 목적

⚠️ DROP 사용 시 주의사항

  • DELETE는 데이터만 지우고 구조는 남는다.
  • DROP은 ROLLBACK 불가. 실행 전 반드시 백업 또는 재확인 필수!
  • 실제 운영 DB에서는 가급적 DROP 지양. 테스트 환경에서 먼저 실행해 보세요.

DROP 문은 정말 강력하지만 그만큼 위험할 수 있는 명령어입니다.
데이터 전체 손실로 이어질 수 있으니 꼭 신중하게 사용하고, 필요하다면 DELETE 또는 TRUNCATE와의 차이점도 함께 비교해보는 습관을 들이세요.

 

 

4. DDL과 DML의 차이점은? 🤔

SQL을 공부하다 보면 꼭 마주치는 개념이 바로

DDL(Data Definition Language)DML(Data Manipulation Language)이에요.
두 용어 모두 SQL의 하위 분류지만,

역할과 기능이 완전히 다르기 때문에 확실하게 구분해서 알아두는 게 중요합니다.

🆚 DDL vs DML 비교표

구분 DDL DML
풀네임 Data Definition Language Data Manipulation Language
역할 테이블 구조 정의 및 변경 테이블 안의 데이터 조작
대표 명령어 CREATE, ALTER, DROP INSERT, UPDATE, DELETE, SELECT
ROLLBACK 불가능 (일반적으로 즉시 반영) 가능 (트랜잭션 사용 시)
사용 시점 초기 테이블 설계 또는 구조 변경 시 일상적인 데이터 입력 및 수정 작업 시

📌 핵심 요약

  • DDL은 테이블 "뼈대"를 만드는 것!
  • DML은 그 안에 "내용물"을 채우고 바꾸는 작업!

초보자 입장에서는 두 개념을 헷갈리는 일이 잦지만, 실무나 면접에서도 자주 나오는 구분이니 꼭 정리해두세요.
구조(DDL) vs 데이터(DML)라는 큰 틀로 이해하면 더 쉬워요!

 

 

5. 실전 예제로 배우는 DDL 활용법 💡

이제 이론만 보고 끝낼 수는 없죠?

실제 상황에서 어떻게 CREATE, ALTER, DROP을 사용하는지, 실전 예제를 통해 알아보겠습니다.

실습 환경은 MySQL 또는 MariaDB 기준이며, 로컬에서 직접 실행해보시면 학습 효과가 훨씬 좋아요!

🛠️ Step 1: 사용자 테이블 생성

CREATE TABLE users (
    user_id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(30) NOT NULL,
    password VARCHAR(100) NOT NULL,
    email VARCHAR(50),
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
  • AUTO_INCREMENT로 user_id 자동 증가
  • created_at 기본값으로 현재 시간 자동 설정

🛠️ Step 2: 컬럼 추가 (ALTER)

ALTER TABLE users ADD phone_number VARCHAR(20);

 

운영 중 “휴대폰 번호” 컬럼이 필요하다는 요청이 들어왔을 때 이렇게 ALTER로 유연하게 대응할 수 있어요.

🛠️ Step 3: 테이블 삭제 (DROP)

DROP TABLE users;

 

테스트용으로 만든 테이블을 완전히 삭제할 때 유용하지만, 실서비스에서는 신중하게 사용해야 해요!

🧠 실전에서 자주 쓰는 DDL 흐름

  1. 개발 초기 - CREATE로 테이블 설계
  2. 요구사항 변경 - ALTER로 컬럼 추가/수정
  3. 테스트 종료 시 - DROP으로 정리

이처럼 DDL 명령어는 프로젝트 전체 생명주기에서 필수로 활용되며, 특히 초기 설계 및 유지보수 단계에서 그 진가를 발휘합니다.
직접 연습해보고, 실제 서비스에서 사용할 수 있을 만큼 자신감을 키워보세요!

 

 

마무리하며 ✨

지금까지 CREATE, ALTER, DROP을 중심으로 한 데이터 정의어(DDL)에 대해 함께 공부해봤습니다.

초보자 분들은 처음에는 조금 복잡하게 느껴질 수도 있지만, 실제로 몇 번 실습하고 나면 오히려 가장 손에 익게 되는 명령어들이 바로 이 DDL들이에요.

 

테이블을 만들고 → 수정하고 → 삭제하는 과정은 웹 개발, 데이터 분석, 서버 구축 등 거의 모든 IT 분야에서 반복되는 핵심 루틴이죠.


앞으로 프로젝트를 진행하시면서도 이 명령어들을 자연스럽게 써먹게 될 날이 꼭 올 거예요!😉

반응형
반응형

데이터 조작어(DML) 완전 정복
: SELECT, INSERT, UPDATE, DELETE

📊 여러분, 데이터베이스에서 가장 많이 쓰는 네 가지 명령어가 뭔지 아세요?
SELECT, INSERT, UPDATE, DELETE!
이 네 가지가 없다면 데이터베이스 활용은 어려워요!

 

 

안녕하세요!

오늘은 데이터베이스 입문자라면 꼭 알아야 할 DML(Data Manipulation Language)의 핵심 명령어 4가지에 대해 알아보려고 해요.

이 네 가지 명령어는 단순한 문법이 아니라,

우리가 원하는 데이터를 "어떻게 가져오고", "어떻게 넣고", "어떻게 바꾸고", "어떻게 지우는지"를 정하는 아주 중요한 기능이에요.

실제로 실무에서 SQL을 쓴다면, 거의 80%는 이 명령어들과 함께할 거예요.

이번 글에서는 각 명령어의 문법뿐 아니라, 자주 하는 실수와 실전 예제까지 아주 디테일하게 알려드릴게요.

초보자도 이해하기 쉬운 방식으로, 실전 예제 중심으로 설명할 테니 부담 갖지 말고 따라와 주세요 😊

1. DML이란? 🤔

DML,

Data Manipulation Language는 말 그대로 데이터베이스 안의 데이터를 조작(Manipulate)하기 위한 SQL 명령어들이에요.

쉽게 말해,

데이터를 가져오고(SELECT), 추가하고(INSERT), 수정하고(UPDATE), 삭제하는(DELETE) 일을 담당하는 애들이죠.

📌 DML과 다른 SQL 종류는 뭐가 있을까?

  • DDL (Data Definition Language):
  • 테이블, 인덱스 등 데이터 구조를 정의할 때 사용해요 (예: CREATE, ALTER, DROP)
  • DCL (Data Control Language):
  • 권한 관리에 사용돼요 (예: GRANT, REVOKE)
  • TCL (Transaction Control Language):
  • 트랜잭션을 제어해요 (예: COMMIT, ROLLBACK)

🧾 DML 명령어 요약표

명령어 역할 기본 문법
SELECT 데이터 조회 SELECT 컬럼명 FROM 테이블명;
INSERT 데이터 삽입 INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES (값1, 값2);
UPDATE 데이터 수정 UPDATE 테이블명 SET 컬럼=값 WHERE 조건;
DELETE 데이터 삭제 DELETE FROM 테이블명 WHERE 조건;

💡 왜 DML을 알아야 할까?

실제 애플리케이션에서는 사용자가 입력한 데이터를 저장하고, 수정하고, 삭제하는 일이 수시로 발생해요.

이 모든 작업이 DML로 이뤄지기 때문에, 백엔드 개발자라면 DML은 필수 역량이에요.

심지어 데이터 분석가나 파워 유저들도 DML을 통해 원하는 데이터를 정확하게 뽑아내는 데 능숙해야 하죠.

 

 

2. SELECT 문법과 실전 예제 🔍

SQL에서 데이터를 조회할 때 사용하는 명령어가 바로 SELECT입니다.

개발자들이 SQL을 사용할 때 가장 많이 쓰는 명령어이기도 하죠.

SELECT는 마치 "이 테이블에서 내가 원하는 데이터를 꺼내줘!"라고 말하는 거예요.

🔤 SELECT 기본 문법

SELECT 컬럼명1, 컬럼명2, ...
FROM 테이블명
WHERE 조건
ORDER BY 정렬기준 ASC|DESC
LIMIT 숫자;

 

예: 회원 테이블에서 이름(name)과 이메일(email)을 나이(age)가 25세 이상인 사람만 조회하고, 나이 순으로 정렬하려면?

SELECT name, email
FROM members
WHERE age >= 25
ORDER BY age ASC;

📚 자주 쓰는 SELECT 구문 예제

  • 전체 조회: SELECT * FROM 테이블명;
  • 조건 조회: SELECT name FROM members WHERE gender = 'M';
  • 정렬: SELECT * FROM orders ORDER BY created_at DESC;
  • 제한(LIMIT): SELECT * FROM products LIMIT 10;

😅 SELECT 할 때 실수하는 포인트

  1. WHERE 없이 조회했더니 테이블 전체가 나옴 😱
  2. 컬럼명을 오타 냈는데 에러 메시지에서 잘 안 알려줘요
  3. LIKE 사용 시 %와 _ 위치 헷갈림
  4. 정렬 기준을 ASC / DESC 제대로 안 써서 결과가 이상함

💡 팁: SELECT는 실습으로 익히는 게 최고예요!

직접 SELECT 쿼리를 작성해서 결과를 확인해보는 것만큼 좋은 학습법은 없어요.

무료 DB 툴(MySQL Workbench, DBeaver 등)을 설치해서 실습해보면 쿼리 감각이 금방 생깁니다.

 

 

3. INSERT로 데이터 추가하기 ✏️

데이터베이스에 새로운 정보를 저장하고 싶다면?

바로 INSERT를 사용해야죠! INSERT는 새로운 행(row)을 테이블에 추가하는 명령어예요.

회원가입을 예로 들면, 사용자가 정보를 입력하고 '가입하기'를 누르면 백엔드에서는 이 INSERT가 실행되고 있는 거랍니다.

📥 INSERT 기본 문법

INSERT INTO 테이블명 (컬럼1, 컬럼2, 컬럼3, ...)
VALUES (값1, 값2, 값3, ...);

 

예: 회원 테이블에 이름, 이메일, 나이를 추가한다면?

INSERT INTO members (name, email, age)
VALUES ('홍길동', 'hong@example.com', 30);

🧩 여러 행 한번에 INSERT 하기

INSERT INTO members (name, email, age)
VALUES 
  ('김민수', 'minsu@example.com', 25),
  ('이하나', 'hana@example.com', 27),
  ('박철수', 'chulsoo@example.com', 31);

 

이렇게 여러 줄을 한 번에 넣으면 성능도 좋아지고 코드도 깔끔해져요.

특히 대량의 데이터를 입력할 때 유용하죠!

😵‍💫 INSERT에서 주의해야 할 점

  1. 모든 컬럼에 값을 넣지 않으면 NOT NULL 제약조건 에러 발생!
  2. 값의 순서를 컬럼 순서와 정확히 맞춰야 해요
  3. 중복된 primary key를 넣으면 duplicate key 에러가 납니다
  4. 숫자형 컬럼에 문자열 넣으면 오류 발생

💬 실무에서 자주 쓰는 팁

  • 자동 증가(auto increment) 컬럼은 INSERT 시 생략 가능!
  • SQL 인젝션 방지를 위해 Prepared Statement 사용 필수!

데이터를 쌓아가는 기본이 되는 명령어, INSERT. 실수 없이 잘 사용하는 게 중요하니, 꼭 실습을 통해 몸에 익히세요!

 

 

4. UPDATE로 데이터 수정하기 🛠️

데이터는 한 번 입력하고 끝이 아니죠.

회원이 이메일을 변경하거나, 주문 상태가 '배송 중'으로 바뀌는 등 정보는 계속해서 업데이트되기 마련입니다.

그럴 때 필요한 SQL 명령어가 바로 UPDATE입니다!

📝 UPDATE 기본 문법

UPDATE 테이블명
SET 컬럼명1 = 값1, 컬럼명2 = 값2, ...
WHERE 조건;

 

예: 회원 ID가 3번인 사람의 이메일을 변경하려면?

UPDATE members
SET email = 'newmail@example.com'
WHERE id = 3;

📎 WHERE 절은 필수! 실수 방지 필수!

WHERE 절을 빼고 UPDATE를 실행하면?

그 테이블의 모든 행(row)이 바뀌어버립니다.

실수로 이런 일이 벌어지면, 되돌릴 수도 없고 난감하겠죠.

꼭 WHERE 절을 넣어서 특정 조건만 업데이트하도록 해주세요!

🧪 여러 컬럼 동시에 수정하기

UPDATE members
SET name = '김새로운', age = 28
WHERE id = 5;

 

이렇게 한 번에 여러 필드를 바꿀 수도 있어요. 단, 콤마(,)로 구분하는 걸 잊지 마세요!

🔐 실무에서 UPDATE 할 때 팁

  • UPDATE 전에 SELECT로 먼저 결과를 확인해보는 습관!
  • 트랜잭션을 이용해 롤백 가능성을 열어두기!

데이터 수정은 예민한 작업이에요.

한 번 잘못 바꾸면 회복하기 힘들 수 있으니, 항상 신중하게 UPDATE 하도록 해요!

 

 

5. DELETE로 데이터 삭제하기 🗑️

데이터베이스에서 더 이상 필요하지 않은 데이터를 정리하고 싶을 때, 또는 잘못된 정보를 지워야 할 때 사용하는 명령어가 바로 DELETE입니다.

하지만 이 명령어는 되돌릴 수 없는 강력한 명령어이기 때문에 항상 주의가 필요해요!

🗑️ DELETE 기본 문법

DELETE FROM 테이블명
WHERE 조건;

 

예: id가 10인 회원의 정보를 삭제하려면?

DELETE FROM members
WHERE id = 10;

💣 WHERE 없이 DELETE 하면?

DELETE 명령어에서 WHERE 절을 생략하면 테이블 전체의 데이터가 몽땅 삭제됩니다 😨

실무에서 종종 발생하는 치명적인 실수예요.

 

DELETE 전에 반드시 WHERE 조건을 확인

하세요!

🧾 실무에서 많이 쓰는 DELETE 예시

  • DELETE FROM users WHERE last_login < '2023-01-01'; → 오래된 로그인 기록 삭제
  • DELETE FROM cart WHERE user_id = 7; → 특정 사용자의 장바구니 비우기
  • DELETE FROM logs WHERE level = 'DEBUG'; → 로그 중 디버그 레벨만 제거

🚨 DELETE 실수 줄이는 방법

  1. DELETE 전에 같은 조건으로 SELECT 해보기
  2. 조건 없이 실행되는 쿼리는 항상 다시 확인할 것
  3. 대량 삭제는 트랜잭션 안에서!
  4. 백업 또는 로그 기록은 꼭 남겨두기

DELETE는 강력한 만큼 위험하기도 해요.

항상 신중하게, 두 번 확인하고 실행하는 습관이 진짜 중요합니다.

 

 

마무리하며 💡

지금까지 데이터베이스의 핵심 DML 명령어인

SELECT,

INSERT,

UPDATE,

DELETE에 대해 함께 알아봤어요.

이 네 가지는 단순한 문법 그 이상입니다.

 

여러분이 서비스를 운영하거나 데이터를 다루는 모든 과정에서 반드시 사용되는 실전 도구예요.

처음에는 익숙하지 않을 수 있지만, 직접 쿼리를 써보고 실행하면서 감각이 점점 생길 거예요.

특히 실습을 많이 할수록 오류도 줄고, 데이터에 대한 감도도 날카로워집니다.

작은 쿼리 하나가 전체 데이터를 바꿀 수도 있는 만큼, 신중하고 정확하게 다루는 습관이 무엇보다 중요합니다.

 

마지막으로 팁 하나 드리자면, 실습할 때는 백업과 SELECT 미리보기를 꼭 활용하세요.

그리고 여러분이 오늘 배운 내용을 바탕으로 작은 프로젝트부터 도전해 보는 것도 정말 좋아요.

회원 관리 시스템이나 게시판 만들기 같은 것도 좋겠죠? 😉

 

반응형
반응형

MySQL/MariaDB 설치 및 계정·DB 실습 (윈도우·리눅스·맥)

MySQL이나 MariaDB
설치, 계정 만들기, DB 생성까지 한 번에 정리합니다!
운영체제별 실습으로 완벽 마스터! 💻🐧🍎

 

 

안녕하세요!

데이터베이스 초보자분들을 위한 실전 가이드를 준비했어요.

처음 DB 설치부터 계정 만들기, 실제로 데이터베이스를 생성하고 삭제해보는 과정까지 한 번에 따라 할 수 있도록 정리해 드릴게요. 😎

MySQL과 MariaDB는 오픈소스 DBMS 중 가장 널리 쓰이는 툴인데요,

설치 방식이 운영체제마다 조금씩 다르기 때문에 윈도우, 리눅스, 맥OS 각각의 설치법을 모두 포함했어요.

거기다 실무에서 자주 사용하는 계정 생성 및 권한 부여, 데이터베이스 생성·삭제·선택 명령어까지 직접 해볼 수 있도록 예제를 구성했습니다.

이번 글을 끝까지 따라오시면, DB 설치부터 계정관리, DB 구성까지의 흐름이 머릿속에 착~ 그려지실 거예요!

1. 운영체제별 MySQL/MariaDB 설치 가이드 🛠️

MySQL이나 MariaDB는 설치만 잘 해놓으면 이후 작업이 훨씬 편해져요.

그런데 설치 과정이 OS마다 조금씩 달라서 처음엔 헷갈릴 수 있어요.

이 파트에서는 Windows / Linux / macOS 환경별로 각각 어떻게 설치하는지 정리해드릴게요. 🙌

💻 Windows에서 MySQL/MariaDB 설치하기

  1. MySQL 공식 사이트(dev.mysql.com) 또는 MariaDB 사이트(mariadb.org)에서 설치 파일 다운로드
  2. 설치 마법사 실행 후 Developer Default 옵션 선택
  3. 루트 비밀번호 설정 및 포트 번호(3306) 확인
  4. 서비스 자동 실행 설정 후 설치 완료!
 

MySQL :: MySQL Community Downloads

 

dev.mysql.com

 

 

Download MariaDB Server - MariaDB.org

REST API Reporting Bugs … Continue reading "Download MariaDB Server"

mariadb.org

 

👉 설치 후에는 mysql -u root -p 명령어로 접속할 수 있어요!

🐧 Linux에서 MariaDB 설치하기 (Ubuntu 기준)

  1. sudo apt update 실행
  2. sudo apt install mariadb-server로 설치
  3. 설치 후 서비스 자동 실행 확인 → sudo systemctl status mariadb
  4. 보안 설정 마무리 → sudo mysql_secure_installation

💡 Ubuntu 외에도 CentOS, Rocky, Amazon Linux 등에서는 yum 또는 dnf 패키지를 사용해 설치할 수 있어요.

🍎 macOS에서 MySQL 설치하기 (Homebrew 이용)

  1. Homebrew가 설치되어 있는지 확인
  2. brew install mysql 또는 brew install mariadb
  3. 설치 후 서비스 실행: brew services start mysql
  4. 접속: mysql -u root 입력!

📌 설치 방식 비교표

운영체제 설치 명령 접속 방법
Windows GUI 설치 마법사 mysql -u root -p
Linux (Ubuntu) apt install mariadb-server sudo mysql
macOS brew install mysql mysql -u root

 

이제 각자의 환경에 맞춰 설치까지 마치셨다면, 다음 단계로 넘어가볼까요?

다음은 데이터베이스 서비스 시작 및 접속 방법입니다. 🚀

 

 

2. 데이터베이스 서비스 시작 및 접속 방법 🚀

설치를 마쳤다면 이제 본격적으로 DB 서버를 실행하고 접속해볼 차례예요.

대부분의 운영체제에서 DB는 서비스로 실행되며, 명령어로 쉽게 시작·중지할 수 있어요.

실행이 안 되면 아무것도 할 수 없기 때문에, 이 부분은 꼭! 정확하게 이해하고 가는 게 중요해요.

📦 윈도우에서 서비스 시작 및 접속

  • 서비스 실행 확인: services.msc 실행 후 MySQL이 "실행 중"인지 확인
  • 명령 프롬프트 또는 MySQL Workbench에서 접속: mysql -u root -p

📝 기본 포트는 3306입니다. 방화벽 예외도 확인해보세요!

🐧 리눅스(Ubuntu)에서 서비스 시작 및 접속

  1. MariaDB 실행: sudo systemctl start mariadb
  2. 상태 확인: sudo systemctl status mariadb
  3. 접속: sudo mysql -u root

💡 root 계정은 sudo 권한이 필요할 수 있으니 주의하세요.

🍎 macOS에서 MySQL 접속하기

  1. 서비스 실행: brew services start mysql
  2. 접속: mysql -u root -p

❓ 연결 안 될 때 이렇게 해보세요

  • MySQL 서비스가 실행 중인지 꼭 확인!
  • 비밀번호가 틀렸다면 재설정하거나 초기화
  • 포트 번호(3306)가 다른 경우 수동 지정 필요

 

이제 접속까지 완료하셨다면, 정말 중요한 실습으로 넘어갈 차례입니다.

바로 사용자 계정 생성과 권한 부여 파트로 가볼게요! 👤🔐

 

 

3. 사용자 계정 생성 및 권한 부여 실습 👤🔐

MySQL이나 MariaDB에서 새로운 사용자를 생성하고 권한을 설정하는 작업은 보안 관리의 핵심이에요.

특히 여러 명이 같은 DB를 사용하거나, 외부 애플리케이션에서 DB를 접근할 때 꼭 필요한 단계죠.

이번 실습에서는 실제로 계정을 만들고, 적절한 권한을 부여하고, 필요시 삭제하는 법까지 익혀볼게요. 👍

🆕 사용자 계정 생성하기

기본 명령어는 아래와 같아요.

사용자명과 비밀번호는 자유롭게 설정해보세요.

CREATE USER 'testuser'@'localhost' IDENTIFIED BY '1234';
  • 'testuser'는 계정명
  • 'localhost'는 접속 허용 위치 (외부 IP 허용하려면 '%' 사용 가능)

🔐 사용자 권한 부여

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;

💡 권한 부여 후에는 꼭 FLUSH PRIVILEGES 명령어로 갱신해줘야 해요!

📋 주요 권한 종류 정리

권한 설명
SELECT 데이터 조회 권한
INSERT 데이터 삽입 권한
UPDATE 데이터 수정 권한
DELETE 데이터 삭제 권한
ALL 모든 권한 부여

🗑️ 사용자 삭제

DROP USER 'testuser'@'localhost';

이제 새로운 계정을 직접 만들어보고 권한도 부여해보셨나요?

이게 생각보다 쉬운데, 실무에서는 정말 자주 사용됩니다.

특히 팀 프로젝트에서 사용자마다 권한을 다르게 줘야 할 때 진짜 유용해요!

그럼 이제 다음은 핵심 중의 핵심! 데이터베이스 생성과 삭제를 해볼 차례입니다! 📁🗑️

 

 

4. 데이터베이스 생성과 삭제 실습 📁🗑️

사용자 계정을 만들고 권한도 부여했다면, 이제 실제로 사용할 데이터베이스를 만들어야겠죠?

이 작업은 앞으로 테이블을 만들고 데이터를 저장하는 모든 작업의 출발점이에요.

여기서 배울 핵심은 두 가지!

1️⃣ DB 생성하기

2️⃣ DB 삭제하기

 

그럼 바로 실습 들어가볼게요!

📦 데이터베이스 생성

CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  • testdb는 새로 만들 데이터베이스 이름입니다.
  • utf8mb4는 이모지도 저장 가능한 인코딩 방식이에요.

💡 utf8mb4는 한글 + 이모지 + 다양한 언어까지 폭넓게 커버해서 요즘은 거의 필수로 사용돼요.

🗑️ 데이터베이스 삭제

DROP DATABASE testdb;

❗ 이 명령은 진짜 조심해서 써야 해요! 한 번 지우면 복구 불가예요. 꼭 확인 후 실행하세요!

🧪 실습 팁

  • 먼저 SHOW DATABASES; 명령으로 현재 존재하는 DB 목록 확인하기
  • DROP DATABASE 전에 해당 DB 안의 데이터 백업해두기!

🔍 DB 상태 확인 명령어

SHOW DATABASES;

 

잘 따라오셨죠?

이제 자신만의 DB를 만들고 지우는 데까지 성공하셨다면, 다음은 DB에 실제로 들어가서 명령어를 실행하는 단계예요.

즉, USE 명령으로 DB 선택하고 테이블 확인하는 방법까지 마무리해볼게요! 😊

 

 

5. 데이터베이스 선택과 구조 확인 실습 🔍

데이터베이스를 만들었으면 이제 그 DB를 직접 선택하고 안을 들여다보는 실습을 해볼 차례예요.

이 과정은 실무에서 진짜 진짜 많이 쓰입니다.

다른 테이블로 넘어가기 전, 현재 선택된 DB가 뭔지 확인하는 것도 매우 중요하구요!

그럼 하나씩 차근차근 따라가볼까요?

🧭 사용할 데이터베이스 선택하기

USE testdb;

이 명령어는 앞으로의 모든 작업을 testdb라는 DB 기준으로 실행하겠다는 뜻이에요!

📄 현재 DB 안의 테이블 확인하기

SHOW TABLES;

👉 아직 테이블이 없다면 아무것도 안 나올 수 있어요.

      괜찮아요, 다음에 만들 거니까요!

🧱 테이블 구조 확인하기

앞으로 테이블을 만들고 데이터를 넣을 텐데요,

그 전에 테이블 구조를 어떻게 확인하는지도 알아둬야겠죠?

DESC 테이블명;
-- 또는
SHOW COLUMNS FROM 테이블명;

 

❓ 예시 테이블 구조 예측해보기

컬럼 이름 데이터 타입 NULL 허용
id INT NO
name VARCHAR(100) YES

지금까지 배운 걸 통해, DB를 만들고, 선택하고, 구조를 확인하는 기본적인 흐름을 전부 마스터하셨어요! 🎉

이제 드디어 마지막 단계!

설치나 실행 중에 자주 발생하는 오류와 그 해결법에 대해 정리해드릴게요. 🧯

 

 

6. 설치 및 실행 중 자주 발생하는 오류 해결법 🧯

여기까지 잘 따라오셨다면 정말 대단해요! 👏

하지만 DB 실습을 하다 보면 종종 벽에 부딪히게 됩니다.

그중에서도 특히 처음 설치하거나 계정/접속 관련 작업 중에 자주 만나는 오류들이 있죠.

이 파트에서는 흔히 접하게 되는 대표적인 에러 상황들과 그것들을 해결하는 팁을 정리해드릴게요!

❌ ERROR 1045 (28000): Access denied for user

  • 비밀번호 오류 또는 존재하지 않는 사용자로 접속을 시도한 경우
-- 해결 방법
ALTER USER 'root'@'localhost' IDENTIFIED BY '새비밀번호';
FLUSH PRIVILEGES;

💡 root 비밀번호가 기억 안 날 땐, MySQL/MariaDB를 안전모드로 실행 후 위 명령 실행!

❌ Can't connect to MySQL server on 'localhost' (10061)

이건 DB 서버 자체가 실행되고 있지 않은 경우에 주로 발생해요.

  1. Windows: services.msc 열고 MySQL 서비스 상태 확인
  2. Linux: sudo systemctl start mariadb
  3. macOS: brew services start mysql

❌ ERROR 1064: SQL Syntax Error

이 에러는 보통 SQL 문법을 잘못 입력했을 때 발생합니다.

  • 세미콜론(;) 빠짐, 작은따옴표(') 누락, 철자 오류 등
-- 잘못된 예
CREATE DATABASE testdb CHARACTER SET = utf8mb4

-- 수정된 예
CREATE DATABASE testdb CHARACTER SET utf8mb4;

 

🧰 그 외 자주 보는 에러와 힌트

에러 메시지 원인 및 해결
ERROR 2002 (HY000) 소켓 연결 실패 → 포트 확인, 서비스 실행 여부 확인
ERROR 1049 (42000) 존재하지 않는 데이터베이스 → CREATE DATABASE 먼저 실행
ERROR 1130 (HY000) 원격 접속 권한 없음 → user@'%' 설정과 방화벽 확인

DB 실습에서 에러는 두려워할 게 아니에요.

오히려 에러를 해결해보는 경험이 가장 큰 배움이 됩니다.

에러 메시지는 우리의 친구! (사실 처음엔 무섭긴 하지만요 😅)

이제 진짜 마지막입니다. 전체 내용을 마무리하고 태그 정리해드릴게요! 🚀

 

 

실습으로 배우는 DB 입문자의 첫 걸음 👣

이번 블로그 글에서는 MySQL/MariaDB 설치부터 계정 생성, DB 생성/삭제, 그리고 실습 중 에러 해결법까지 실제로 써먹을 수 있는 내용을 중심으로 하나하나 차근차근 정리해보았어요.

특히 윈도우 / 리눅스 / 맥OS 환경별로 설치 방법이 다르기 때문에, 이 글이 여러분 환경에 맞는 실습 가이드가 되었기를 바랍니다.

처음에는 명령어도 낯설고, 에러도 자주 나서 당황할 수 있어요.

하지만 그럴수록 더 실력이 붙습니다.

에러 메시지를 해석하고 해결하는 그 과정 자체가 진짜 성장의 계기거든요. 😉

 

앞으로는 테이블을 생성하고 데이터를 삽입·조회하는 실습으로 확장해보시면 좋아요.

DB를 다룰 수 있다는 건 웹 백엔드, AI 데이터 저장, 로그 분석 등 수많은 실무 영역에서 큰 무기가 됩니다.

그럼 다음 글에서는 테이블 생성부터 SQL 기초 쿼리 실습을 함께 해볼 예정이에요! 기대해주세요. 🙌

반응형

+ Recent posts