2025-02-25학습

airbus·2025년 2월 25일

프로그래머스

목록 보기
25/93

DB 테이블 생성 (CLI)

  • Board 스키마 생성
CREATE DATABASE Board;
  • 생성한 Board 스키마 사용
USE Board;
  • users 테이블 생성
CREATE TABLE users(
	id INT NOR NULL AUTO_INCREMENT,
    namee VARCHAR(30) NOT NULL,
    job VARCHAR(100),
    birth DATE,
    PRIMARY KEY (id)
);
  • 사용자 데이터 삽입
INSERT INTO users (name, job, birth)
VALUES ("kkk", "student", "250123");
  • 게시글 테이블 생성
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("title", "content1")
  • 게시글 테이블에 수정일자 추가
ALTER TABLE posts
ADD COLUMN updated_at DATETIME
DEFAULT NOW()
ON UPDATE NOW();
  • 게시글 테이블에 작성자 칼럼 FK 추가
ALTER TALBE posts
ADD FOREIGN KEY(user_id)
REFERENCES users(id);

날짜-시간 타입

  1. DATE
  • 날짜
  • YYYY-MM-DD
  1. DATETIME
  • 날짜 + 시간
  • YYYY-MM-DD HH:MM:SS (24H)
  1. TIME
  • 시간
  • HH:MM:SS
  1. TIMESTAMP (자동 입력)
  • 날짜 + 시간
  • YYYY-MM-DD HH:MM:SS (24H)
  • 시스템 시간대 정보에 맞게 일시를 저장합니다.

Not NULL & Default

  • NOT NULL
    값이 없는 것, 직접 'null'입력해서 값을 넣어도 안됨.
  • Default
    기본값, 공란으로 insert 될시 Default 값이 insert됩니다.

JOIN

//left join
SELECT * FROM posts LEFT // posts의 왼쪽으로
JOIN users ON posts.user_id = users.id; //posts의 user_id와 user의 user.id가 같으면 JOIN, ON(=조건)

etc)
값 추가가 실패해도 id값이 증가해 있는 이유는
auto_increment_lock_mode가 Default로 설정되어 있기 때문

0개의 댓글