Skip to content

MySQL 주요 명령 치트 시트

MySQL은 세계에서 가장 인기 있는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 이 치트 시트는 데이터베이스 일상 개발 및 유지 관리에서 가장 많이 사용되는 SQL 명령을 정리한 것입니다.

연결 및 관리

명령 설명 예시
mysql -u root -p root 사용자로 데이터베이스 연결 mysql -u root -p
exit / quit MySQL 명령줄 종료 exit
show databases; 모든 데이터베이스 목록 표시 show databases;
use <db_name>; 지정한 데이터베이스로 전환 use my_app;
status; 현재 연결 상태 정보 보기 status;

데이터베이스 및 테이블 작업 (DDL)

명령 설명 예시
create database <name>; 새 데이터베이스 생성 create database test_db;
drop database <name>; 데이터베이스 삭제 drop database test_db;
show tables; 현재 데이터베이스의 모든 테이블 목록 표시 show tables;
create table <table> (...); 새 테이블 생성 create table users (id int, name varchar(20));
describe <table>; 테이블 구조 보기 describe users;
alter table <table> add <col>; 새 열 추가 alter table users add email varchar(50);
drop table <table>; 테이블 삭제 drop table users;

데이터 작업 (DML)

// 데이터 삽입

insert into users (name, age) values ('Alice', 25), ('Bob', 30);

// 데이터 조회

select * from users where age > 20 order by id desc limit 10;
select count(*) from users;

// 데이터 업데이트

update users set age = 26 where name = 'Alice';

// 데이터 삭제

delete from users where id = 10;
truncate table users; -- 테이블 내용 지우기 및 자동 증가 ID 초기화

조인 쿼리 (JOIN)

Type 설명
INNER JOIN 두 테이블에서 일치하는 값이 있는 행 반환
LEFT JOIN 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행 반환
RIGHT JOIN 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행 반환
UNION 두 쿼리의 결과 집합 합치기 (중복 제거)

// 테이블 조인 쿼리

select u.name, o.id from users u 
inner join orders o on u.id = o.user_id;

인덱스 관리

명령 설명
create index <idx_name> on <table>(<col>); 일반 인덱스 생성
create unique index ... 고유 인덱스 생성
show index from <table>; 테이블 내 인덱스 표시
drop index <idx_name> on <table>; 인덱스 삭제

사용자 및 권한 (DCL)

명령 설명
create user 'user'@'host' identified by 'pass'; 새 사용자 생성
grant all privileges on db.* to 'user'@'host'; 권한 부여
revoke all on db.* from 'user'@'host'; 권한 취소
drop user 'user'@'host'; 사용자 삭제
flush privileges; 권한을 즉시 반영