명령이 포함된 SQL 치트 시트 & Descript이온 (2026)

⚡ 스마트 요약

이 SQL 치트 시트는 실무 개발자가 매일 사용하는 명령어를 작업별로 정리한 것입니다. 각 섹션에서는 정확한 구문과 간단한 설명을 함께 제공하며, 데이터베이스 생성, 데이터 유형, 쿼리, 필터링, 조인 및 인덱싱을 다룹니다.

  • 🗄️ 구조 명령: CREATE DATABASE, CREATE TABLE, ALTER, RENAME 및 DROP 명령은 스키마를 정의하고 재구성합니다.
  • 🔢 데이터 유형: 숫자, 텍스트, 날짜 및 이진 유형은 각 열의 저장 크기와 유효 범위를 설정합니다.
  • 🔎 검색 명령: WHERE, IN, LIKE 및 REGEXP를 사용한 SELECT 문은 결과 집합을 중요한 행으로 좁힙니다.
  • 수정 명령: INSERT, UPDATE 및 DELETE 문은 저장된 행을 변경하며, 각각 선택적 조건을 허용합니다.
  • 📊 집계 명령: COUNT, MIN, MAX, SUM을 사용하여 GROUP BY를 수행합니다. AVG 데이터를 요약하고, HAVING 필터를 사용하여 그룹을 분류합니다.
  • 🔗 조합 명령: JOIN은 테이블을 나란히 병합하는 반면, UNION은 두 쿼리의 결과를 합칩니다.

SQL 치트 시트

데이터베이스 및 테이블 명령 만들기

모든 SQL 세션은 데이터베이스와 행을 저장할 하나 이상의 테이블로 시작합니다.

Command 기술설명
CREATE DATABASE database1; 데이터베이스 생성
CREATE DATABASE IF NOT EXISTS database1; IF NOT EXISTS를 사용하면 지시할 수 있습니다. MySQL 데이터베이스를 생성하기 전에 서버가 유사한 이름의 데이터베이스가 존재하는지 확인합니다.
CREATE DATABASE IF NOT EXISTS database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci; latin1 문자 집합은 스웨덴어의 대소문자 구분 없는 정렬 방식인 latin1_swedish_ci 정렬 방식을 사용합니다.
SHOW DATABASES; 다음 SQL 명령어를 실행하면 기존 데이터베이스 목록을 볼 수 있습니다.
CREATE TABLE [IF NOT EXISTS] TableName (fieldname dataType [optional parameters]) ENGINE = storage Engine; 테이블 구문 생성

SQL 데이터 유형 치트 시트

컬럼의 데이터 형식은 해당 컬럼에 저장할 수 있는 데이터와 각 행이 차지하는 공간을 결정합니다.

숫자 데이터 유형

Command 기술설명
TINYINT( ) -128~127은 정상값, 0~255는 부호 없는 값입니다.
SMALLINT( ) -32768 ~ 32767 일반
0~65535 서명되지 않음.
MEDIUMINT( ) -8388608 ~ 8388607 일반
0~16777215 서명되지 않음.
INT( ) -2147483648 ~ 2147483647 일반
0~4294967295 서명되지 않음.
BIGINT( ) -9223372036854775808 ~ 9223372036854775807 일반
0~18446744073709551615 서명되지 않음.
FLOAT 부동 소수점이 있는 작은 대략적인 숫자입니다.
DOUBLE( , ) 소수점이 있는 큰 근사값입니다.
DECIMAL( , ) 정확한 고정 소수점 숫자. 통화 값을 저장하는 데 가장 적합한 방식입니다.

텍스트 데이터 유형

Command 기술설명
CHAR( ) 0에서 255자 사이의 고정된 길이의 섹션입니다.
VARCHAR( ) 길이가 0에서 65535자까지 가변적인 섹션입니다.
TINYTEXT 최대 길이가 255자인 문자열입니다.
TEXT 최대 길이가 65535자인 문자열입니다.
BLOB 최대 길이가 65535바이트인 이진 데이터입니다.
MEDIUMTEXT 최대 길이가 16777215자인 문자열입니다.
MEDIUMBLOB 최대 길이가 16777215바이트인 이진 데이터입니다.
LONGTEXT 최대 길이가 4294967295자인 문자열입니다.
LONGBLOB 최대 길이가 4294967295바이트인 이진 데이터입니다.

날짜/시간 데이터 유형

Command 기술설명
DATE YYYY-MM-DD
DATETIME YYYY-MM-DD HH : MM : SS
TIMESTAMP YYYY-MM-DD HH:MM:SS 형식으로 UTC로 저장되며 세션 시간대로 변환됩니다.
TIME HH : MM : SS

