SQL 기초 – 초보자를위한 원 스톱 솔루션



이 포괄적 인 SQL 기본 기사는 SQL을 시작하는 데 도움이됩니다. 이렇게하면 일상적인 트랜잭션에 필요한 기본 명령과 쿼리에 도움이됩니다.

오늘날의 세계에서 데이터는 모든 것입니다. 하지만이를 관리하려면 데이터 관리 기술을 습득해야합니다. 그와 함께 언어 즉, 이것이 모두의 기초입니다. SQL은 대부분의 회사에서 사용되는 관계형 데이터베이스의 핵심입니다. 이 기사를 통해 SQL 기본 사항을 시작하는 데 도움이 될 것입니다.

이 기사에서는 다음 주제를 다룹니다.





각 카테고리를 하나씩 다룰 것이므로 시작하겠습니다.

SQL 소개



로고-SQL BASICS-Edureka

SQL은 IBM에서 다음과 같이 개발되었습니다. 도널드 D. 체임벌린 레이몬드 F. 보이스 1970 년대 초. 이것은 처음에 계속 ( 에스 구조화 IS Nglish ry 고뇌). SQL의 주요 목적은 관계형 데이터베이스에 저장된 데이터를 업데이트, 저장, 조작 및 검색하는 것입니다. 수년에 걸쳐 SQL은 많은 변화를 겪었습니다. XML, 트리거, 저장 프로 시저, 정규식 일치, 재귀 쿼리, 표준화 된 시퀀스 등에 대한 지원과 같은 많은 기능이 추가되었습니다.

그렇다면 SQL은 MySQL과 어떻게 다릅니 까?



이 주제에 대해 오해 또는 혼동이 있습니다.여기에서 명확히하고 싶습니다.

SQL은 쿼리의 형태로 데이터베이스에서 작동하는 데 사용되는 표준 언어입니다. 그러나 MySQL 오픈 소스 데이터베이스 관리 시스템 또는 단순히 데이터베이스 소프트웨어입니다. MySQL 데이터베이스에 데이터를 구성하고 저장합니다.

장점 :

  • SQL은 잘 정의 된 표준
  • SQL은 인터렉티브 자연에서
  • SQL의 도움으로 여러보기
  • 코드 이식성 SQL에서 눈에 띄는 기능입니다

데이터 및 데이터베이스

무엇보다 먼저 데이터가 무엇인지 이해해야합니다. 데이터는 관심 대상에 대한 사실의 모음입니다. 학생에 대한 데이터에는 이름, 고유 정보와 같은 정보가 포함될 수 있습니다.d, 나이, 주소, 학력 등. 소프트웨어는 질문에 답하는 데 필요한 데이터를 저장해야합니다 (예 : 15 세 학생은 몇 명입니까?).

데이터 베이스:

데이터베이스는 조직화 된 데이터 모음으로, 일반적으로 컴퓨터 시스템에서 전자적으로 저장 및 액세스됩니다. 간단히 말해서 데이터가 저장된 장소의 데이터베이스라고 할 수 있습니다. 가장 좋은 비유는 도서관입니다. 도서관에는 다양한 장르의 도서 모음이 포함되어 있습니다. 여기서 도서관은 데이터베이스이고 도서는 데이터입니다.

데이터베이스는 크게 다음 그룹으로 분류 할 수 있습니다.

  • 중앙 집중식 데이터베이스
  • 분산 데이터베이스
  • 운영 데이터베이스
  • 관계형 데이터베이스
  • 클라우드 데이터베이스
  • 객체 지향 데이터베이스
  • 그래프 데이터베이스

이제 우리는 작업에 SQL을 사용하는 관계형 데이터베이스에 더 초점을 맞출 것입니다. 몇 가지를 사용하겠습니다.

데이터베이스를 만드는 방법?

CREATE DATABASE 문을 사용하여 새 데이터베이스를 만듭니다.

통사론:

CREATE DATABASE 데이터베이스 이름

:

