pgms

[5주차] - [9기] 타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js) 10회차 - 21

Ejah 2026. 2. 2. 22:33

DB 테이블 생성 연습

 

https://mariadb.com/docs/server/reference/sql-statements/data-manipulation/inserting-loading-data/insert

 

INSERT | Server | MariaDB Documentation

Complete guide to inserting data in MariaDB. Complete INSERT syntax for single rows, bulk operations, and ON DUPLICATE KEY handling for production use.

mariadb.com

 

1. “Board” 스키마 생성

CREATE DATABASE Board;
USE Board;


2. 사용자 테이블 생성

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


3. 사용자 데이터 삽입

INSERT INTO users (name, job, birth)
VALUES ('gongu', 'actor', '800123');


4. 게시글 테이블 생성

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)
);

 

5. 게시글 데이터 삽입

insert into posts(title, content)
values("title1", "content1");

 

6. 게시글 테이블에 수정일자 컬럼 추가

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

 

7. 게시글 테이블 ID 2 수정

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

 

8. 게시글 테이블에 작성자 컬럽 FK 추가

ALTER TABLE posts
ADD FOREIGN KEY(user_id)
REFERENCES user(id);

 

9. 게시글 테이블에 작성자 컬럼 FK 추가

ALTER TABLE posts
ADD FOREIGN KEY (user_id)
REFERENCES users(id);

 

10. 🚀 조인 🚀

SELECT * FROM posts
LEFT JOIN users ON posts.user_id = users.id;
SELECT posts.id, title, content, created_at, updated_at,
       name, job, birth
FROM posts
LEFT JOIN users ON posts.user_id = users.id;

 

auto_increment_lock_mode