<목표>
오늘은 AWS RDS라고 하는 관계형 데이터베이스 서버를 셋팅했다
셋팅은 크게 어렵지 않았는데,
우선 https://aws.amazon.com/ko/console/ 사이트에 들어가서 가입을 한다.







CREATE TABLE Users
(
userId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
email varchar(255) NOT NULL,
password varchar(255) NOT NULL
);
CREATE TABLE Posts
(
postId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
userId int(11) NOT NULL,
title varchar(255) NOT NULL,
content varchar(255) NOT NULL,
FOREIGN KEY (userId) REFERENCES Users (userId)
);
INSERT INTO Users (userId, email, password)
VALUES (1, 'AAAA', '1234'),
(2, 'BBBB', '1234');
INSERT INTO Posts (userId, title, content)
VALUES (1, 'AAAA Title1', 'content'),
(1, 'AAAA Title2', 'content'),
(2, 'BBBB Title1', 'content'),
(2, 'BBBB Title2', 'content');
관계형 데이터베이스는 관계 라고도 하는 테이블을 사용하여 구조화된 형식으로 데이터를 저장하고 구성하는 데이터베이스 유형
행 ( 레코드 또는 튜플 이라고도 함 )은 개별 데이터 항목.
열 ( 필드 또는 속성 이라고도 함 )은 저장된 데이터의 속성이나 특성.
아래와 같이 데이터들은 테이블에 담겨있다.

데이터베이스의 구조를 정의하거나 변경할 때 사용. 테이블, 인덱스, 스키마 등의 데이터베이스 객체를 생성, 변경, 삭제하는 데 사용.
CREATE 데이터베이스, 테이블, 인덱스 등의 객체 생성.
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Email VARCHAR(100)
);
ALTER 기존의 데이터베이스 객체를 수정. 예를 들어, 테이블에 새로운 컬럼을 추가하거나 삭제할 수 있다.
ALTER TABLE Customers ADD PhoneNumber VARCHAR(20);
DROP 데이터베이스 객체를 삭제.
DROP TABLE Customers;
TRUNCATE 테이블의 데이터를 모두 삭제하되, 테이블의 구조는 유지.
TRUNCATE TABLE Customers;
데이터베이스 내의 데이터를 조회하거나 수정할 때 사용. 테이블에 데이터를 삽입하거나 업데이트하고, 삭제하는 등의 작업이 가능.
SELECT 테이블에서 데이터를 조회
SELECT * FROM Customers WHERE LastName = 'Smith';
INSERT 테이블에 새로운 데이터를 삽입
INSERT INTO Customers (CustomerID, FirstName, LastName, Email)
VALUES (1, 'John', 'Doe', 'john@example.com');
UPDATE 기존 데이터를 수정
UPDATE Customers SET Email = 'johndoe@example.com' WHERE CustomerID = 1;
DELETE 테이블에서 데이터를 삭제
DELETE FROM Customers WHERE CustomerID = 1;
데이터베이스 시스템에서 사용 권한과 보안 설정을 관리하는 명령어.
GRANT 특정 사용자에게 데이터베이스 권한을 부여
GRANT SELECT, INSERT ON Customers TO 'username';
REVOKE 특정 사용자로부터 권한을 회수
REVOKE SELECT ON Customers FROM 'username';
TCL은 데이터베이스 트랜잭션을 제어하는 명령어이다. 트랜잭션은 일련의 SQL 작업을 하나의 작업 단위로 묶어서 처리하며, 데이터 일관성을 보장한다.
COMMIT 트랜잭션에서 발생한 변경 사항을 저장
COMMIT
ROLLBACK 트랜잭션을 취소하고 변경 사항을 원래 상태로 되돌린다
ROLLBACK
SAVEPOINT 트랜잭션 내에 중간 저장 지점을 설정하여, 특정 지점까지만 되돌릴 수 있게 한다
SAVEPOINT savepoint_name;
SET TRANSACTION 트랜잭션의 특성을 설정한다
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;