기타 데이터 유형

Command 기술설명
ENUM 미리 정의된 텍스트 값 목록에서 선택한 하나의 텍스트 값을 저장합니다.
SET 이는 미리 정의된 텍스트 값 목록에서 선택한 텍스트 값을 저장하는 데에도 사용됩니다. 여러 값을 저장할 수 있습니다.
BOOL TINYINT(1)의 동의어로, 부울 값을 저장하는 데 사용됩니다.
BINARY CHAR와 유사하지만, 차이점은 텍스트가 이진 형식으로 저장된다는 점입니다.
VARBINARY VARCHAR와 유사하지만, 텍스트가 이진 형식으로 저장된다는 점이 다릅니다.

SQL SELECT 문 명령

SELECT는 테이블에서 행을 읽어오는 데 사용되는 명령어입니다.

Command 기술설명
SELECT * FROM table1; 표의 모든 열을 선택하세요
SELECT t1, t2, t3, t4 FROM table1; 우리는 t1, t2, t3, t4 필드만 필요합니다.
SELECT CONCAT(t1, ' (', t3, ')'), t4 FROM table2; 여러 열의 값을 하나의 출력 열로 결합합니다.
SELECT column_name | value | expression [AS] alias_name; 별칭 필드 이름 구문

AND, OR, IN, NOT IN 명령이 포함된 SQL WHERE 절

WHERE 절은 행을 필터링하며, 아래 연산자들을 그 안에서 조합하여 사용할 수 있습니다.

Command 기술설명
SELECT * FROM tableName WHERE condition; WHERE 절 구문
SELECT * FROM table1 WHERE t1 = 2 AND t2 = 2008; WHERE 절과 AND 논리 연산자의 조합
SELECT * FROM table1 WHERE t1 = 1 OR t1 = 2; WHERE 절과 OR 논리 연산자의 조합
SELECT * FROM table2 WHERE t1 IN (1,2,3); WHERE 절과 IN 키워드의 조합
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); WHERE 절과 NOT IN 키워드의 조합
SELECT * FROM table2 WHERE t3 = 'Female'; WHERE 절과 같음(=) 비교 연산자의 조합
SELECT * FROM table3 WHERE t3 > 2000; WHERE 절과 보다 큼(>) 비교 연산자를 결합한 경우
SELECT * FROM table1 WHERE t1 <> 1; WHERE 절과 같지 않음(<>) 비교 연산자를 결합한 경우

SQL 명령 INSERT INTO 테이블

Command 기술설명
INSERT INTO table_name(column_1, column_2, ...) VALUES (value_1, value_2, ...); SQL INSERT 명령의 기본 구문
INSERT INTO table1 (t1,t2,t3,t4) VALUES (X1,X2,X3,X4); 테이블에 데이터를 삽입합니다
INSERT INTO table_1 SELECT * FROM table_2; 한 테이블에서 다른 테이블로 삽입하기

SQL 삭제 명령

Command 기술설명
DELETE FROM table_name [WHERE condition]; 행 삭제 MySQL

SQL 업데이트 명령

Command 기술설명
UPDATE table_name SET column_name = new_value [WHERE condition]; 업데이트 명령 구문

SQL의 ORDER BY: DESC 및 ASC 명령

Command 기술설명
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC]; ORDER BY 절의 기본 구문
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC | DESC [LIMIT N]; DESC 및 ASC 구문

SQL GROUP BY 및 HAVING 절 명령

GROUP BY 행들을 그룹으로 묶고, HAVING은 그룹이 형성된 후 해당 그룹을 필터링합니다.

그룹화 기준

Command 기술설명
SELECT statements... GROUP BY column_name1[, column_name2, ...] [HAVING condition]; GROUP BY 구문

Grouping 및 집계 함수

Command 기술설명
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2; 데이터베이스에 있는 t2 열 값의 총 개수를 원한다고 가정합니다.

HAVING 절

Command 기술설명
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1; t1_id가 x1인 table2 행의 모든 ​​t4 값을 반환합니다.

Like, NOT Like, Escape, ( % ), ( _ )에 대한 SQL 와일드카드 명령

와일드카드를 사용하면 LIKE 연산자가 부분 문자열도 일치시킬 수 있습니다.

% 퍼센트 와일드카드 명령 MySQL

Command 기술설명
SELECT statements... WHERE fieldname LIKE 'xxx%'; % 퍼센트 와일드카드의 기본 구문은 문자 수에 상관없이 일치합니다.

