Node 강의/숙련

1-3 SQL (Structured Query Language) 살펴보기

kagan-draca 2024. 9. 5. 15:11

1. SQL이란

 

데이터베이스에서 사용되는 생성, 삽입, 조회 명령문을 SQL (Structured Query Language)이라고 합니다.

 

1. SQL의 종류란?

 

  • DDL (Data Definition Language)
  • DML (Data Manipulation Language)
  • DCL (Data Control Language
  • TCL (Transaction Control Language)

 

1) DDL (Data Definition Language)

 

DDL데이터를 정의할 때 사용하는 언어

테이블이나 데이터베이스생성, 수정, 삭제

같은 행위를 할 때 사용합니다.

 

CREATE

 

DataBase, Table, View, INDEX 등을 생성할 때 사용합니다.

 

CREATE DATABASE DB 이름

 

CRATE TABLE 테이블 이름

{

    컬러명 컬럼속성

}

 

 

DROP

 

DataBase, Table, View, INDEX 등을 삭제할 때 사용합니다.

 

DROP DATABASE DB 이름

 

DROP TABLE 테이블 이름

 

 

ALTER

 

DataBase, Table 등의 속성변경할 때 사용합니다.

 

ALTER DATABASE DB 이름  변경 조건

 

 

ALTER TABLE 테이블 이름 ADD 변경 조건

// 테이블에 새로운 컬럼(Colum)추가합니다

 

ALTER TABLE 테이블 이름 RENAME 변경 조건

// 테이블의 이름변경합니다.

 

ALTER TABLE 테이블 이름 MODIFY 변경 조건 

// 테이블의 컬럼(Colum)수정합니다.

 

ALTER TABLE 테이블 이름 DROP 변경 조건

// 테이블의 컬럼(Colum)삭제합니다.

 

2) DML (Data Manipulation Language)

 

DML은 데이터베이스에서 데이터를 조작할 때 사용하는 언어

데이터의 저장, 삭제, 수정, 조회와 같은 행위를 합니다.

 

INSERT

 

- TABLE에 새로운 데이터들을 사입할 떄 사용합니다.

 

INSERT INTO 테이블 이름 (컬럼목록) VALUES (값목록)

 

 

SELECT

 

- 일반적으로 TABLE에서 원하는 데이터들을 조회할 때 사용합니다.

- DB를 관리하면서 가장 많이 사용하는 명령어입니다.

 

SELECT 컬럼목록 FROM 테이블 이름 WHERE 조건

 

 

DELECT

 

- TABLE에서 특정한 조건맞는 데이터들을 삭제할 때 사용합니다.

- WHERE 조건이 없다면, 모든 데이터가 삭제됩니다.

 

DELETE FORM 테이블 이름 WHERE 조건

 

 

UPDATE

 

- TABLE에서 특정한 조건맞는 데이터들을 수정할 때 사용합니다.

- WHERE 조건이 없다면, 모든 데이터를 수정합니다.


UPDATE FORM 테이블 이름 SET 컬럼 = 값 WHERE 조건

 

3) DCL (Data Control Language)

 

DCL데이터베이스에 대한 권한과 관련된 문법으로

특정 유저가 DB에 접근할 수 있는 권한을 설정할 때 사용합니다.

 

 

GRANT


- 데이터베이스의 특정한 유저에게 사용 권한을 부여할 때 사용합니다.

- 권한에는 SELECT, INSERT, UPDATE, DELECT다양한 종류가 존재합니다.

 

GRANT 권한 ON 객체명 TO 사용자

 

REVOKE

 

- 데이터베이스의 특정한 유저에게 사용 권한을 취소할 때 사용합니다.

 

 REVOKE 권한 ON 객체명 FROM 사용자

 

3) TCL (Transaction Control Language)

 

TCL데이터베이스 내의 트랜잭션관리하는 문법으로,

트랜잭션의 시작종료, 그리고 롤백을 수행할 때 사용합니다.

 

COMMIT

 

- 데이터베이스의 작업이 정상적으로 완료 됐으면 관리자에게 알려줍니다.

 

START TRANSACTION;

...

COMMIT

 

 

ROLLBACK

 

- 데이터베이스의 작업이 비정상적으로 완료 됐으면 관리자에게 알려줍니다.

 

START TRANSACTION;

...

ROLLBACK