SQL 치트시트
이 블로그에서는 가장 중요한 SQL 명령과 작업을 포괄적으로 안내합니다. 기본 쿼리, 조인, 하위 쿼리, 인덱스 및 고급 개념을 다룹니다.
목차
- SQL 기초
- 데이터 정의 언어(DDL)
- 데이터 조작 언어(DML)
- 데이터 쿼리 언어(DQL)
- 데이터 제어 언어(DCL)
- 참여
- 하위 쿼리
- 색인
- 집계 함수
- 그룹화 및 정렬
- 거래
- 고급 SQL
- 모범 사례
SQL 기초
SQL 쿼리의 구조
SELECT column1, column2 FROM table_name WHERE condition ORDER BY column LIMIT n;
SQL에 주석 달기
- 한 줄 댓글: -- 댓글입니다.
- 여러줄 주석:
/* This is a multi-line comment */
데이터 정의 언어(DDL)
테이블 생성
CREATE TABLE table_name ( column1 datatype [constraints], column2 datatype [constraints], ... );
예:
CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(100), age INT, hire_date DATE );
테이블 변경
열 추가
ALTER TABLE table_name ADD column_name datatype;
열 삭제
ALTER TABLE table_name DROP COLUMN column_name;
열 수정
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
테이블 이름 바꾸기
ALTER TABLE old_table_name RENAME TO new_table_name;
테이블 삭제
DROP TABLE table_name;
인덱스 생성
CREATE INDEX index_name ON table_name (column_name);
인덱스 삭제
DROP INDEX index_name;
데이터 조작 언어(DML)
테이블에 데이터 삽입
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
예:
INSERT INTO employees (id, name, age, hire_date) VALUES (1, 'John Doe', 30, '2022-01-01');
테이블의 데이터 업데이트
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
예:
UPDATE employees SET age = 31 WHERE id = 1;
테이블에서 데이터 삭제
DELETE FROM table_name WHERE condition;
예:
DELETE FROM employees WHERE id = 1;
데이터 쿼리 언어(DQL)
테이블에서 데이터 선택
SELECT column1, column2, ... FROM table_name WHERE condition ORDER BY column LIMIT n;
예:
SELECT * FROM employees; SELECT name, age FROM employees WHERE age > 30;
와일드카드
- *: 모든 열 선택
- %: 0개 이상의 문자에 대한 와일드카드(LIKE 절에서)
- _: 정확히 한 문자에 대한 와일드카드(LIKE 절에서)
예:
SELECT * FROM employees WHERE name LIKE 'J%';
데이터 제어 언어(DCL)
권한 부여
GRANT permission ON object TO user;
예:
GRANT SELECT, INSERT ON employees TO 'user1';
권한 취소
REVOKE permission ON object FROM user;
예:
REVOKE SELECT ON employees FROM 'user1';
조인
내부 조인
두 테이블 모두에 일치하는 항목이 있으면 행을 반환합니다.
SELECT column1, column2 FROM table_name WHERE condition ORDER BY column LIMIT n;
LEFT JOIN(또는 LEFT OUTER JOIN)
왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환합니다. 일치하는 항목이 없으면 오른쪽 테이블의 열에 NULL 값이 나타납니다.
/* This is a multi-line comment */
오른쪽 조인(또는 오른쪽 외부 조인)
오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 반환합니다. 일치하는 항목이 없으면 왼쪽 테이블의 열에 NULL 값이 나타납니다.
CREATE TABLE table_name ( column1 datatype [constraints], column2 datatype [constraints], ... );
전체 외부 조인
테이블 중 하나에 일치 항목이 있으면 행을 반환합니다.
CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(100), age INT, hire_date DATE );
하위 쿼리
SELECT의 하위 쿼리
ALTER TABLE table_name ADD column_name datatype;
WHERE의 하위 쿼리
ALTER TABLE table_name DROP COLUMN column_name;
FROM의 하위 쿼리
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
인덱스
인덱스 생성
ALTER TABLE old_table_name RENAME TO new_table_name;
인덱스 삭제
DROP TABLE table_name;
고유 인덱스
열(또는 열 그룹)의 모든 값이 고유한지 확인합니다.
CREATE INDEX index_name ON table_name (column_name);
집계 함수
세다
특정 조건과 일치하는 행 수를 계산합니다.
DROP INDEX index_name;
합집합
열 값의 합계를 반환합니다.
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
평균
열에 있는 값의 평균을 반환합니다.
INSERT INTO employees (id, name, age, hire_date) VALUES (1, 'John Doe', 30, '2022-01-01');
최소 및 최대
열의 최소값과 최대값을 반환합니다.
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
그룹화 및 정렬
그룹 기준
동일한 값을 가진 행을 요약 행으로 그룹화합니다.
UPDATE employees SET age = 31 WHERE id = 1;
가지고 있는
GROUP BY를 적용한 후 그룹을 필터링합니다.
DELETE FROM table_name WHERE condition;
주문 방법
결과 집합을 오름차순 또는 내림차순으로 정렬합니다.
DELETE FROM employees WHERE id = 1;
업무
거래 시작
SELECT column1, column2, ... FROM table_name WHERE condition ORDER BY column LIMIT n;
트랜잭션 커밋
SELECT * FROM employees; SELECT name, age FROM employees WHERE age > 30;
트랜잭션 롤백
SELECT * FROM employees WHERE name LIKE 'J%';
고급 SQL
경우
쿼리 내부의 조건부 논리.
SELECT column1, column2 FROM table_name WHERE condition ORDER BY column LIMIT n;
UNION과 UNION ALL
- UNION: 두 개 이상의 쿼리 결과 집합을 결합합니다(중복 제거).
- UNION ALL: 결과 집합을 결합합니다(중복 유지).
/* This is a multi-line comment */
모범 사례
- 더 나은 성능을 위해 가능한 경우 하위 쿼리 대신 JOIN을 사용하세요.
- 자주 검색되는 열을 색인하여 쿼리 속도를 높입니다.
- SELECT *를 피하고 필요한 열만 지정하세요.
- 큰 결과 세트에는 LIMIT를 사용하여 반환되는 행 수를 제한하세요.
- 데이터를 정규화하여 중복을 방지하고 일관성을 향상하세요.
- 집계 전에 데이터를 필터링하려면 HAVING 대신 WHERE 절을 사용하세요.
- 성능, 특히 대규모 데이터세트의 경우 쿼리를 테스트하세요.
- 트랜잭션을 사용하여 특히 여러 DML 문과 관련된 작업의 경우 데이터 일관성을 보장합니다.
결론
이 SQL 치트시트는 관계형 데이터베이스 작업에 필요한 모든 필수 SQL 명령과 기술을 다룹니다. 데이터 쿼리, 삽입, 업데이트, 결합 등 무엇을 하든 이 가이드는 SQL을 사용하여 더욱 효과적으로 작업하는 데 도움이 될 것입니다.
CREATE TABLE table_name ( column1 datatype [constraints], column2 datatype [constraints], ... );
위 내용은 SQL 빠른 참조: 데이터베이스 관리 단순화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

