SQL 기초

박지훈·2020년 8월 5일
0

SQL

1970년대 후반 IBM이 SEQUEL이라는 이름으로 개발한 관계형 데이터베이스 언어이다. 이후 1986년 ANSI에 의해 관계형 데이터베이스 표준 언어로 승인되었다. 완전한 프로그래밍 언어는 아니며, DB의 데이터와 메타 데이터를 생성하고 처리하는 문법만 갖고 있다.


<차이>

SQL문은 실행 순서가 없는 비절차적인 언어이다.
즉 찾는 데이터만 기술하고 어떻게 찾는지 그 절차(실행순서)를 기술하지 않는다.
-> SQL문 내에서는 ①FROM에서 쓰여진 테이블을 가져와서 ②WHERE 조건에 의해 투플(행)을 선택한 후 ③SELECT에 있는 속성(열)들을 결과로 출력하게 된다.

자세한 언어의 문법은 아래에서 다루도록 하겠습니다.

  • 데이터 정의어(DDL) -> CREATE, ALTER, DROP 등

  • 데이터 조작어(DML) -> SELECT, INSERT, DELETE, UPDATE 등

  • 데이터 제어어(DCL) -> COMMIT, GRANT, ROLLBACK, REVOKE 등



데이터 조작어 (DML)

검색

SELECT (속성 이름)
FROM (테이블 이름)
WHERE (검색 조건) ;

밑의 표는 WHERE 절에 조건으로 사용할 수 있는 술어이다.


(ex)


집계 함수


조인 연산

2개의 테이블을 합쳐서 SQL문으로 데이터를 조회하는 연산이다.


부속 질의

SQL문 안에 또 다른 SQL문을 작성하는 질의문이다.


집합 연산


EXISTS 연산

EXISTS -> 원래 단어에서 의미하는 것과 같이 조건에 맞는 튜플(행)이 존재하면 결과에 포함시킨다. 즉 부속 질의문이 어떤 행이 조건에 만족하면 True
NOT EXISTS -> 부속 질의문의 모든 행이 조건에 만족하지 않을 때만 True이다.



삽입

INSERT  INTO 테이블이름[(속성리스트)]
VALUES (값리스트);


수정

UPDATE 테이블이름
SET       속성이름1=값1[, 속성이름2=값2, ...]
[WHERE <검색조건>];


삭제

DELETE FROM    테이블이름
[WHERE  검색조건];




데이터 정의어 (DDL)

CREATE

  • 테이블을 구성하고, 속성과 속성에 관한 제약을 정의하며, 기본키 및 외래키를 정의하는 명령
  • PRIMARY KEY는 기본키를 정할 때 사용하고 FOREIGN KEY는 외래키를 지정할 때 사용하며, ON UPDATE와 ON DELETE는 외래키 속성의 수정과 투플 삭제 시 동작을 나타냄.
CREATE TABLE 테이블이름
 ( { 속성이름 데이터타입
     [NOT NULL | UNIQUE | DEFAULT 기본값 | CHECK 체크조건]
    }
     [PRIMARY KEY 속성이름(들)]
     {[FOREIGN KEY 속성이름 REFERENCES 테이블이름(속성이름)]
 	 [ON DELETE [CASCADE┃SET NULL]
     }
 )



ALTER

  • ALTER 문은 생성된 테이블의 속성과 속성에 관한 제약을 변경하며, 기본키 및 외래키를 변경함. ADD, DROP은 속성을 추가하거나 제거할 때 사용함. MODIFY는 속성의 기본값을 설정하거나 삭제할 때 사용함. 그리고 ADD <제약이름>, DROP <제약이름>은 제약사항을 추가하거나 삭제할 때 사용함.
ALTER TABLE 테이블이름
[ADD 속성이름 데이터타입]
	[DROP COLUMN 속성이름]
	[MODIFY 속성이름 데이터타입]
	[MODIFY 속성이름 [NULL┃NOT NULL]]
	[ADD PRIMARY KEY(속성이름)]
	[[ADD┃DROP] 제약이름]


DROP

  • DROP 문은 테이블을 삭제하는 명령. DROP 문은 테이블의 구조와 데이터를 모두 삭제하므로 사용에 주의해야 함(데이터만 삭제하려면 DELETE 문을 사용함).
DROP TABLE 테이블이름

profile
Computer Science!!

2개의 댓글

comment-user-thumbnail
2023년 6월 26일

This viewpoint throws new wordle insight on the subject and invites further investigation and discussion.

답글 달기
comment-user-thumbnail
2023년 10월 17일

This viewpoint throws new wordle junior insight on the subject and invites further investigation and discussion.

답글 달기