이어서 ...
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,
PRIMARY KEY (id)
);
💡 AUTO_INCREMENT : 테이블의 새로운 행이 삽입될 때마다, 특정 컬럼(보통 기본 키, Primary Key)의 숫자를 증가시켜 입력시켜줌
ㄴ 입력 실패했을 때에도 값이 올라감 -> auto_increment_lock_mode 설정해주자.
💡 DATE 자료형 : "YYYY-MM-DD" ""붙여 넣으면 알아서 형태대로 넣어줌.
ㄴ ex) "800123" -> "1980-01-23" (실전에서는 년도 4자리 다 써주자.
3. 사용자 데이터 삽입
- AUTO_INCREMENT 덕에 id값은 넣어주지않음.
INSERT INTO users(name, job, birth)
VALUES ("gongu", "actor", "19800123");
INSERT INTO users(name, job, birth)
VALUES ("kim", "student", "2010-01-01");
INSERT INTO users(name, job, birth)
VALUES ("lee", "teacher", "1930-01-02");

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)
);
💡 TIMESTAMP DEFAULT NOW(); : 현재 시각 저장해줌
5. 게시글 데이터 삽입
INSERT INTO posts(title, content)
VALUES("title1", "content1");

6. 게시글 테이블에 수정일자 추가
ALTER TABLE posts
ADD COLUMN updated_at DATETIME
DEFAULT NOW()
ON UPDATE NOW();
💡 ON UPDATE NOW() : 업데이트 할떄 지금시간으로 업데이트 함
7. 게시글 테이블 id 2 수정
UPDATE posts
SET content = "updated!";
WHERE id = 2;
8. 게시글 테이블에 작성자 컬럼 FK 추가
ALTER TABLE posts
ADD COLUMN user_id INT;
ALTER TABLE posts
ADD FOREIGN KEY(user_id)
REFERENCES users(id);
💡 (id) 안써도 pk가 자동설정되지만 명시해주는 것이 좋음

💡 MUL : multiple 중복으로 들어갈 수 있음!
9. ❗️조인
SELECT posts.id, title, content, created_at, updated_at, name, job, birth
FROM posts LEFT
JOIN users ON posts.user_id = users.id;

MySQL (maridadb) 날짜 / 시간 타입
1. DATE
- 날짜만
- YYYY-MM-DD
2. DATATIME : 자동입력 X
- 날짜 + 시간
- YYYY-MM-DD HH:MM:SS (24시간제)
3. TIME
- 시간
- HH:MM:SS
4. TIMESTAMP : 자동입력!
- 날짜 + 시간
- YYYY-MM-DD HH:MM:SS (24시간제)
- 시스템 시간대 정보에 맞게 일시를 저장
- UTC : 한국 시간 - 9
Not Null vs Default
Not Null
- 직접 null로 작성하는 것도 X
Default : 값이 안들어올 때, 기본 값으로 셋팅
- 공란으로 inser -> Default 설정 해둔 기본 값이 Insert
- null로 입력해서 넣으면 -> null setting
adsp 공부가 생각보다 집중이 안돼서
원래 데브코스 강의 -> adsp 공부를 했었는데
순서를 바꿔서 오늘 아침에 adsp 공부부터하고 밤에 강의를 듣기시작했다
훨씬 효율도 나고 좋은 것같다!!
그래도 내일 강의가 꽤긴것같던데 오늘보다는 빨리 시작해야겠다..
'Devcourse' 카테고리의 다른 글
| <데브코스> 2026-02-04 TIL 유효성 검사(express-validator), SQL오류 처리, next (0) | 2026.02.04 |
|---|---|
| <데브코스> 26-02-03 TIL MySQL Workbench 사용, DB 연동, 단축평가 (0) | 2026.02.03 |
| <프로그래머스 데브코스 풀스택> 2026-01-30 TIL 데이터베이스(PK, FK, 정규화) (0) | 2026.01.30 |
| <프로그래머스 데브코스 풀스택> 2026-01-29 TIL 미니프로젝트(3) 라우팅으로 연결, 회원마다 채널 가지게 ERD (0) | 2026.01.29 |
| <프로그래머스 데브코스 풀스택> 2026-01-25 TIL 미니프로젝트(2) - 로그인, 빈 객체 확인하는 방법, 채널 API (0) | 2026.01.29 |
