SQL Tutorial : SQL 학습을위한 원 스톱 솔루션



SQL Tutorial에 대한이 기사는 단계별 예제와 함께 상위 SQL 개념, 명령 및 쿼리에 대한 포괄적 인 가이드입니다.

매일 약 2.5 오십 경 바이트의 데이터가 생성되는 오늘날의 시장에서는 이러한 방대한 양의 데이터를 처리하는 방법을 이해하는 것이 매우 중요합니다. 이것은 Structured Query Language 또는 SQL이 등장하는 곳입니다. 따라서 SQL 자습서에 대한이 기사에서는 다음과 같은 중요한 개념에 대해 논의 할 것입니다. .

SQL 자습서 : SQL 소개

SQL이란 무엇입니까?

1970 년대 Donald D. Chamberlin에 의해 개발 된 Structured Query Language 또는 가장 일반적으로 알려진 SQL은 관계형 데이터베이스에서 데이터를 조작, 저장, 업데이트 및 검색하는 데 가장 많이 사용되는 언어 중 하나입니다. SQL은 데이터베이스의 데이터를 처리하기 위해 DDL, DML, DCL 및 TCL의 4 개 범주로 분리 된 다양한 명령으로 구성됩니다. 또한 다음과 같은 관계형 데이터베이스 MySQL 데이터베이스 , , MS SQL Server, Sybase 등은 SQL을 사용하여 데이터를 수정합니다.





SQL의 응용

SQL의 응용 프로그램은 다음과 같습니다.

  • SQL을 사용하면 테이블과 데이터베이스를 만들고 삭제할 수 있습니다.
  • 사용자가 데이터베이스에서 데이터를 정의하고 조작 할 수 있습니다.
  • SQL을 사용하면 사용자가 RDBMS의 데이터에 액세스, 수정 및 설명 할 수 있습니다.
  • SQL을 사용하면 테이블, 뷰 및 프로 시저에 대한 권한을 설정하고 다른 사용자에게 특정 권한을 부여 할 수 있습니다.
  • SQL을 사용하면 SQL 라이브러리 및 모듈을 사용하여 다른 언어에 포함 할 수 있습니다.

이제 당신은 SQL의 기초 ,이 SQL 자습서의 다음으로 다른 SQL 데이터 유형이 무엇인지 이해하겠습니다.



SQL 데이터 유형

SQL 데이터 유형은 다음 범주로 나뉩니다.

  • 숫자 – 숫자데이터 유형은 부호있는 정수와 부호없는 정수를 모두 허용합니다. 정확히는 정수 형태의 정수를 허용하고 근사는 부동 정수를 허용하는 정확한 데이터 유형과 근사 데이터 유형으로 더 나눌 수 있습니다.
  • 문자열 -이 데이터 유형은 고정 및 가변 길이의 문자를 허용합니다. 이 데이터 유형은 유니 코드 문자의 고정 및 가변 길이를 허용하는 유니 코드 문자로 더 분류 될 수도 있습니다.
  • 바이너리 -이진 데이터 유형을 사용하면 고정 및 가변 길이에 대해 이진 값 형식으로 데이터를 저장할 수 있습니다.
  • 날짜 시간 – T그의 데이터 유형을 사용하면 데이터를 다른 형식의 날짜 및 시간으로 저장할 수 있습니다.
  • 다른 –이 데이터 유형 섹션에는 테이블, XML, 커서,uniqueidentifier 및 sql_variant.

다양한 SQL 데이터 유형에 대한 자세한 이해를 원하시면 다음의 상세 가이드를 참조하십시오. SQL 데이터 유형.

SQL 연산자

연산자는 피연산자의 값을 조작 할 수있는 구조입니다. 표현식 4 + 6 = 10을 고려하십시오. 여기서 4와 6은 피연산자이고 +는 연산자라고합니다.



SQL은 다음 유형의 연산자를 지원합니다.

  • 산술 연산자
  • 비트 연산자
  • 비교 연산자
  • 복합 연산자
  • 논리 연산자

SQL에서 지원하는 다양한 연산자를 정교하게 파악하려면 다음을 수행 할 수 있습니다. . 이제 SQL이 무엇인지와 그 기본 사항을 알았으니 SQL의 최상위 명령이나 문을 이해하겠습니다.

SQL 자습서 : 주요 SQL 명령

