logo

SQL 튜토리얼

SQL 튜토리얼

SQL 튜토리얼은 SQL의 기본 및 고급 개념을 제공합니다. 우리의 SQL 튜토리얼은 초보자와 전문가 모두를 위해 설계되었습니다.

SQL(Structured Query Language)은 데이터베이스에 저장된 레코드에 대해 레코드 업데이트, 레코드 삽입, 레코드 삭제, 데이터베이스 테이블, 뷰 생성 및 수정 등의 작업을 수행하는 데 사용됩니다.

SQL은 데이터베이스 시스템은 아니지만 쿼리 언어입니다.

데이터베이스에 저장된 데이터에 대해 SQL 언어 쿼리를 수행한다고 가정해 보겠습니다. 시스템에 Oracle과 같은 데이터베이스 관리 시스템을 설치해야 합니다. MySQL , MongoDB , PostgreSQL , SQL Server , DB2 등

SQL이란 무엇입니까?

SQL은 구조화된 쿼리 언어의 약어이며 S-Q-L 또는 때로는 See-Quell로 발음됩니다.

성능 시험

이 데이터베이스 언어는 주로 관계형 데이터베이스 관리 시스템에서 데이터를 유지 관리하도록 설계되었습니다. 구조화된 데이터(테이블 형식으로 저장된 데이터)를 처리하기 위해 데이터 전문가가 사용하는 특수 도구입니다. 또한 RDSMS의 스트림 처리용으로 설계되었습니다.

데이터베이스를 쉽게 생성 및 조작하고 테이블 행과 열 등에 액세스하고 수정할 수 있습니다. 이 쿼리 언어는 1986년에 ANSI, 1987년에 ISO의 표준이 되었습니다.

데이터 과학 분야에 취업하고 싶다면 가장 먼저 배워야 할 쿼리 언어입니다. Facebook, Instagram, LinkedIn과 같은 대기업에서는 백엔드에 데이터를 저장하기 위해 SQL을 사용합니다.

왜 SQL인가?

요즘 SQL은 데이터 과학 및 분석에 널리 사용됩니다. 널리 사용되는 이유는 다음과 같습니다.

  • 데이터 전문가 및 SQL 사용자를 위한 SQL의 기본 사용은 관계형 데이터베이스에서 데이터를 삽입, 업데이트 및 삭제하는 것입니다.
  • SQL을 통해 데이터 전문가와 사용자는 관계형 데이터베이스 관리 시스템에서 데이터를 검색할 수 있습니다.
  • 또한 구조화된 데이터를 설명하는 데 도움이 됩니다.
  • 이를 통해 SQL 사용자는 데이터베이스와 해당 테이블을 생성, 삭제 및 조작할 수 있습니다.
  • 또한 관계형 데이터베이스에서 뷰, 저장 프로시저 및 함수를 생성하는 데에도 도움이 됩니다.
  • 이를 통해 데이터를 정의하고 관계형 데이터베이스에 저장된 데이터를 수정할 수 있습니다.
  • 또한 SQL 사용자는 테이블 열, 뷰 및 저장 프로시저에 대한 권한이나 제약 조건을 설정할 수 있습니다.

SQL의 역사

'A Relational Model of Data for Large Shared Data Banks'는 위대한 컴퓨터 과학자 'E.F. 1970년 코드'.

IBM 연구원인 Raymond Boyce와 Donald Chamberlin은 원래 E.F. Codd의 논문을 학습한 후 SEQUEL(Structured English Query Language)을 개발했습니다. 그들은 둘 다 1970년에 IBM Corporation의 산호세 연구소에서 SQL을 개발했습니다.

1970년대 말, 관계형 소프트웨어 회사(Relational Software Inc.)는 E.F. Codd, Raymond Boyce 및 Donald Chamberlin의 개념을 사용하여 최초의 SQL을 개발했습니다. 이 SQL은 전적으로 RDBMS를 기반으로 했습니다. 현재 Oracle Corporation으로 알려진 Relational Software Inc.는 1979년 6월에 최초의 SQL 언어 구현인 Oracle V2를 출시했습니다. 이 Oracle V2 버전은 VAX 컴퓨터에서 작동합니다.

