
오늘은 데이터베이스(Database)를 실습하면서
기존에 배웠던 INSERT, SELECT를 더 자세히 사용해보고
JOIN에 대해서도 학습했다.
직접 코드를 작성하고 실행해보았다.
CREATE DATABASE Board;
USE Board;

CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
job VARCHAR(100),
birth DATE,
PRIMARY KEY (id)
);

INSERT INTO users (name, job, birth)
VALUES ('gongu', 'actor', '1980-01-23');
INSERT INTO users (name, job, birth)
VALUES ('lee', 'teacher', '1930-01-02');


CREATE TABLE posts (
id INT NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
content VARCHAR(2000),
created_at TIMESTAMP DEFAULT NOW(),
PRIMARY KEY (id)
);

INSERT INTO posts (title, content)
VALUES ('title1', 'content1');

ALTER TABLE posts
ADD COLUMN updated_at DATETIME DEFAULT NOW() ON UPDATE NOW();

UPDATE posts
SET content = 'updated!'
WHERE id = 2;


정상적으로 수정된 모습
ALTER TABLE posts
ADD COLUMN user_id INT;
ALTER TABLE posts
ADD FOREIGN KEY (user_id)
REFERENCES users(id);

JOIN은 여러 개의 테이블을 결합하여 데이터를 조회하는 SQL 연산이다.
관계형 데이터베이스에서는 테이블이 개별적으로 저장되기 때문에,
필요한 데이터를 얻기 위해 여러 테이블을 조합해야 한다.
이때 JOIN을 사용하면 서로 다른 테이블의 데이터를 연결하여 하나의 결과 집합으로 반환할 수 있다.
SELECT posts.id, title, content, created_at, updated_at,
users.name, users.job, users.birth
FROM posts
LEFT JOIN users ON posts.user_id = users.id;

NOT NULL vs DEFAULTNULL 값을 가질 수 없음.INSERT 시 값을 입력하지 않으면 기본값이 자동으로 설정됨.NULL을 명시적으로 입력하면 NULL로 저장됨.오늘은 기본적인 테이블 생성, 데이터 삽입 및 조회를 진행하면서
JOIN을 활용하여 여러 테이블의 데이터를 함께 조회하는 방법을 익혔다.
데이터베이스에서 테이블 간 관계를 이해하고,
JOIN을 활용하는 것은 매우 중요한 개념이라고 배웠기 때문에
반복적인 실습을 통해 익숙해져야겠다고 느꼈다.