_ 밑줄 와일드카드 명령

Command 기술설명
SELECT * FROM table1 WHERE t3 LIKE 'x2_'; 밑줄은 정확히 하나의 문자와 일치합니다.

와일드카드 명령과 같지 않음

Command 기술설명
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_'; t3 값이 패턴과 일치하지 않는 table1의 행을 원한다고 가정해 보겠습니다.

이스케이프 키워드 와일드카드 명령

Command 기술설명
LIKE '67#%' ESCAPE '#'; #이 와일드카드를 이스케이프하기 때문에 문자 그대로 "67%"라는 문자열을 확인합니다.

SQL 정규식(REGEXP)

Command 기술설명
SELECT statements... WHERE fieldname REGEXP 'pattern'; 정규 표현식 일치의 기본 구문

정규식 메타문자

Command 기술설명
* 별표(*) 메타문자는 앞에 있는 문자열이 0개 이상 나타나는 경우와 일치합니다.
+ 플러스(+) 메타문자는 앞에 있는 문자열이 하나 이상 나타나는 경우와 일치합니다.
? 물음표(?) 메타문자는 앞에 오는 문자열이 0개 또는 1개 나타나는 것과 일치합니다.
. 마침표(.) 메타문자는 줄 바꿈을 제외한 모든 단일 문자와 일치합니다.
[abc] 문자 목록 [abc]는 괄호 안에 있는 문자 중 하나와 일치합니다.
[^abc] 문자 목록 [^abc]는 괄호로 묶인 문자를 제외한 모든 문자와 일치합니다.
[A-Z] [AZ] 범위는 모든 대문자와 일치합니다.
[a-z] [az] 범위는 모든 소문자와 일치합니다.
[0-9] [0-9] 범위는 0부터 9까지의 모든 숫자와 일치합니다.
^ 캐럿(^)은 매치를 시작 부분에 고정합니다.
| 세로 막대(|)는 선택지를 분리합니다.
[[:<:]] [[:<:]] 표시는 단어의 시작 부분과 일치합니다.
[[:>:]] [[:>:]] 표시는 단어의 끝과 일치합니다.
[:class:] [:class:] 마커는 문자 클래스와 일치합니다. 예를 들어 [:alpha:]는 문자, [:space:]는 공백, [:punct:]는 구두점, [:upper:]는 대문자를 나타냅니다.

SQL 함수 명령

문자열 함수

Command 기술설명
SELECT t1_id, t2, UCASE(t2) FROM table1; UCASE 함수는 매개변수로 문자열을 받아 모든 문자를 대문자로 변환합니다.

숫자 함수

Command 기술설명 예시
DIV 정수 나누기 SELECT 23 DIV 6;
/ 분할 SELECT 23 / 6;
- 서브trac기 SELECT 23 - 6;
+ 추가 SELECT 23 + 6;
* 곱셈 SELECT 23 * 6 AS multiplication_result;
% or MOD 모듈러스 SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR 숫자의 소수점을 제거하고 가장 가까운 정수로 내림합니다. SELECT FLOOR(23 / 6) AS floor_result;
ROUND 소수점이 있는 숫자를 가장 가까운 정수로 반올림합니다. SELECT ROUND(23 / 6) AS round_result;

저장된 기능

Command 기술설명
CREATE FUNCTION sf_name ([parameter(s)]) 필수. 알려줍니다 MySQL 서버는 괄호 안에 정의된 선택적 매개변수를 사용하여 sf_name이라는 이름의 함수를 생성합니다.
RETURNS data type 필수 항목입니다. 함수가 반환하는 데이터 형식을 지정합니다.
DETERMINISTIC 이 함수는 동일한 인수가 제공될 때마다 항상 동일한 값을 반환합니다.
STATEMENTS 함수가 실행하는 절차 코드입니다.

SQL 집계 함수 명령

Command 기술설명
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2; 카운트 기능
SELECT MIN(t3) FROM table2; MIN 기능
SELECT MAX(t3) FROM table2; MAX 기능
SELECT SUM(t4) FROM table3; SUM 함수
SELECT AVG(t4) FROM table3; AVG 기능

SQL IS NULL & IS NOT NULL 명령

A NULL 값이 없으므로 같음 연산자 대신 IS NULL 연산자를 사용하여 검사해야 합니다.

Command 기술설명
SELECT COUNT(t3) FROM table1; COUNT 함수는 해당 열의 NULL 값을 무시합니다.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
NOT NULL은 해당 열에 빈 값을 허용하지 않습니다.
column_name IS NULL
column_name IS NOT NULL
NULL 키워드 기본 구문
SELECT * FROM table1 WHERE t2_number IS NULL; IS NULL의 예
SELECT * FROM table1 WHERE t2_number IS NOT NULL; IS NOT NULL의 예

