MySQL이란?
MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)이다.
데이터를 테이블 형태로 구조화하여 저장하며, 테이블은 행과 열로 이루어져 있다.
SQL(Structured Query Language)을 사용하여 데이터를 조작하며 데이터를 조작하는 등 다양한 기능을 수행할 수 있다.
트랜잭션
DBMS가 제공하는 가장 강력한 기능 중 하나로, 데이터베이스에서 수행되는 하나의 논리적인 작업 또는 단위를 나타내는 개념이다.
트랜잭션은 다음과 같은 특성을 만족시켜야한다.
- 원자성
트랜잭션은 반드시 atomic해야한다. 이는 트랜잭션이 데이터베이스에 모든 변경 사항을 반영하거나 아무것도 반영하지 않는 두 상태 중 하나만 가질 수 있음을 의미한다. 즉 일련의 과정 중 단 하나만 실패해도 트랜잭션은 반영되지 않으며, 하나의 트랜잭션에 포함된 모든 시도가 성공해야만 트랜잭션이 반영된다. - 일관성
트랜잭션 이전과 이후의 데이터베이스는 일관된 상태여야한다. 즉 트랜잭션이 실행되기 전과 실행된 후에 데이터베이스의 무결성 규칙이 유지되어야 한다. - 고립성
동시에 여러 트랜잭션이 실행 중인 경우, 각 트랜잭션은 다른 트랜잭션에 영향을 받지 않아야 한다. - 지속성
트랜잭션이 성공적으로 완료된 경우, 해당 변경 사항은 영구적으로 저장되어야 한다. 시스템 장애, 전원 손실과 같은 예상치 못한 에러에도 정보가 보존되어야 한다.
SQL 문
SQL 문은 DML, DDL, DCL, TCL 로 구문된다.
1. DML
- SELECT
데이터베이스에서 데이터를 조회하기위해 사용한다.
ex) SELECT [칼럼명] FROM [테이블명] - INSERT
데이터를 삽입하는 쿼리문이다.
ex) INSERT INTO [테이블명] [칼럼명1, 칼럼명2, 칼럼명2] VALUES [값1, 값2, 값3] - UPDATE
데이터를 수정하는 쿼리문이다.
ex) UPDATE [테이블명] SET [칼럼명 = 변경할 값] - DELETE
테이블에 있는 데이터를 삭제하는 쿼리문이다.
ex) DELETE FROM [테이블명]
2. DDL
- CREATE
테이블을 생성하기 위해 사용되는 sql문에 해당한다.
ex) CREATE TABLE [테이블명] {
[칼럼명] [타입] [조건] [PRIMARY KEY 여부],
....
} - ALTER
기존 테이블의 구조를 수정하기 위한 DDL문이다.
ex) ALTER TABLE [테이블명]
ADD [칼럼명] [타입명] - DROP
테이블을 삭제하는 sql문에 해당한다..
ex) DROP TABLE [테이블명] - TRUNCATE
테이블의 모든 행을 삭제하지만 테이블 자체는 유지된다.
ex) TRUNCATE TABLE [테이블 명]
3. DCL
- GRANT
사용자나 역할에게 특정 데이터베이스 객체에 대한 권한을 부여한다.
ex) GRANT SELECT, INSERT ON [테이블 명] TO [사용자 명] - REVOKE
권한을 취소하는 DCL 문이다.
ex) REVOKE SELECT ON [테이블 명] FROM [사용자 명]
4. TCL
- COMMIT
트랜잭션의 변경 내용을 영구적으로 데이터베이스에 적용한다.
ex) COMMIT - ROLLBACK
이 TCL문은 트랜잭션의 변경 내용을 취소하고 데이터 베이스를 이전 상태로 되돌린다.
ex) ROLLBACK - SAVEPOINT
현재 트랜잭션에 대한 세이브포인트를 생성하며, 롤백 시 사용된다.
ex) SAVEPOINT [세이브 포인트 명]
'JavaScript' 카테고리의 다른 글
ES class와 prototype (0) | 2023.09.11 |
---|---|
(JavaScript) Fetch API (0) | 2023.09.07 |
Express란? (0) | 2023.09.01 |
Firebase 사용 방법 (0) | 2023.08.12 |
React 공부하기 - Redux란? (0) | 2023.08.11 |