데이터베이스 학교 만들기

따라서 이름 School의 데이터베이스가 생성됩니다. 이 데이터베이스를 삭제하려면 다음 구문을 사용해야합니다.

데이터베이스를 삭제하는 방법?

통사론:

DROP DATABASE 데이터베이스 이름

:

DROP 데이터베이스 학교

이름이 School 인 데이터베이스가 삭제됩니다.

데이터베이스의 테이블은 테이블 형식의 데이터 모음 일뿐입니다.구성 . 테이블에는 세로 열 및 가로 행 모델을 사용하는 값이라고도하는 데이터 요소가 포함되어 있습니다. 행과 열의 교차점을 세포 . 테이블에는 여러 행이있을 수 있지만 지정된 수의 열이 있어야합니다.

테이블 생성

따라서 데이터베이스에 테이블을 생성하려면 다음 SQL 쿼리를 사용합니다.

통사론

CREATE TABLE table_name (column1 데이터 유형, column2 데이터 유형, column3 데이터 유형, ....)

여기에 키워드 테이블 생성 새 테이블을 만들 것이라고 데이터베이스에 알리는 데 사용됩니다. 그런 다음 테이블 이름을 언급해야합니다. 이 이름은 고유해야합니다. SQL은 대소 문자를 구분하지 않지만 테이블 내부에 저장된 데이터는 대소 문자를 구분합니다. 열기 및 닫기 괄호 안에 열을 추가합니다. 특정 데이터 유형으로 각 열을 지정합니다. 자세히 알아보기 데이터 유형 SQL 검사에서 .

:

CREATE TABLE Student (studentID int, FName varchar (25), LName varchar (25), Address varchar (50), City varchar (15), Marks int)

Student라는 이름의 테이블을 생성하고 테이블에 몇 가지 매개 변수를 추가했습니다. 이것이 SQL을 사용하여 테이블을 만드는 방법입니다.

테이블 삭제

모든 데이터가있는 전체 테이블을 삭제하려면 DROP 명령을 사용해야합니다.

통사론:

DROP TABLE table_name

:

드롭 테이블 학생

따라서 학생 테이블이 삭제됩니다.

테이블 자르기

오버로드 대 오버로드 C ++

테이블 내부의 데이터 만 삭제하고 테이블 자체는 삭제하지 않으려면 어떻게해야합니까? 그런 다음 Truncate Query를 사용해야합니다.

통사론:

TRUNCATE TABLE table_name

:

TRUNCATE TABLE 학생

위의 쿼리를 실행하면 테이블 내부의 데이터는 삭제되지만 테이블은 그대로 유지됩니다. 자세한 내용은이 기사를 확인하십시오. .

우리는 테이블을 통해 데이터베이스로 들어가는 데이터의 정확성과 신뢰성을 높일 수 있습니다. SQL 제약 . 이러한 제약 조건은 데이터 트랜잭션 측면에서 위반이 없는지 확인한 후 작업이 종료됩니다. 제약 조건의 주요 용도는테이블에 들어갈 수있는 데이터 유형입니다. 이 ar 이후ticle은 SQL Basics와 관련이 있으므로 가장 많이 사용되는 제약에 대해서만 논의하겠습니다. 그것에 대해 자세히 알아 보려면 다른 SQL 블로그.

  • 기본 -W.값을 지정하지 않으면 열에 대한 기본값 집합이 추가됩니다.
  • NULL 아님 – 이것은 확실히NULL 값은 열에 저장되지 않습니다.
  • 독특한 -이 제약 조건이 적용되면 테이블에 입력 된 값이 고유합니다.
  • 인덱스 – 이것은 데이터베이스에서 데이터를 생성하고 검색하는 데 사용됩니다.
  • 기본 키 – 관계에서 튜플을 고유하게 식별하기 위해 선택되는 후보 키입니다.
  • 외래 키 – 외래 키는 값이 상위 테이블의 해당 열과 일치해야하는 하위 테이블의 하나 이상의 열 집합입니다.
  • 검사 -열의 특정 조건을 충족하려면 CHECK 제약 조건을 사용합니다.