SQL AUTO_INCREMENT 명령

Command 기술설명
CREATE TABLE table1 (
t1_id int(11) AUTO_INCREMENT,
t2_name varchar(150) DEFAULT NULL,
t3 varchar(500) DEFAULT NULL,
PRIMARY KEY (t1_id)
);
자동 증가 구문

SQL – ALTER, DROP, 이름 바꾸기, 수정

이 명령들은 이미 데이터가 포함된 테이블을 변경합니다.

Command 기술설명
ALTER TABLE table_name ADD COLUMN column_name data_type; ALTER 구문
DROP TABLE sample_table; DROP TABLE 구문
RENAME TABLE current_table_name TO new_table_name; 이름 변경 명령 ​​구문
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL; 키워드 변경
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL; 수정 키워드
ALTER TABLE table1 ADD t4 date NULL AFTER t3; AFTER 키워드

SQL 제한 및 오프셋

Command 기술설명
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N; LIMIT개의 키워드 구문
SELECT * FROM table1 LIMIT 1, 2; LIMIT 쿼리에서 오프셋: 1행을 건너뛴 다음 2행을 반환합니다.

SQL 서브쿼리 명령

Command 기술설명
SELECT t1_name FROM table1 WHERE
category_id = (SELECT MIN(t1_id) FROM table2);
하위 쿼리

SQL JOINS 명령

조인 두 테이블의 열을 하나의 결과 집합으로 결합합니다.

Command 기술설명
SELECT * FROM table1 CROSS JOIN table2; 크로스 조인
SELECT table1.t1, table1.t2, table2.t1
FROM table1, table2
WHERE table2.id = table1.table2_id;
내부 결합
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
ON B.table2_id = A.id;
왼쪽 가입
SELECT A.t1, A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id;
오른쪽 조인
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING (table2_id);
"ON" 및 "USING" 절

SQL UNION 명령

UNION은 두 쿼리의 행을 합치는 반면, JOIN은 행을 더 많은 열로 확장합니다.

Command 기술설명
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
UNION 구문을 사용합니다. 중복 행이 제거됩니다.
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
UNION ALL은 중복 행을 유지합니다.

보기 명령의 SQL

조회수 쿼리를 이름으로 저장하여 테이블처럼 재사용할 수 있도록 합니다.

Command 기술설명
CREATE VIEW view_name AS SELECT statement; 뷰 구문
DROP VIEW general_v_movie_rentals; 드롭ping 보기

SQL 인덱스 명령

인덱스는 특정 열에 대한 검색 속도를 훨씬 빠르게 해주는 조회 구조입니다.

Command 기술설명
CREATE INDEX id_index ON table_name(column_name); 인덱스 기본 구문 추가
DROP INDEX index_id ON table_name; 인덱스 기본 구문 삭제

자주 묻는 질문

아니요. SELECT 및 WHERE와 같은 키워드는 대소문자를 구분하지 않습니다. 대문자는 명령어와 식별자를 구분하기 위한 관례일 뿐입니다. 하지만 Linux에서는 테이블 이름의 경우 대소문자를 구분할 수 있습니다.

DELETE는 선택한 행을 삭제하며 롤백이 가능합니다. TRUNCATE는 테이블 전체를 빠르게 비우고 AUTO_INCREMENT 값을 초기화합니다. DROP은 테이블 정의 자체를 삭제합니다.

FROM 절과 JOIN 절이 먼저 실행되고, 그 다음 WHERE 절, GROUP BY 절, HAVING 절, ​​SELECT 절, ORDER BY 절이 차례로 실행된 후 마지막으로 LIMIT 절이 실행됩니다. 따라서 SELECT 절에서 정의한 열 별칭은 WHERE 절 내에서 사용할 수 없습니다.

예. 텍스트를 SQL로 변환하는 도우미는 테이블 스키마를 사용하여 질문을 쿼리로 변환합니다. 생성된 WHERE 절과 JOIN 절의 조건을 항상 확인하세요. 그럴듯해 보이는 쿼리라도 잘못된 행을 반환할 수 있습니다.

예. RevAI 출력 보기, 느린 쿼리 조정, 실행 계획 읽기 모두 명령어에 대한 능숙함을 요구합니다. 참조 시트는 명령어를 빠르게 떠올리는 데 도움이 되지만, 이해를 대체할 수는 없습니다.

이 게시물을 요약하면 다음과 같습니다.