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; |
권한을 즉시 반영 |