mysqlblobshavelimits : tinyblob (255bodes), blob (65,535 bytes), mediumblob (16,777,215 bctes), andlongblob (4,294,967,295 Bytes) .tousebl obseffectical : 1) 고려 사항을 고려합니다

MySQL에서 사용자 생성을 자동화하기위한 최고의 도구 및 기술은 다음과 같습니다. 1. MySQLworkBench, 중소형 환경에 적합하고 사용하기 쉽지만 자원 소비가 높습니다. 2. 다중 서버 환경에 적합한 Ansible, 간단하지만 가파른 학습 곡선; 3. 사용자 정의 파이썬 스크립트, 유연하지만 스크립트 보안을 보장해야합니다. 4. 꼭두각시와 요리사는 대규모 환경에 적합하며 복잡하지만 확장 가능합니다. 선택할 때 척도, 학습 곡선 및 통합 요구를 고려해야합니다.

예, youcansearchinsideablobinmysqlusingspecifictechniques.1) converttheblobtoautf-8stringwithConvertFunctionandSearchusing

mysqloffersvariousStringDatatatypes : 1) charfixed-lengthstrings, 이상적인 원인이 길이의 길이가 길이 스트링스, 적합한 포르 플리드 슬리 키나 이름; 3) TextTypesforlargerText, goodforblogpostsbutcactperformance;

TomasterMySQLBLOBs,followthesesteps:1)ChoosetheappropriateBLOBtype(TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB)basedondatasize.2)InsertdatausingLOAD_FILEforefficiency.3)Storefilereferencesinsteadoffilestoimproveperformance.4)UseDUMPFILEtoretrieveandsaveBLOBsco

blobdatatypesinmysqlareusedforvoringlargebinarydatalikeimagesoraudio.1) useblobtypes (tinyblobtolongblob) 기반 론다 타지 세인. 2) StoreBlobsin perplate petooptimize 성능.

toadduserstomysqlfromthecommandline, loginasroot, whenUseCreateUser'Username '@'host'IdentifiedBy'Password '; toCreateAwUser.grantPerMissionswithGrantAllilegesOndatabase

mysqlofferSeightStringDatatatypes : char, varchar, binary, varbinary, blob, text, enum and set.1) charisfix-length, 2) varcharisvariable-length, 효율적 인 datalikenames.3) binaryandvarbinary-binary Binary Binary Binary Binary Binary Binary Binary-Binary


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구