SQL은 데이터베이스에서 데이터를 추가, 수정, 삭제 또는 업데이트하기위한 다양한 명령 또는 문으로 구성됩니다. SQL 자습서에 대한이 기사에서는 다음 명령문에 대해 설명합니다.

    1. 창조하다
    2. 하락
    3. 나이
    4. 자르기
    5. 설명
    6. 에 집어 넣다
    7. 최신 정보
    8. 고르다
    9. 처럼
    10. 부여

이 SQL 자습서에서는 아래 데이터베이스를 다음과 같이 고려할 것입니다.작성 방법을 보여주는 예이러한 SQL 명령을 사용하는 쿼리.

바이너리를 int 자바로 변환
고객 ID 고객 이름 전화 번호 주소 시티 국가
하나Simon9876543210도널드 스트리트 52하이데라바드인도
2아카 쉬9955449922퀸즈로드 74뭄바이인도
패트릭9955888220실크 보드 82델리인도
4Sameer9647974327IG 도로 19하이데라바드인도
5남자9674325689여단 도로 블록 9방갈로르인도

창조하다

그만큼 CREATE 문 다음과 같은 방식으로 테이블, 뷰 또는 데이터베이스를 만드는 데 사용됩니다.

데이터베이스 생성

데이터베이스를 만드는 데 사용됩니다.

통사론

데이터베이스 데이터베이스 이름 만들기

데이터베이스 고객 정보 생성

테이블 만들기

이 문은 테이블을 만드는 데 사용됩니다.

통사론

CREATE TABLE TableName (Column1 데이터 유형, Column2 데이터 유형, .... ColumnN 데이터 유형)

CREATE TABLE Customers (CustomerID int, CustomerName varchar (255), PhoneNumber int, Address varchar (255), City varchar (255), Country varchar (255))

보기 만들기

보기를 만드는 데 사용됩니다.

통사론

CREATE VIEW 또는 REPLACE ViewName AS SELECT Column1, Column2, ..., ColumnN FROM TableName WHERE Condition

도시 = '하이데라바드'인 고객의 선택 CustomerName, PhoneNumber로 HydCustomers보기 또는 교체

노트 : 테이블 생성 및 값 입력을 시작하기 전에 USE 문을 다음과 같이 사용하여 데이터베이스를 사용해야합니다. CustomersInfo 사용 ]

하락

DROP 문은 기존 테이블, 뷰 또는 데이터베이스를 삭제하는 데 사용됩니다.

DROP 데이터베이스

데이터베이스를 삭제하는 데 사용됩니다.이 문을 사용하면 데이터베이스에있는 전체 정보가 손실됩니다.

통사론

DROP DATABASE DatabaseName

DROP DATABASE CustomerInfo

드롭 테이블

테이블을 삭제하는 데 사용됩니다.이 명령문을 사용하면 테이블에있는 완전한 정보가 손실됩니다.

통사론

DROP TABLE TableName

DROP TABLE 고객

드롭 뷰

뷰를 삭제하는 데 사용됩니다.이 문을 사용하면보기에있는 전체 정보가 손실됩니다.

통사론

드롭 뷰 ViewName

드롭 뷰 HydCustomers

나이

ALTER 문은 기존 테이블의 제약 조건이나 열을 추가, 삭제 또는 수정하는 데 사용됩니다.

ALTER TABLE

그만큼 ALTER 문 기존 테이블에서 열을 삭제, 추가, 수정하는 데 사용됩니다. ALTER TABLE을 ADD / DROP 열과 함께 사용하여 테이블에 열을 추가하거나 삭제할 수 있습니다. 이 외에도 특정 열을 ALTER / MODIFY 할 수도 있습니다.

통사론

ALTER TABLE TableName ADD ColumnName 데이터 형식 ALTER TABLE TableName DROP COLUMN ColumnName ALTER TABLE TableName ALTER COLUMN ColumnName 데이터 형식

--ADD 열 Gender : ALTER TABLE Customers ADD Gender varchar (255) --DROP 열 Gender : ALTER TABLE Customers DROP COLUMN Gender-열 DOB를 추가하고 데이터 유형을 Date에서 Year로 변경합니다. ALTER TABLE DOB ADD DOB date ALTER TABLE DOB ALTER DOB year

자르기

TRUNCATE 문은 테이블 자체가 아닌 테이블에있는 정보를 삭제하는 데 사용됩니다. 따라서이 명령을 사용하면 정보가 손실되지만 테이블은 데이터베이스에 여전히 존재하지 않습니다.

