-
2. 그래서 SQL이 뭔데요? [ SQL 종류와 TABLE ]PROGRAMMING/SQL 2022. 4. 20. 02:15
하루입니다.
오늘은 본격적으로 SQL에 대해 알아보겠습니다.
SQL은 Structured Query Language, 구조화된 질의 언어의 약자이다. 개인적으로는 SELECT, FROM처럼 구조화된 틀 안에서 DBMS에 질의(무언가 요청)하는 언어라고 이해했다. 데이터베이스와 관련된 명령을 작성할 때 사용하는 특수 목적의 프로그래밍 언어이다.
SQL의 종류
1. DDL(Data Definition Language)
- 데이터 정의 언어
- 데이터베이스의 구조를 정의하는 명령어다.
- 데이터베이스의 주요 객체를 생성, 삭제, 변경, 제거하는 등의 작업을 수행한다.
주요 명령어는 아래와 같다.
CREATE 새로운 데이터베이스 객체 생성 DROP 기존 데이터베이스 객체 삭제 ALTER 기존 데이터베이스 객체 변경 TRUNCATE 데이터를 되돌릴 수 없도록 제거 DROP과 TRUNCATE와 DELETE의 차이는 밑과 같다고 이해함. 아직 제대로 배우지 않은 개념임.

이런 데이터가 있다고 하자. 
DELETE는 내용만 지우고, TRUNCATE는 내용이 들어가는 공간마저 사라지는 - 그러니까 처음 만든 상태로 만들어 버리고, DROP은 테이블이고 나발이고 냅다 지운다. 지금은 이렇게 이해했다.
2. DML(Data Manipulation Language)
- 데이터 조작 언어
- 데이터베이스에서 데이터를 추가/조회/변경/삭제하는 작업을 수행한다.
주요 명령어는 아래와 같다.
INSERT 테이블에 새로운 데이터 행을 추가한다. SELECT 테이블에서 데이터를 조회한다 UPDATE 테이블의 데이터를 변경한다 DELETE 테이블에 저장된 특정 데이터 행을 삭제한다 3. DCL(Data Control Language)
- 데이터 제어 언어
- 권한제어, 트랜잭션 제어 작업을 수행한다.
주요 명령어는 아래와 같다.
GRANT 특정 사용자에게 특정 작업을 수행을 권한을 부여 REVOKE 사용자에게 부여된 권한을 박탈 COMMIT 트랜잭션을 실행 ROLLBACK 트랜잭션을 취소 SAVEPOINT 롤백지점을 설정한다 -
SQL의 장점은 사람의 언어와 유사해 배우기 쉽다는 점이다.
예를 들자면 아래와 같다.
SELECT DEPARTMENT_ID, SALARY FROM EMPLOYEES;골랐다 부서ID와 급여를. 어디로부터냐면 사원들에서.
-> 사원 테이블에서부터 부서ID와 급여를 모두 조회하는 것. SQL을 전혀 모르는 사람도 어느 정도 뜻을 이해할 수 있다(고 생각함).
테이블 (TABLE)
테이블은 데이터베이스에서 데이터의 실질적 저장소 역할이며, 하나의 데이터베이스는 여러 개의 테이블이 존재한다. 2차원 표(테이블)의 형태로 데이터를 저장한다.
구성요소
1. 행 : 다른 행과 완전히 독립적이다. 행의 순서는 중요하지 않다. 아 얘 나왔으니까 다음엔 쟤가 나오겠지? 그런 거 아니다. 특정한 정보의 모든 데이터를 나타낸다.
2. 열 : 데이터의 속성(이름, 자료형)을 나타낸다. 같은 열은 같은 종류의 값을 가진다. 서로 다른 이름을 가지고 있으며, 하나의 테이블에 이름이 같은 열은 존재할 수 없다.
잘못된 정보에 대한 지적은 언제나 환영입니다.
다음 시간은 DML을 사용해 보겠습니다. 안녕히 계세요.
'PROGRAMMING > SQL' 카테고리의 다른 글
6. 자바와 SQL의 힘을 합쳐 필드 생성, 레코드 한 개 조회하기 (0) 2022.04.24 5. JDBC가 뭐고 어떻게 사용하나요? (0) 2022.04.22 4. DML이 뭐고 어떻게 사용하나요? [ INSERT, UPDATE, DELETE ] (0) 2022.04.21 3. DML이 뭐고 어떻게 사용하나요? [ SELECT문(FROM, WHERE, IN, ORDER BY, DISTINCT) ] (0) 2022.04.21 1. SQL을 활용할 건데요. 그 전에 데이터베이스(DB)랑 DBMS가 뭔데요? (0) 2022.04.20