티스토리 뷰

반응형

 

SQL

SQL은 관계 데이터베이스를 위한 표준 질의어로 많이 사용되는 언어다. 사용자가 처리를 원하는 데이터가 무엇인지만 제시하고 데이터를 어떻게 처리해야 하는지를 언급할 필요가 없어 비절차적 데이터 언어의 특성을 띤다고 할 수 있다.

 

SQL은 데이터베이스 관리 시스템에 직접 접근하여 대화식으로 질의를 작성해 사용할 수도 있고, C나 C++ 또는 Java 같은 언어로 작성한 응용 프로그램에 삽입하여 사용할 수도 있다.

 

🖨 SQL의 분류

  1. 데이터 정의어 (DDL)

    테이블을 생성하고 변경, 제거하는 기능을 제공

  2. 데이터 조작어 (DML)

    테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정, 삭제, 검색하는 기능을 제공

  3. 데이터 제어어 (DCL)

    보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능을 제공

 

 

1️⃣ 데이터 정의

SQL의 데이터 정의 기능테이블 생성, 생성된 테이블 구조의 변경, 테이블 삭제로 분류할 수 있다.

 

💨 테이블 생성

테이블을 생성하는 SQL 명령어 : CREATE TABLE

🔦 []의 내용은 생략이 가능하다.

🔦 세미콜론(;)으로 문장의 끝을 표시한다.

🔦 대소문자를 구분하지 않는다.

 

🖨 속성

대표적인 데이터 타입이다.

 

- NOT NULL

  속성이 널 값을 허용하지 않음을 의미하는 키워드

 

- DEFAULT

  속성의 기본 값을 지정하는 키워드

 

🔑 키

기본키, 대체키, 외래키를 지정할 수 있다.

 

- PRIMARY KEY

  기본키를 지정하는 키워드

 

- UNIQUE KEY

  대체키를 지정하는 키워드, 유일성, 널 값 허용

 

- FOREIGN KEY

  외래키를 지정하는 키워드

 

➕ CHECK

     테이블에 정확하고 유효한 데이터를 유지하기 위해 특정 속성에 대한 제약조건을 지정

 

 

💨 테이블 변경

테이블을 변경하는 SQL 명령어 : ALTER TABLE

🔦 ADD를 사용하여 새로운 속성을 추가할 수 있다.

🔦 DROP COLUMN을 사용하여 기존 속성을 삭제할 수 있다.

🔦 ADD CONSTRAINT를 사용하여 새로운 제약조건을 추가할 수 있다.

🔦 DROP CONSTRAINT를 사용하여 기존 제약조건을 삭제할 수 있다.

 

 

💨 테이블 삭제

테이블을 삭제하는 SQL 명령어 : DROP TABLE

만약, 삭제할 테이블을 참조하는 테이블이 있다면 삭제되지 않는다.

 

 

2️⃣ 데이터 조작

SQL의 데이터 조작 기능원하는 데이터 검색, 새로운 데이터 삽입, 데이터 수정, 데이터 삭제로 분류할 수 있다.

 

💨 데이터 검색

데이터를 검색하는 SQL 명령어 : SELECT

🔦 FROM 키워드와 함께 검색하고 싶은 속성이 있는 테이블의 이름을 나열

🔦 검색 결과 -> 테이블 형태로 반환

🔦 ALL을 사용하여 결과 테이블이 투플의 중복을 허용하도록 지정, 생략 가능

🔦 DISTINCT를 사용하여 결과 테이블이 투플의 중복을 허용하지 않도록 지정

🔦 AS 키워드를 사용하여 결과 테이블에서 속성의 이름을 바꾸어 출력 가능, 생략 가능

🔦 산술식을 이용하여 출력 가능, 실제 값이 바뀌는 건 아니다.

🔦 WHERE 키워드를 사용 시 조건 검색이 가능하다.

🔦 LIKE 키워드를 이용해 부분적으로 일치하는 데이터를 검색

🔦 IS NULL을 사용하여 특정 속성의 값이 널 값인지를 비교할 수 있다. (IS NOT NULL도 가능)

🔦 ORDER BY 키워드를 이용해 결과 테이블 내용을 사용자가 원하는 순서로 출력할 수 있다.

🔦 집계 함수를 이용하면 특정 속성 값을 통계적으로 계산한 결과를 검색할 수 있다.

🔦 GROUP BY를 이용하면 특정 속성의 값이 같은 투플을 모아 그룹을 만들고, 그룹별로 검색할 수 있다.

 

 

 

💨 데이터 삽입

데이터를 삽입하는 SQL 명령어 : INSERT

🔦 INTO 키워드와 함께 투플을 삽입할 테이블의 이름과 속성의 이름을 나열한다.

🔦 VALUES 키워드와 함께 삽입할 속성 값들을 나열한다.

🔦 INTO, VALUES는 일대일 대응

🔦 부속 질의문을 이용하여 데이터를 삽입할 수 있다.

 

 

💨 데이터 수정

데이터를 수정하는 SQL 명령어 : UPDATE

🔦 SET 키워드 다음에 속성 값을 어떻게 수정할 것인지를 지정할 수 있다.

🔦 WHERE 절에 제시된 조건을 만족하는 투플에 대해서만 속성 값을 수정할 수 있다.

 

 

💨 데이터 삭제

데이터를 삭제하는 SQL 명령어 : DELETE

🔦 WHERE 절에 제시한 조건을 만족하는 투플만 삭제, 만약 생략 시 테이블의 모든 투플 삭제

 

 

 

뷰는 다른 테이블을 기반으로 만들어진 가상 테이이다.

 

- 데이터를 실제로 저장하고 있지 않음 (논리적으로만 존재)

- 그렇지만 일반 테이블과 동일한 방법으로 사용할 수 있다.

 

뷰를 만드는 데 기반이 되는 물리적인 테이블기본 테이블이라 한다.

일반적으로 기본 테이블로 뷰를 만들지만 다른 뷰로도 새로운 뷰를 만들 수 있다.

 

💨 뷰 생성

뷰를 생성하는 SQL 명령어 : CREATE VIEW

🔦 AS 키워드와 함께 기본 테이블에 대한 SELECT 문 작성

🔦 WITH CHECK OPTION

     뷰에 삽입이나 수정 연산을 할 때 SELECT 문에서 제시한 뷰의 정의 조건을

     위반하면 수행되지 않도록 하는 제약조건을 지정

 

 

💨 뷰 장점

- 질의문을 좀 더 쉽게 작성할 수 있다.

- 데이터 보안 유지가 더 원활해진다.

- 데이터 관리가 편해진다.

 

 

삽입 SQL

삽입 SQL은 프로그래밍 언어로 작성된 응용 프로그램 안에 삽입하여 사용하는 SQL문이다.

 

 

💨 삽입 SQL 특징

- 일반 명령문이 들어갈 수 있는 곳 어디든 삽입 가능

- EXEC SQL을 붙임

- 콜론을 붙여서 구분함

 

💫 커서(cursor)

커서는 수행 결과로 반환된 여러 행을 한 번에 하나씩 가리키는 포인터

 

 

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함