SQL 기본 쿼리

이제 몇 가지에 집중하겠습니다. SQL에 대해 배우기 시작할 때 알아야합니다. 기본적으로 보이는 많은 쿼리가 있습니다.그러나 나는 초보자에게 정말 필수적인 몇 가지를 다루었습니다. 모든 쿼리를 설명하기 위해 사용할 Student 테이블을 고려했습니다.

파이썬에서 숫자 반전

고르다

데이터베이스를 조작하는 데 사용할 수있는 가장 기본적인 SQL 쿼리입니다. select 명령은 데이터베이스에서 데이터를 선택하여 사용자에게 표시하는 데 사용됩니다.

통사론 :

테이블에서 열 1, 열 2 & hellip..column N 선택

:

학생에서 이름 선택

위의 예는 student 테이블의 모든 이름을 표시합니다. 테이블의 모든 필드를 표시하려면 * (별표) 연산자를 사용해야합니다. 그러면 전체 테이블이 표시됩니다.

:

학생에서 * 선택

중복없이 특정 필드를 표시하려면 select 명령과 함께 DISTINCT 키워드를 사용합니다.

:

학생에서 DISTINCT FName 선택

어디

테이블의 특정 레코드 만 필요하면 where 절을 사용합니다. Where 절은 필터링 메커니즘으로 작동합니다. Where 섹션에서 특정 조건을 지정해야하며 해당 조건이 충족되는 경우에만 레코드가 추출됩니다.

통사론 :

SELECT column1, column2, ... column N FROM table_name WHERE 조건

:

도시 = 'Delhi'에서 학생 이름 선택

AND, OR, NOT

where 절에 두 개 이상의 조건을 추가해야하는 경우 위에서 언급 한 연산자를 사용할 수 있습니다. 이러한 키워드는 쿼리를 더 복잡하게 만듭니다.

  • AND 연산자 :이 연산자는 AND로 구분 된 모든 조건이 TRUE 인 경우 레코드를 표시합니다.

통사론 :

SELECT column1, column2, ... FROM table_name WHERE condition1 AND condition2 AND condition3 ...

:

SELECT * FROM Student WHERE FName = 'John'AND Lname = 'Doe'
  • OR 연산자 :이 연산자는 OR로 구분 된 조건이 TRUE 인 경우 레코드를 표시합니다.

통사론 :

SELECT column1, column2, ... FROM table_name WHERE condition1 OR condition2 OR condition3 ...

:

SELECT * FROM Student WHERE FName = 'John'OR Lname = 'Doe'
  • NOT 연산자 :이 연산자는 조건 / 조건이 참이 아닌 경우 레코드를 표시합니다.

통사론 :

SELECT column1, column2, ... FROM table_name WHERE NOT 조건

:

SELECT * FROM Student WHERE NOT Lname = 'Doe'

에 집어 넣다

새 레코드 나 데이터를 테이블에 삽입하려면 INSERT 쿼리를 사용할 수 있습니다. Insert into는 두 가지 방법으로 사용할 수 있습니다.

  • 여기에서 레코드를 삽입해야하는 열 이름을 지정합니다.

통사론 :

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, value3, ...)

:

