2023년 초보자를 위한 전체 SQL 자습서
게시 됨: 2023-03-22SQL(Structured Query Language)은 수십 년 동안 사용되어 왔으며 데이터를 관리하고 조작하는 데 사용되는 강력한 언어입니다. SQL을 배우고 싶었지만 어디서부터 시작해야 할지 모르겠다면 잘 찾아오셨습니다! 이 궁극적인 SQL 가이드는 2022년 초보자를 위한 완벽한 단계별 SQL 자습서 입니다. 이 SQL을 통해 SQL 기본 사항 , 쿼리 작성 방법 및 데이터베이스 관리, 테이블 생성 및 뷰 사용과 같은 고급 주제를 배우게 됩니다. 서버 튜토리얼. 이 가이드의 도움으로 SQL을 사용하여 자신 있게 프로젝트 데이터를 저장하고 검색할 수 있습니다. 자, 시작하겠습니다!
목차
SQL과 NoSQL의 차이점은 무엇입니까?
SQL(Structured Query Language)은 데이터를 저장하고 관리하는 데 사용되는 서버 언어입니다. 열과 행이 있는 테이블에 데이터를 저장하는 관계형 데이터베이스와 함께 자주 사용됩니다.
SQL은 구조화된 데이터베이스 관리 언어(DBML)의 일종으로 설정된 형식과 규칙을 따릅니다. SQL, NoSQL 및 NewSQL을 포함하여 여러 가지 유형의 DBML이 있습니다. NoSQL은 SQL을 포함하지 않는 일종의 DBML입니다. 보다 구조화되고 관계형 데이터 모델에서 가장 잘 작동하는 SQL과 달리 다양한 데이터 모델에 적용할 수 있는 개방형 언어입니다. 반면에 NewSQL은 새로운 데이터 유형과 같은 일부 업데이트를 포함하는 최신 버전의 SQL입니다.
upGrad에서 소프트웨어 개발 과정을 확인하십시오.
프로젝트를 위한 데이터베이스 설정
모든 SQL 자습서 의 첫 번째 단계는 프로젝트용 데이터베이스를 설정하는 방법을 배우는 것입니다. Firebase와 같은 클라우드 데이터베이스 서비스를 사용하는 경우 자체 데이터베이스를 설정할 필요가 없습니다. 그러나 로컬 데이터베이스가 필요한 프로젝트에서 작업하는 경우 수행해야 할 몇 가지 작업이 있습니다.
- 먼저 명령줄을 열고 "cd" 명령(예: cd Desktop/myProject/)을 사용하여 프로젝트 디렉토리로 이동합니다.
- 다음 SQL 쿼리를 사용하여 데이터베이스를 생성합니다. CREATE DATABASE 'myDatabaseName'.
- 그런 다음 명령줄을 닫고 Visual Studio Code 또는 SQL Server Management Studio와 같은 선호하는 SQL 편집기를 열 수 있습니다.
데이터베이스를 설정했으면 이제 SQL 기본 사항을 이해 하고 다양한 쿼리와 명령을 시도하여 실시간으로 실행되는 것을 확인할 수 있습니다.
SQL 쿼리 작성 방법
이제 기본 SQL 쿼리를 작성하는 방법에 대해 이야기하겠습니다.
모든 SQL 쿼리에는SELECT 절, FROM절 및WHERE절의 세 가지 기본 부분이 있습니다.
SELECT 절은 검색할 데이터를 지정하는 곳입니다. FROM 절은 데이터를 검색할 수 있는 테이블을 지정합니다. WHERE 절은 데이터가 결과에 포함되기 위해 충족해야 하는 조건을 지정합니다.
다음은 간단한SELECT 쿼리 의 예입니다 .
SELECT * FROM '고객';
이 쿼리는 'customers' 테이블에서 모든 고객을 가져옵니다. 다음은 또 다른 예입니다.
'고객' WHERE '고객'에서 '이름', '성'을 선택합니다. '주' = '텍사스';
이 쿼리는 'customers' 테이블에서 firstName 및 lastName 필드를 선택하고 텍사스에 거주하는 고객만 포함합니다.
이러한 기본 쿼리를 기반으로 구축하고 달성하려는 목표에 따라 더 복잡하고 상호 연결된 명령을 실행할 수도 있습니다. 그러나 이러한 모든 SQL 쿼리의 기본 구조도 위에서 설명한 것과 동일합니다. 구문은 동일하게 유지됩니다!
US 확인 - 데이터 과학 프로그램
데이터 과학 및 비즈니스 분석의 전문 인증 프로그램 | 데이터 과학 석사 | 데이터 과학 석사 | 데이터 과학의 고급 인증 프로그램 |
데이터 과학의 임원 PG 프로그램 | 파이썬 프로그래밍 부트캠프 | 비즈니스 의사 결정을 위한 데이터 과학 전문 인증 프로그램 | 데이터 과학의 고급 프로그램 |
테이블, 뷰 및 인덱스 생성의 기본 사항
이제 몇 가지 SQL 기본 사항 , 특히 쿼리 실행을 간략하게 살펴보았 으므로 이 SQL 자습서를 한 단계 더 발전시켜 테이블, 보기 및 인덱스에 대해 이야기해 보겠습니다. 테이블부터 시작합니다.
SQL에서 테이블을 생성하는 것은 쉽습니다. CREATE TABLE 쿼리를 사용하고 테이블 이름과 열을 지정하기 만 하면 됩니다 .예를 들어:
CREATE TABLE 'customers'('id' INT PRIMARY KEY, 'firstName' VARCHAR(40) NOT NULL, 'lastName' VARCHAR(40) NOT NULL, 'state' VARCHAR(40) NOT NULL, 'emailAddress' VARCHAR(40) NULL이 아님)
위에서 언급한 쿼리를 분석하면 다음과 같습니다.
- 쿼리를 사용하여 'customers'라는 이름으로 테이블을 생성합니다.
- 테이블에는 다음 속성(또는 열)이 있습니다.
1. Id – 데이터 유형이 'int'입니다.이 속성은 기본 키이기도 합니다. 즉, 테이블을 채우는 동안 이 세부 정보를 비워둘 수 없으며 이 속성은 다른 테이블에서 이 테이블을 참조하는 동안 사용됩니다.
2.firstName – 데이터 유형이 'varchar'이고 최대 길이는 40자입니다.이 특성은 Not Null로 설정되며, 이는 이 필드도 비워둘 수 없음을 의미합니다.
3. 마찬가지로 lastName, state 및 emailAddress는 firstName 속성과 동일한 속성을 가진 세 가지 추가 속성입니다.
테이블을 만든 후에는 다음과 같이 INSERT INTO 쿼리를 사용하여 테이블에 데이터를 삽입할 수 있습니다.
INSERT INTO '고객'('id', 'firstName', 'lastName', 'state', 'emailAddress') 값(1, 'John', 'Doe', 'Texas', '[email protected] ');
다음과 같이 DROP TABLE 쿼리를 사용하여 테이블을 삭제할 수도 있습니다 . DROP TABLE 'customers';
이제 뷰에 대해 이야기해 보겠습니다. 뷰는 기본적으로 SQL 메모리에만 존재하는 테이블입니다. 보기는 원래 데이터를 실제로 수정하지 않고 데이터를 조작하는 데 사용할 수 있기 때문에 유용합니다.
'고객'이라는 고객 정보가 있는 테이블이 있고 모든 고객의 평균 연령을 알고 싶다고 가정해 보겠습니다. 이를 위해 모든 고객의 연령을 합산하고 합계를 고객 수로 나누는 'averageAge'라는 뷰를 만들 수 있습니다.
마찬가지로 인덱스를 만들 수도 있습니다. 인덱스는 더 빠른 방법으로 데이터베이스에서 데이터를 검색하는 도구로 생각할 수 있습니다. 사용자는 인덱스를 볼 수 없으며 검색/쿼리 속도를 높이기 위한 것입니다. 다음 구문을 사용하여 이 작업을 수행할 수 있습니다.
CREATE INDEX index_name ON table_name(column1, column2, …);
SQL의 고급 항목: 트랜잭션 및 저장 프로시저 사용
트랜잭션을 사용하면 여러 SQL 쿼리가 전체적으로 성공하거나 실패하도록 함께 그룹화할 수 있습니다. 쿼리가 서로 상호 작용하여 함께 그룹화되지 않으면 문제가 발생할 수 있으므로 여러 쿼리를 실행해야 하는 경우에 유용합니다.
BEGIN TRANSACTION 쿼리를 사용하여 트랜잭션을 시작 하고 COMMIT TRANSACTION쿼리를 사용하여 종료할 수 있습니다.ROLLBACK TRANSACTION 쿼리를 사용하여 트랜잭션을 종료하고 변경 사항을 버릴 수도 있습니다.
여러 쿼리를 함께 그룹화해야 하는 경우 저장 프로시저를 사용할 수 있습니다. 다른 프로그래밍 언어에서 함수를 사용하는 것처럼 저장 프로시저는 SQL에서 사용할 수 있는 코드입니다. CREATE PROCEDURE 쿼리를 사용하여 저장 프로시저를 만들고 DROP PROCEDURE쿼리를 사용하여 종료 할 수 있습니다 .
더 나은 성능을 위해 SQL 쿼리를 최적화하는 방법
이제 SQL 기본 사항 과 쿼리 작성 방법을 알았으므로 더 나은 성능을 위해 SQL 쿼리를 최적화하는 방법에 대해 이야기하겠습니다.
- 데이터가 구성되어 있고 테이블이 너무 크지 않은지 확인하십시오. 큰 테이블은 쿼리 실행 속도를 저하시키고 데이터베이스에 잠재적인 문제를 일으킬 수 있습니다.
- 인덱스가 올바르게 생성되었는지 확인하십시오. 데이터가 관계형인 경우 인덱스를 사용하면 쿼리 속도를 높일 수 있습니다.
- 데이터베이스 엔진은 SQL 쿼리를 처리하므로 데이터베이스 엔진이 최적화되고 빠른지 확인하십시오. 동시 연결 수, 스레드 설정 및 CPU와 같은 설정을 조정하여 데이터베이스 엔진을 최적화합니다.
초보자를 위한 SQL 리소스
이제 이 SQL 가이드를 마쳤으므로 SQL 전문가가 되는 길을 잘 가고 있습니다! 계속 배우고 싶다면 확인할 수 있는 몇 가지 리소스가 있습니다. 첫 번째는 "Learn SQL the Hard Way"입니다. 이 리소스는 SQL에 대해 필요한 모든 것을 알려주는 완벽한 단계별 가이드입니다. 배운 내용을 연습하는 데 도움이 되도록 각 장 끝에 연습 문제도 포함되어 있습니다. 또 다른 유용한 리소스는 "W3Schools SQL 자습서 "입니다. 이 웹 사이트에는 이해하고 따르기 쉬운 포괄적인 SQL 자습서 도 있습니다.
결론적으로
이 기사에서 SQL에 대한 완전하면서도 간략한 개요를 제공했습니다. 아이디어는 프로젝트를 편안하게 처리할 수 있도록 SQL 여정을 시작하는 데 도움이 되는 것입니다. 결국 SQL(또는 일반적으로 데이터베이스 관리)은 모든 소프트웨어 개발 노력의 핵심입니다. 풀 스택 개발자가 되고자 하는 경우 특히 그렇습니다. 그러면 프런트 엔드 및 백 엔드 작업과 데이터베이스 관리 작업 수행에 대해 잘 알고 편안하게 작업할 수 있을 것으로 기대되기 때문입니다.
upGrad는 오늘날 풀스택 개발의 중요성을 이해하고 있으며 다재다능한 풀스택 개발자에게는 모든 중요한 측면에서 적절한 교육과 연습이 필요하다고 믿습니다. 이에 따라 소프트웨어 개발 분야의 13개월 간행 대학원 프로그램 – 풀 스택 개발을 시작했습니다 . 이 과정은 업계 전문가 및 리더와 함께 전체 스택 개발의 세계로 안내합니다.
자세한 내용은 과정을 확인하고 빨리 등록하십시오!
SQL은 무엇을 위해 사용됩니까?
SQL은 테이블과 같은 구조화된 형식으로 저장된 데이터를 관리하고 조작하는 데 사용되는 데이터베이스 관리 언어입니다. 이 공통 데이터베이스 언어는 데이터베이스에서 중요한 데이터를 입력하고 검색하는 데 크게 도움이 됩니다.
SQL에 대한 대안이 있습니까?
다양한 도구가 SQL 위에 구축되지만 SQL은 여전히 구조화된 데이터 관리의 핵심입니다. 관계형 데이터베이스와의 상호 작용 측면에서 SQL에 대한 대안은 없지만 애플리케이션에 SQL을 쉽게 통합할 수 있는 많은 대안이 있습니다. 여기에는 HaskellDB, ScalaQL 등이 포함됩니다.
컴퓨터 배경 지식이 없는 사람이 SQL을 이해할 수 있습니까?
SQL은 매우 직관적이고 배우기 쉽습니다. 훈련된 연습을 통해 SQL 작업을 쉽게 시작하고 학업 배경에 관계없이 동기와 의지가 있는 한 계속 학습할 수 있습니다.