반응형
Node.js의 숙련주차의 강의를 마치고 복습과 개인과제를 시작했다. 그러면서 이번 과제의 기본이자 계속 사용하게 될 SQL에 대해 정리해보려한다.
SQL (Structured Query Language)
SQL (Structured Query Language)는 데이터베이스에서 데이터를 관리하고 조작하는 데 사용되는 표준 프로그래밍 언어.
데이터베이스에서 데이터를 조회, 삽입, 업데이트 및 삭제하는 기능을 제공.
- 대표적인 SQL 구성 요소
1) DDL (Data Definition Language) : 데이터베이스 구조를 정의하는데 사용
- CREATE : 데이터베이스 객체(예: 테이블, 인덱스)를 생성
CREATE DATABASE 데이터베이스명;
CREATE TABLE 테이블명
{
컬럼명 컬럼속성
}
- ALTER : 기존 데이터베이스 객체를 수정
ALTER DATABASE 데이터베이스명 변경조건;
ALTER TABLE 테이블명 ADD 변경조건; -- 테이블에 새로운 컬럼을 추가합니다.
ALTER TABLE 테이블명 DROP 변경조건; -- 테이블에서 컬럼을 삭제합니다.
ALTER TABLE 테이블명 MODIFY 변경조건; -- 테이블의 컬럼을 수정합니다.
ALTER TABLE 테이블명 RENAME 변경조건; -- 테이블의 이름을 변경합니다.
...
- DROP : 데이터베이스 객체를 삭제
DROP DATABASE 데이터베이스명;
DROP TABLE 테이블명;
2) DML (Data Manipulation Language): 데이터베이스 내의 데이터를 조작하는 데 사용
- SELECT : 데이터를 조회
SELECT 컬럼목록 FROM 테이블명 [WHERE 조건];
- INSERT : 데이터를 삽입
INSERT INTo 테이블명 (컬럼목록) VALUES (값목록);
- UPDATE : 기존 데이터를 수정 (조건이 없으면 모든 데이터가 수정)
UPDATE 테이블명 SET 컬럼 = 값 [WHERE 조건];
- DELETE : 데이터를 삭제 (조건이 없으면 모든 데이터가 삭제)
DELETE FROM 테이블명 [WHERE 조건];
3) DCL (Data Control Language): 데이터베이스에 대한 권한을 관리
- GRANT: 사용자에게 권한을 부여
- 권한에는 SELECT, INSERT, UPDATE, DELETE 등 다양한 종류가 존재
GRANT [권한] ON 객체명 TO 사용자;
- REVOKE : 사용자의 권한을 회수
REVOKE [권한] ON 객체명 FROM 사용자;
4) TCL (Transaction Control Language): 데이터베이스 트랜잭션을 관리합니다.
- COMMIT : 트랜잭션을 영구적으로 저장
- 데이터베이스의 작업이 정상적으로 완료되었음을 관리자에게 알려줄 때 사용
START TRANSACTION;
...
COMMIT;
- ROLLBACK : 트랜잭션을 취소 후 이전상태로 되돌릴 때 사용
- 데이터베이스의 작업이 비정상적으로 완료되었음을 관리자에게 알려줄 때 사용
START TRANSACTION;
...
ROLLBACK;
이전에 지급되었던 SQL강의를 꽤나 재미있게 들었었는데, SQL을 실제로 개발하는데 이용하여 클라이언트에게 제공한다고 생각하니 꽤나 신이난다. 단순히 내가 데이터를 조회해서 분석하는데만 쓴다고 생각했는데, 그것을 이렇게도 사용할 수 있다는 것이 뭔가 하나를 알면 다른것도 쉽게 할 수 있는 개발의 세계를 다시 느낄 수 있었다. 빨리 하나 둘씩 익혀 어떠한 프로그램도 쉽게 익힐 수 있는 사람이 되고싶다.
반응형
'개발 기초 다지기' 카테고리의 다른 글
과제 ERD 작성과 SQL 제약조건 (0) | 2024.05.29 |
---|---|
내일배움캠프 29일차알고리즘 문제 : 내적 (reduce 함수에 대한 이해) (1) | 2024.05.27 |
내일배움캠프 27일차 : bcrypt 암호화 (0) | 2024.05.23 |
내일배움캠프 26일차 : 데이터베이스 정규화 (0) | 2024.05.22 |
내일배움캠프 25일차 : Node.js 활용 CS 개념 (1) | 2024.05.21 |
댓글