본문 바로가기
TIL

[TIL] SQL과 종류

by 쾌횽 2024. 1. 25.
반응형

🧐 SQL (Structurd Query Language) 

데이터베이스에서 사용되는 생성, 삽입, 조회 명령문을 SQL이라고 한다.

SQL의 종류는 4개가 있다.

  • DDL (Data Definition Language) - 데이터를 정의할 때 사용하는 언어로 테이블이나 데이터베이스를 생성, 수정, 삭제와 같은 행위를 할 때 사용
  • DML (Data Manipulation Language) - 데이터베이스에서 데이터를 조작할 때 사용하는 언어로 데이터의 저장, 삭제, 수정, 조회와 같이 사용
  • DCL (Data Control Language) - 데이터베이스에 대한 권한과 관련된 문법으로 특정 유적가 DB에 접근할 수 있는 권한을 설정할 때 사용
  • TCL (Transaction Control Language) - 데이터베이스 내의 트랜잭션을 관리하는 문법으로 트랜잭션의 시작과 종료, 그리고 롤백을 수행할 때 사용

 

🤩 DDL

  • CREATE
    • DATABASE, TABLE, VIEW, INDEX 등을 생성할 때 사용
CREATE DATABSE 데이터베이스명;
CREATE TABLE 테이블명 (
  컬럼명 컬럼속성
)

 

  • DROP 
    • DATABASE, TABLE, VIEW, INDEX 등을 삭제할 때 사용한다.
DROP DATABASE 데이터베이스명;
DROP TABLE 테이블명;

  • ALTER
    • DATABASE, TABLE 등의 속성을 변경할 때 사용
ALTER DATABASE 데이터베이스명 변경 조건;
ALTER TABLE 테이블명 ADD 변경 조건;  --> 테이블에 새로운 컬럼을 추가
ALTER TABLE 테이블명 DROP 변경 저건;  --> 테이블에서 컬럼을 삭제
ALTER TABLE 테이블명 MODIFY 변경 저건;  --> 테이블의 컬럼을 수정
ALTER TABLE 테이블명 RENAME 변경 저건;  --> 테이블의 이름을 변경

 

 

🤩 DML

  • SELECT
    • 일반적으로 TABLE에서 원하는 데이터들을 조회할때 사용
SELECT 컬럼목록 FROM 테이블명 [WHERE 조건];
  • INSERT
    • TABLE에 새로운 데이터들을 삽입할 때 사용
INSERT INTO 테이블명 (컬럼목록) VALUES (값목록);
  • DELETE 
    • TABLE에서 특정한 조건에 맞는 데이터들을 삭제할 때 사용
    • WHERE 조건이 없다면, 모든 데이터 삭제
DELETE FROM 테이블명 [WHERE 조건];
  • UPDATE
    • TABLE에서 특정한 조건에 맞는 데이터들을 수정할때 사용
    • WHERE 조건이 없다면, 모든 데이터 수정
UPDATE 테이블명 SET 컬럼 = 값 [WHERE 조건];

 

 

🤩 DCL

  • GRANT
    • 데이터베이스의 특정한 유저에게 사용 권한을 부여할 때 사용
    • 권한에는 SELECT, INSERT, UPDATE, DELETE 등 다양한 종류가 있다.
GRANT [권한] ON 객체명 TO 사용자;
  • REVOKE
    • 데이터베이스의 특정한 유저에게 사용 권한을 취소할 때 사용
REVOKE [권한] ON 객체명 FROM 사용자;

 

 

🤩 TCL

  • COMMIT
    • 데이터베아스의 작업이 정상적으로 완료되었음을 관리자에게 알려줄 때 사용
START TRANSACTION;
...
COMMIT;
  • ROLLBACK
    • 데이터베이스의 작업이 비정상적으로 완료되었음을 관리자에게 알려줄 때 사용
    • 작업 중 오류가 발생한 경우 이를 취소하고, 이전 상태로 되돌릴때 사용
START TRANSACTION;
...
ROLLBACK;
반응형

'TIL' 카테고리의 다른 글

[TIL] 트랜잭션(Transaction)  (1) 2024.01.29
[TIL] JS 프로그래머스 - K번째 수  (0) 2024.01.26
[TIL] 관계형 데이터 베이스 (RDB)  (0) 2024.01.24
[TIL] AWS EC2로 배포하기  (0) 2024.01.23
[TIL] 웹과 HTTP의 동작 방식  (0) 2024.01.18

댓글