SQL의 처리

관계형 데이터베이스 관리 시스템에서 SQL 명령을 실행할 때 시스템은 자동으로 요청을 수행하는 데 가장 적합한 루틴을 찾고 SQL 엔진은 해당 특정 명령을 해석하는 방법을 결정합니다.

구조적 쿼리 언어에는 프로세스에 다음 네 가지 구성 요소가 포함되어 있습니다.

  • 쿼리 디스패처
  • 최적화 엔진
  • 클래식 쿼리 엔진
  • SQL 쿼리 엔진 등

기존 쿼리 엔진을 사용하면 데이터 전문가와 사용자가 비SQL 쿼리를 유지할 수 있습니다. SQL의 아키텍처는 다음 다이어그램에 나와 있습니다.

SQL 튜토리얼

일부 SQL 명령

SQL 명령은 데이터베이스를 생성하고 관리하는 데 도움이 됩니다. 많이 사용되는 가장 일반적인 SQL 명령은 다음과 같습니다.

  1. CREATE 명령
  2. 업데이트 명령
  3. 삭제 명령
  4. 선택 명령
  5. DROP 명령
  6. INSERT 명령

CREATE 명령

이 명령은 새 데이터베이스, 새 테이블, 테이블 뷰 및 기타 데이터베이스 개체를 만드는 데 도움이 됩니다.

업데이트 명령

이 명령은 데이터베이스에 저장된 데이터를 업데이트하거나 변경하는 데 도움이 됩니다.

삭제 명령

이 명령은 데이터베이스 테이블에서 저장된 레코드를 제거하거나 지우는 데 도움이 됩니다. 데이터베이스 테이블에서 단일 또는 다중 튜플을 지웁니다.

선택 명령

이 명령은 데이터베이스의 하나 또는 여러 테이블에서 단일 또는 여러 행에 액세스하는 데 도움이 됩니다. 이 명령을 WHERE 절과 함께 사용할 수도 있습니다.

DROP 명령

이 명령은 데이터베이스에서 전체 테이블, 테이블 뷰 및 기타 개체를 삭제하는 데 도움이 됩니다.

삽입 명령

이 명령은 데이터베이스 테이블에 데이터나 레코드를 삽입하는 데 도움이 됩니다. 테이블의 단일 행은 물론 여러 행에도 레코드를 쉽게 삽입할 수 있습니다.

SQL과 No-SQL

SQL 튜토리얼

다음 표에서는 이해하는 데 필요한 SQL과 NoSQL의 차이점을 설명합니다.

SQL SQL 없음
1. SQL은 관계형 데이터베이스 관리 시스템입니다. 1. No-SQL은 비관계형 또는 분산 데이터베이스 관리 시스템입니다.
2. 본 데이터베이스 시스템에서 사용되는 질의어는 구조화된 질의언어이다. 2. No-SQL 데이터베이스 시스템에서 사용되는 쿼리 언어는 비선언적 쿼리 언어입니다.
3. SQL 데이터베이스의 스키마는 사전 정의되고 고정되어 있으며 정적입니다. 3. No-SQL 데이터베이스의 스키마는 비정형 데이터에 대한 동적 스키마입니다.
4. 이 데이터베이스는 수직적으로 확장 가능합니다. 4. 이 데이터베이스는 수평 확장이 가능합니다.
5. SQL의 데이터베이스 형태는 테이블 형태, 즉 행과 열 형태이다. 5. No-SQL의 데이터베이스 형태는 문서, 키-값, 그래프 형태이다.
6. ACID 모델을 따릅니다. 6. BASE 모델을 따릅니다.
7. 복잡한 쿼리도 SQL 데이터베이스에서 쉽게 관리할 수 있습니다. 7. NoSQL 데이터베이스는 복잡한 쿼리를 처리할 수 없습니다.
8. 이 데이터베이스는 계층적 데이터를 저장하는 데 최선의 선택이 아닙니다. 8. No-SQL 데이터베이스는 계층적 데이터를 저장하는 데 완벽한 옵션입니다.
9. 모든 SQL 데이터베이스에는 객체 관계형 매핑이 필요합니다. 9. 많은 No-SQL 데이터베이스에는 객체 관계형 매핑이 필요하지 않습니다.
10. Gauges, CircleCI, Hootsuite 등이 이 쿼리 언어를 사용하는 최고의 기업입니다. 10. Airbnb, Uber 및 Kickstarter는 이 쿼리 언어를 사용하는 최고의 기업입니다.
11. SQLite, Ms-SQL, Oracle, PostgreSQL 및 MySQL은 SQL 데이터베이스 시스템의 예입니다. 11. Redis, MongoDB, Hbase, BigTable, CouchDB 및 Cassandra는 NoSQL 데이터베이스 시스템의 예입니다.