통사론

TRUNCATE TABLE TableName

TRUNCATE 테이블 고객

설명

EXPLAIN 및 DESCRIBE 문은 각각 쿼리 실행 계획 및 테이블 구조에 대한 정보를 얻는 데 사용되는 동의어입니다. 이 문은 INSERT, DELETE, SELECT, UPDATE 및 REPLACE 문과 함께 사용할 수 있습니다.

통사론

--DESCRIBE DESCRIBE TableName 구문-EXPLAIN EXPLAIN ANALYZE SELECT * FROM TableName1 JOIN TableName2 ON (TableName1.ColumnName1 = TableName2.ColumnName2)의 샘플 구문

DESCRIBE Customers ExpLAIN ANALYZE SELECT * FROM Customers1 JOIN Orders ON (Customers.CustomerID = Orders.CustomerID)

에 집어 넣다

그만큼 INSERT INTO 문 테이블에 새 레코드를 삽입하는 데 사용됩니다.

통사론

INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...)-열 이름을 언급하지 않으려면 아래 구문을 사용하지만 순서는 입력 한 값은 열 데이터 유형과 일치해야합니다. INSERT INTO TableName VALUES (Value1, Value2, Value3, ...)

INSERT INTO Customers (CustomerID, CustomerName, PhoneNumber, Address, City, Country) VALUES ( '06', 'Sanjana', '9654323491', 'Oxford Street House No 10', 'Bengaluru', 'India') INSERT INTO Customers VALUES ( '07', '히 마니', '9858018368', 'Nice Road 42', '콜카타', '인도')

최신 정보

UPDATE 문은 테이블에 이미있는 레코드를 수정하는 데 사용됩니다.

통사론

UPDATE TableName SET Column1 = Value1, Column2 = Value2, ... WHERE 조건

고객 업데이트 설정 CustomerName = 'Aisha', City = 'Kolkata'WHERE EmployeeID = 2

고르다

SELECT 문은 데이터베이스에서 데이터를 선택하고 결과 테이블에 저장하는 데 사용됩니다. 결과 세트 .

통사론

SELECT Column1, Column2, ... ColumN FROM TableName-(*)은 테이블에서 모두 선택하는 데 사용됩니다. SELECT * FROM table_name-반환 할 레코드 수를 선택하려면 다음을 사용합니다. SELECT TOP 3 * FROM TableName

SELECT CustomerID, CustomerName FROM Customers-(*)는 테이블에서 모두 선택하는 데 사용됩니다. SELECT * FROM Customers-반환 할 레코드 수를 선택하려면 다음을 사용합니다. SELECT TOP 3 * FROM Customers

이 외에도 SELECT 키워드를 다음과 함께 사용할 수 있습니다. , 주문 , , .

처럼

이 연산자는 테이블 열에서 지정된 패턴을 검색하기 위해 WHERE 절과 함께 사용됩니다. 주로 다음과 함께 사용되는 두 개의 와일드 카드가 있습니다. LIKE 연산자 :

  • % – 0 개 이상의 문자와 일치합니다.
  • _ – 정확히 한 문자와 일치합니다.

통사론

SELECT ColumnName (s) FROM TableName WHERE ColumnName LIKE 패턴

'S %'와 같은 CustomerName의 고객에서 * 선택

부여

GRANT 명령은 데이터베이스 및 해당 개체에 대한 권한 또는 액세스를 사용자에게 제공하는 데 사용됩니다.

통사론

ObjectName에 대한 PrivilegeName을 UserName에 GRANT [WITH GRANT OPTION]

어디,

  • PrivilegeName – 사용자에게 부여 된 권한 / 권한 / 액세스.
  • ObjectName – TABLE / VIEW / STORED PROC와 같은 데이터베이스 개체의 이름.
  • 사용자 이름 – 액세스 / 권한 / 권한이 부여 된 사용자의 이름.
  • 공공의 – 모든 사용자에게 액세스 권한을 부여합니다.
  • RoleName – 함께 그룹화 된 권한 집합의 이름.
  • GRANT 옵션 포함 – 사용자에게 권한을 부여하여 다른 사용자에게 액세스 권한을 부여합니다.

-고객 테이블에 대한 SELECT 권한을 관리자에게 부여하려면 GRANT SELECT ON Customers TO admin

