모든 도구
무료

검색 및 인쇄 가능한 MySQL 레퍼런스 — 쿼리, 조인, 인덱스, 함수, 데이터 타입, 관리 명령어. 무료.

쿼리

10
SELECT * FROM users;
모든 열과 행 선택
SELECT id, name FROM users;
특정 열 선택
SELECT DISTINCT city FROM users;
고유 값만
WHERE age > 18 AND active = 1
조건으로 행 필터
WHERE name LIKE 'A%'
패턴 일치 (% = 임의 문자)
WHERE id IN (1, 2, 3)
집합 내 값과 일치
WHERE age BETWEEN 18 AND 30
포함 범위 필터
ORDER BY created_at DESC
내림차순 정렬
LIMIT 10 OFFSET 20
결과 페이지네이션
WHERE email IS NULL
null 값 일치

조인

8
INNER JOIN orders ON orders.user_id = users.id
두 테이블에서 일치하는 행
LEFT JOIN orders ON ...
모든 왼쪽 행 + 일치 항목
RIGHT JOIN orders ON ...
모든 오른쪽 행 + 일치 항목
CROSS JOIN colors
카르테시안 곱
SELF JOIN: FROM emp e JOIN emp m ON e.mgr = m.id
테이블 자기 자신과 조인
USING (user_id)
동일 이름 열로 조인
UNION / UNION ALL
결과 집합 결합
SELECT u.*, o.total FROM users u JOIN orders o
명확성을 위한 테이블 별칭

집계

9
COUNT(*)
행 개수
SUM(amount)
숫자 열의 합계
AVG(price)
평균 값
MIN(price), MAX(price)
최소와 최대
GROUP BY country
집계를 위한 행 그룹화
HAVING COUNT(*) > 5
집계된 그룹 필터
GROUP_CONCAT(name)
그룹화된 값 연결
COUNT(DISTINCT city)
고유 값 개수
ROW_NUMBER() OVER (ORDER BY id)
윈도우 함수 순위

데이터 수정

8
INSERT INTO users (name) VALUES ('Sam');
단일 행 삽입
INSERT INTO users (name) VALUES ('A'),('B');
여러 행 삽입
UPDATE users SET active = 1 WHERE id = 5;
일치하는 행 갱신
DELETE FROM users WHERE id = 5;
일치하는 행 삭제
TRUNCATE TABLE logs;
모든 행 빠르게 제거
INSERT ... ON DUPLICATE KEY UPDATE
고유 키로 upsert
REPLACE INTO users ...
충돌 시 삭제 + 삽입
INSERT IGNORE INTO ...
오류 발생 행 건너뛰기

스키마 / DDL

9
CREATE TABLE users (id INT PRIMARY KEY);
새 테이블 생성
AUTO_INCREMENT
자동 번호 열
ALTER TABLE users ADD COLUMN age INT;
열 추가
ALTER TABLE users DROP COLUMN age;
열 제거
ALTER TABLE users MODIFY name VARCHAR(100);
열 타입 변경
DROP TABLE IF EXISTS users;
테이블 삭제
FOREIGN KEY (user_id) REFERENCES users(id)
다른 테이블 참조
ON DELETE CASCADE
자식으로 삭제 전파
CREATE TABLE t2 LIKE t1;
테이블 구조 복사

인덱스와 키

8
PRIMARY KEY (id)
고유 행 식별자
UNIQUE (email)
고유 값 강제
CREATE INDEX idx_name ON users (name);
열 조회 속도 향상
CREATE INDEX idx_ab ON t (a, b);
복합 (다중 열) 인덱스
DROP INDEX idx_name ON users;
인덱스 제거
FULLTEXT (body)
전문 검색 인덱스
EXPLAIN SELECT ...;
쿼리 실행 계획 표시
SHOW INDEX FROM users;
테이블의 인덱스 목록

데이터 타입

9
INT, BIGINT, TINYINT
크기별 정수 타입
DECIMAL(10, 2)
정확한 고정 소수점 숫자
VARCHAR(255)
가변 길이 문자열
TEXT, LONGTEXT
대용량 텍스트 blob
DATE, DATETIME, TIMESTAMP
날짜와 시간 타입
BOOLEAN (TINYINT(1))
0/1로 저장되는 true/false
JSON
네이티브 JSON 문서 열
ENUM('a', 'b')
고정된 값 집합 중 하나
UNSIGNED
음수 아닌 숫자 한정자

Type sizes & limits

20
TINYINT
1 byte: -128..127 (0..255 UNSIGNED)
SMALLINT
2 bytes: -32,768..32,767 (0..65,535)
MEDIUMINT
3 bytes: -8.39M..8.39M (0..16.78M)
INT
4 bytes: -2.15B..2.15B (0..4.29B)
BIGINT
8 bytes: ±9.22×10^18 (0..1.84×10^19)
DECIMAL(M, D)
Exact: M up to 65 digits, D up to 30
FLOAT / DOUBLE
4 / 8 bytes approximate floating point
CHAR(M)
Fixed length, 0..255 characters
VARCHAR(M)
0..65,535 bytes (shared 64KB row limit)
TINYTEXT
Up to 255 bytes (~255 chars)
TEXT
Up to 65,535 bytes (64 KB)
MEDIUMTEXT
Up to 16,777,215 bytes (16 MB)
LONGTEXT
Up to 4,294,967,295 bytes (4 GB)
BLOB types
TINY/—/MEDIUM/LONG: 255B..4GB (binary)
JSON
Stored as LONGBLOB, up to ~4 GB
ENUM / SET
ENUM: 65,535 members; SET: 64 members
DATE
1000-01-01 to 9999-12-31 (3 bytes)
DATETIME
1000 to 9999, microseconds (5–8 bytes)
TIMESTAMP
1970-01-01 to 2038-01-19 UTC (4 bytes)
TIME / YEAR
±838:59:59 / 1901..2155

함수

9
NOW(), CURDATE()
현재 날짜시간 / 날짜
DATE_FORMAT(d, '%Y-%m-%d')
날짜 형식화
DATEDIFF(a, b)
두 날짜 사이 일수
CONCAT(a, ' ', b)
문자열 결합
COALESCE(a, b, 'n/a')
첫 번째 null 아닌 값
IFNULL(x, 0)
null을 기본값으로 치환
CASE WHEN x > 0 THEN '+' ELSE '-' END
조건 표현식
CAST(x AS CHAR)
값 타입 변환
ROUND(x, 2)
소수점 반올림

트랜잭션과 관리

9
START TRANSACTION;
트랜잭션 시작
COMMIT;
트랜잭션 커밋
ROLLBACK;
트랜잭션 되돌리기
SAVEPOINT sp1;
롤백 지점 설정
SHOW TABLES;
데이터베이스의 테이블 목록
DESCRIBE users;
테이블 구조 표시
SHOW PROCESSLIST;
실행 중인 연결 목록
GRANT ALL ON db.* TO 'u'@'%';
사용자 권한 부여
mysqldump -u root db > db.sql
데이터베이스 백업 (CLI)

“:q”와 일치하는 항목이 없습니다.


도움이 필요하신가요?
이 도구에서 문제를 발견하셨나요? 저희 팀에 알려주세요.
문제 신고

이 무료 도구를 귀하의 웹사이트에 추가하세요 — 아래 코드를 복사하여 붙여넣으세요.