SQL의 장점

SQL은 데이터 과학 분야에서 더욱 대중화되는 다양한 이점을 제공합니다. 데이터 전문가와 사용자가 데이터베이스와 통신할 수 있는 완벽한 쿼리 언어입니다. 다음은 구조적 쿼리 언어의 가장 큰 장점 또는 이점입니다.

1. 프로그래밍이 필요하지 않습니다.

SQL에는 데이터베이스 시스템을 관리하기 위해 많은 코딩 라인이 필요하지 않습니다. 간단한 SQL 구문 규칙을 사용하여 데이터베이스에 쉽게 액세스하고 유지 관리할 수 있습니다. 이러한 간단한 규칙은 SQL을 사용자 친화적으로 만듭니다.

2. 고속 쿼리 처리

SQL 쿼리를 사용하면 데이터베이스에서 대량의 데이터에 빠르고 효율적으로 액세스할 수 있습니다. 데이터에 대한 삽입, 삭제 및 업데이트 작업도 더 짧은 시간에 수행됩니다.

3. 표준화된 언어

SQL은 전 세계 모든 사용자에게 통일된 플랫폼을 제공하는 ISO 및 ANSI의 오랜 표준을 따릅니다.

4. 휴대성

구조화된 쿼리 언어는 데스크톱 컴퓨터, 노트북, 태블릿, 심지어 스마트폰에서도 쉽게 사용할 수 있습니다. 사용자의 요구 사항에 따라 다른 응용 프로그램과 함께 사용할 수도 있습니다.

5. 대화형 언어

우리는 SQL 언어를 쉽게 배우고 이해할 수 있습니다. 이 언어는 간단한 쿼리 언어이기 때문에 데이터베이스와 통신하는 데에도 사용할 수 있습니다. 이 언어는 복잡한 쿼리에 대한 답변을 몇 초 안에 받는 데에도 사용됩니다.

6. 둘 이상의 데이터 보기

SQL 언어는 또한 다양한 데이터베이스 사용자를 위해 데이터베이스 구조에 대한 다양한 보기를 만드는 데 도움이 됩니다.

SQL의 단점

SQL의 장점과 함께 다음과 같은 몇 가지 단점도 있습니다.

1. 비용

일부 SQL 버전의 운영 비용은 높습니다. 이것이 바로 일부 프로그래머가 구조적 쿼리 언어를 사용할 수 없는 이유입니다.

2. 인터페이스가 복잡하다

또 다른 큰 단점은 구조적 쿼리 언어의 인터페이스가 어려워서 SQL 사용자가 사용하고 관리하기 어렵다는 점입니다.

3. 부분적인 데이터베이스 제어

비즈니스 규칙은 숨겨져 있습니다. 따라서 이 쿼리 언어를 사용하는 데이터 전문가와 사용자는 데이터베이스를 완전히 제어할 수 없습니다.