Student (studentID, FName, LName, Address, City, Marks) 값에 삽입 (101,‘JHON’,’DOE’,’# 21, MG ROAD’,‘Bengaluru’, 550)
  • 여기에서는 테이블의 열을 지정할 필요가 없습니다. 그러나 값의 순서가 테이블의 열과 동일한 순서인지 확인하십시오.

통사론 :

INSERT INTO table_name VALUES (값 1, 값 2, 값 3, ...)

:

학생 가치에 삽입 (102,‘Alex’,’Cook’,’# 63, Brigade ROAD, NEAR HAL’,‘Bengaluru’, 490)


특정 열에 삽입하려면 아래 방법을 따라야합니다.

:

INSERT INTO Student (studentID, FName) VALUES (103, 'Mike')

집계 기능

집계 함수는 여러 행의 값이 특정 기준에 대한 입력으로 함께 그룹화되고 단일 값이 반환되는 함수입니다. 우리는 종종 SELECT 문의 GROUP BY 및 HAVING 절과 함께 집계 함수를 사용합니다. 이 섹션의 뒷부분에서 GROUP BY, ORDER BY 및 HAVING에 대해 설명합니다. 집계 함수 중 일부는 COUNT, SUM, AVG, MIN, MAX입니다.

하나씩 토론합시다.

  • COUNT () :이 함수는 지정된 기준과 일치하는 행 수를 반환합니다.

통사론 :

SELECT COUNT (column_name) FROM table_name WHERE 조건

:

학생에서 COUNT (studentID) 선택
  • AVG () :이 함수는 숫자 열의 평균 값을 반환합니다.

통사론 :

SELECT AVG (column_name) FROM table_name WHERE 조건

:

학생에서 AVG (마크) 선택
  • SUM () :이 함수는 숫자 열의 총합을 반환합니다.

통사론 :

SELECT SUM (column_name) FROM table_name WHERE 조건

:

학생에서 SUM (점수) 선택
  • MIN () :이 함수는 선택한 열에서 가장 작은 값을 반환합니다.

통사론 :

SELECT MIN (column_name) FROM table_name WHERE 조건

:

학생의 최소 점수로 최소 (점) 선택
  • MAX () :이 함수는 선택한 열의 가장 큰 값을 반환합니다.

통사론 :

SELECT MAX (column_name) FROM table_name WHERE 조건

:

학생의 최고 점수로 MAX (점수) 선택

참고 : 여기서 별칭을 사용했습니다 (AS new_name). 잠시 후에 설명하겠습니다.

ng-change 대 onchange

GROUP BY, HAVING, ORDER BY

이러한 키워드 (GROUP BY, HAVING, ORDER BY)는 기능을 높이기 위해 쿼리에 사용됩니다. 그들 각각은 특정한 역할을합니다.

  • GROUP BY :이 기능은 유사한 유형의 데이터를 그룹으로 정렬하는 데 사용됩니다. 예를 들어, 테이블의 열이 유사한 데이터 또는 다른 행의 값으로 구성된 경우 GROUP BY 함수를 사용하여 데이터를 그룹화 할 수 있습니다.

통사론 :

SELECT column_name (s) FROM table_name WHERE 조건 GROUP BY column_name (s)

:

SELECT COUNT (StudentID), Fname으로 학생 그룹에서 Fname
  • HAVING :이 절은 최종 결과 집합의 일부가 될 그룹을 결정해야하는 조건을 배치하는 데 사용됩니다. 또한 다음과 같은 집계 함수를 사용할 수 없습니다. SUM (), COUNT ()어디 절. 이러한 상황에서는 HAVING 조건을 사용해야합니다.

통사론 :

SELECT column_name (s) FROM table_name WHERE 조건 GROUP BY column_name (s) HAVING 조건


:

SELECT Fname, SUM (Marks) from Student GROUP BY Fname HAVING SUM (Marks)> 500

  • ORDER BY :이 키워드는 결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용됩니다. 그만큼 주문 키워드는 기본적으로 레코드를 오름차순으로 정렬합니다. 레코드를 내림차순으로 정렬하려면 DESC 키워드를 사용하십시오.

통사론 :

SELECT column1, column2, ... FROM table_name ORDER BY column1, column2, ... ASC | DESC


:

SELECT COUNT (StudentID), City From Student GROUP BY COUNT (StudentID) DESC

NULL 값

SQL에서 NULL 용어를 사용하여 누락 된 값을 나타냅니다. 테이블의 NULL 값은 값이 비어있는 것처럼 보입니다. NULL 값이있는 필드는 SQL에 값이없는 필드입니다. NULL 값은 0 값 또는 공백이 포함 된 필드와 다릅니다.

null 값을 확인하기 위해, = 등과 같은 연산자를 사용해서는 안됩니다. SQL에서는 지원되지 않습니다. IS NULL 및 IS NOT NULL과 같은 특수 키워드가 있습니다.

  • NULL입니다. 통사론 :
SELECT column_names FROM table_name WHERE column_name IS NULL

:

Marks가 NULL 인 Student에서 Fname, Lname 선택

  • NULL이 아님 통사론 :
table_name에서 column_names 선택 WHERE column_name IS NOT NULL

:

마크가 NULL이 아닌 학생에서 Fname, Lname 선택

업데이트 및 삭제

  • UPDATE : 업데이트 명령은 테이블의 행을 수정하는 데 사용됩니다. 업데이트 명령을 사용하여 단일 필드 또는 여러 필드를 동시에 업데이트 할 수 있습니다.

통사론 :

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE 조건

:

업데이트 Student SET Fname = 'Robert', Lname = 'Wills'WHERE StudentID = 101
  • DELETE : SQL DELETE 명령은 데이터베이스 테이블에서 더 이상 필요하지 않은 행을 삭제하는 데 사용됩니다. 테이블에서 전체 행을 삭제합니다. .

통사론 :

DELETE FROM table_name WHERE 조건

:

FName = 'Robert'인 학생에서 삭제

여기에 특별한 경우가 있습니다. 전체 테이블 레코드를 삭제해야하는 경우 테이블 이름을 지정해야합니다. 해당 특정 테이블의 데이터가 분할됩니다.

:

학생에서 삭제

현재 발생하는 주요 질문 중 하나는 DELETE와 TRUNCATE 명령의 차이점은 무엇입니까? 대답은 간단합니다. DELETE는 DML 명령 인 반면 TRUNCATE는 DDL 명령이며, DELETE는 레코드를 하나씩 삭제하고 트랜잭션 로그의 모든 삭제 항목을 생성하는 반면 TRUNCATE는 페이지 할당을 해제하고 트랜잭션 로그에 페이지 할당 해제 항목을 만듭니다. .

IN 및 BETWEEN 연산자

  • IN 연산자는 WHERE 절 내에 여러 값을 지정하는 데 사용됩니다. 여러 OR의 약자로 작동합니다.

통사론 :

SELECT column_name (s) FROM table_name WHERE column_name IN (값 1, 값 2, ...)

:

도시에있는 학생의 StudentID, Fname, Lname 선택 ( 'Delhi', 'Goa', 'Pune', 'Bengaluru')
  • BETWEEN 연산자는 지정된 범위 내에서 특정 값을 선택합니다. 시작과 끝 값 (범위)을 추가해야합니다.

통사론 :

SELECT column_name (s) from table_name WHERE column_name BETWEEN value1 AND value2

:

400과 500 사이의 마크가있는 학생에서 StudentID, Fname, Lname 선택

SQL의 별칭

별칭은 쿼리가 복잡 할 때 도움이되도록 테이블이나 열에 임시 이름을 지정하는 프로세스입니다. 쿼리의 가독성을 높입니다. 이 이름 변경은 일시적이며 테이블 이름은 원래 데이터베이스에서 변경되지 않습니다. 열이나 테이블의 별칭을 지정할 수 있습니다. 아래에서 두 가지 구문을 모두 언급했습니다.

그만큼 통사론 열 별칭 용 :

SELECT column_name AS alias_name FROM table_name

열 별칭 용 :

CustomerID를 ID로, CustomerName을 고객의 고객으로 선택

통사론 테이블 앨리어싱 :

table_name AS alias_name에서 column_name (s) 선택

테이블 앨리어싱 :

S.Fname, S.LName FROM Student를 S로 선택

이것으로이 SQL 기본 기사의 끝으로 이동합니다.SQL 기본 개념을 이해 하셨기를 바랍니다.

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

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