이제 당신은 , 데이터베이스에서 사용되는 다른 유형의 키가 무엇인지 이해하겠습니다. 이 개념은 관계형 데이터베이스 관리 시스템에서 각 테이블이 다른 테이블과 어떻게 관련되어 있는지 이해하는 데 도움이됩니다.

SQL 자습서 : 키

다음은 데이터베이스에서 고려할 수있는 7 가지 유형의 키입니다.

  • 후보 키 – 테이블을 고유하게 식별 할 수있는 속성 세트를 후보 키라고 할 수 있습니다. 테이블은 둘 이상의 후보 키를 가질 수 있으며 선택한 후보 키 중에서 하나의 키를 기본 키로 선택할 수 있습니다.
  • 슈퍼 키 – 튜플을 고유하게 식별 할 수있는 속성 세트를 수퍼 키라고합니다. 따라서 후보 키, 기본 키 및 고유 키는 수 퍼키이지만 그 반대의 경우도 마찬가지입니다.
  • 기본 키 - 모든 튜플을 고유하게 식별하는 데 사용되는 속성 집합도 기본 키입니다.
  • 대체 키 – 대체 키는 기본 키로 선택되지 않은 후보 키입니다.
  • 고유 키- 고유 키는 기본 키와 유사하지만 열에 하나의 NULL 값을 허용합니다.
  • 외래 키 - 다른 속성의 값으로 만 존재하는 값을 취할 수있는 속성은 참조하는 속성에 대한 외래 키입니다.
  • 복합 키- 복합 키는 각 튜플을 고유하게 식별하는 두 개 이상의 열 조합입니다.

데이터베이스의 다양한 키 유형을 이해 하셨기를 바랍니다.이 기사의 다음 SQL 자습서에서 데이터베이스의 제약 조건에 대해 논의하겠습니다. 음, SQL 제약 조건은테이블을 통해 데이터베이스로 들어가는 데이터의 정확성과 신뢰성을 높입니다.

SQL 자습서 : 제약

SQL 제약 조건은 데이터 트랜잭션 측면에서 위반이 없는지 확인한 후 조치가 종료됩니다. 다음 제약 조건의 주요 용도는테이블에 들어갈 수있는 데이터 유형입니다.

  • NULL 아님 -이 제약 조건은 열이 NULL 값을 저장할 수 없도록하는 데 사용됩니다.
  • 독특한 – UNIQUE 제약 조건은 열 또는 테이블에 입력 된 모든 값이 고유한지 확인하는 데 사용됩니다.
  • 검사 –이 제약 조건은 한 열 또는 여러 열이 특정 조건을 충족하는지 확인하는 데 사용됩니다.
  • 기본 – DEFAULT 제약 조건은 값이 지정되지 않은 경우 열에 대한 기본값을 설정하는 데 사용됩니다.
  • 인덱스 –이 제약은데이터베이스에서 데이터를 매우 빠르게 생성하고 검색 할 수있는 테이블의 인덱스.

구문 및 예제를 통해 다음 제약 조건에 대해 자세히 알고 싶다면 다른 .이제 데이터베이스의 키와 제약 조건에 대해 알아 보았으니,이 기사의 SQL 자습서 다음에서 흥미로운 개념 인 정규화를 살펴 보겠습니다.

SQL 자습서 : 정규화

정규화는 중복 및 중복을 방지하기 위해 데이터를 구성하는 프로세스입니다. 연속적인 수준의 정규화가 많이 있으며이를 정상적인 형태 . 또한 각 연속 정규 형식은 이전 형식에 따라 다릅니다. 다음은 존재하는 정상적인 형태입니다.

정규화-SQL 자습서-Edureka위의 일반 형식을 이해하려면 다음 표를 고려하십시오.

위의 표를 관찰하면 데이터 중복과 데이터 중복을 명확하게 확인할 수 있습니다. 따라서이 테이블을 정규화하겠습니다. 데이터베이스 정규화를 시작하려면 항상 가장 낮은 정규 형식 (예 : 1NF)으로 시작한 다음 결국 더 높은 정규 형식으로 이동해야합니다.

이제 위의 표에 대해 첫 번째 정규형을 수행하는 방법을 살펴 보겠습니다.

첫 번째 정규형 (1NF)

데이터베이스가 있는지 확인하려면 1NF , 각 테이블 셀에는 단일 값이 있어야합니다. 따라서 기본적으로 모든 레코드는 고유해야합니다. . 위의 표는 아래와 같이 1NF로 정규화됩니다.

위의 표에서 관찰하면 모든 레코드가 고유합니다. 그러나 데이터 중복과 중복이 많이 있습니다. 따라서이를 방지하기 위해 데이터베이스를 두 번째 정규 형식으로 정규화하겠습니다.

자바에서 형변환하는 방법

두 번째 정규형 (2NF)

데이터베이스가 있는지 확인하려면 2NF , 데이터베이스는 1NF 여야합니다. 그리고 또한 단일 열 기본 키가 있습니다. . 위의 표는 아래와 같이 2NF로 정규화됩니다.

위의 테이블을 살펴보면 각 테이블에는 단일 열 기본 키가 있습니다. 그러나 많은 데이터 중복과 몇 개의 열이 중복됩니다. 이를 방지하기 위해 데이터베이스를 세 번째 정규 형식으로 정규화하겠습니다.

제 3 정규형 (3NF)

데이터베이스가 있는지 확인하려면 3NF , 데이터베이스는 2NF 여야합니다.전 이적 기능 종속성이 없어야합니다. . 위의 테이블은 아래와 같이 3NF로 정규화됩니다.

위의 표를 살펴보면 데이터베이스에 전이 종속성이 없습니다. 따라서이 단계 후에는 데이터베이스를 더 이상 정규화 할 필요가 없습니다. 그러나 이상이 있거나 하나 이상의 후보 키가있는 경우 다음 상위 정규 형식 (예 : BCNF)으로 진행할 수 있습니다.

보이스-코드 정규형 (BCNF)

데이터베이스가 BCNF에 있어야하는지 확인하려면 데이터베이스가 3NF에 있어야하고 테이블을 더 분할하여 하나의 후보 키만 존재하도록해야합니다.

이것으로 정규화가 끝납니다. 이제이 SQL 자습서의 다음으로 SQL의 중요한 개념 인 조인에 대해 설명하겠습니다.

SQL 자습서 : 조인

조인은 두 개 이상의 테이블에있는 행을 결합하는 데 사용되며 해당 테이블 간의 관련 열과 몇 가지 조건을 기반으로합니다. 주로 네 가지 유형의 조인이 있습니다.

  • 내부 조인 : 이 조인은 두 테이블에서 일치하는 값이있는 레코드를 반환합니다.
  • 완전 가입 : FULL JOIN은 왼쪽 또는 오른쪽 테이블에 일치하는 모든 레코드를 반환합니다.
  • LEFT JOIN : 이 조인은 왼쪽 테이블의 레코드와 오른쪽 테이블의 조건을 충족하는 레코드를 반환합니다.
  • 올바른 가입 : 이 조인은 오른쪽 테이블의 레코드와 왼쪽 테이블의 조건을 충족하는 레코드를 반환합니다.

그래서 이것은 JOINS에 대한 간단한 설명 이었지만, 자세한 예제와 함께 JOINS에 대한 자세한 설명을 원하신다면 . 다음으로이 SQL 자습서에서이 기사의 마지막 개념, 즉보기에 대해 설명하겠습니다.

SQL 자습서 :보기

SQL의 뷰는 다른 테이블에서 파생 된 단일 테이블입니다. 뷰에는 실제 테이블과 유사한 행과 열이 포함되며 하나 이상의 테이블에있는 필드가 있습니다. 아래 이미지를 참조하십시오.

뷰를 생성하고 삭제하는 방법을 이해하려면 위에서 언급 한 CREATE 및 DROP 문을 참조하십시오. 이것으로 SQL 자습서에 대한이 기사를 마칩니다. 이 기사가 도움이 되었기를 바랍니다. 또한 Database Administrator 인터뷰를 준비 중이고 포괄적 인 질문 목록을 검색하는 경우 다음 기사를 참조 할 수 있습니다.

더 자세히 알고 싶다면 MySQL 이 오픈 소스 관계형 데이터베이스에 대해 알아보고 강사 주도의 라이브 교육 및 실제 프로젝트 경험과 함께 제공됩니다. 이 교육은 MySQL을 심층적으로 이해하고 주제에 대한 숙달을 달성하는 데 도움이됩니다.

질문이 있으십니까? 이 SQLTutorial의 주석 섹션에 언급 해 주시면 다시 연락 드리겠습니다.