데이터베이스 및 테이블 생성하기

올챙이·2024년 8월 30일

Node.js

목록 보기
17/23
post-thumbnail

데이터베이스 생성

MySQL 접속

데이터베이스 생성

  • 1
    CREATE SCHEMA nodejs
    cs
    • CREATE SCHEMA [데이터베이스명]이 데이터베이스를 생성하는 명령어 입니다.

    • MySQL에서 데이터베이스와 스키마는 같은 개념입니다.

  • 1
    DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
    cs
    • 한글과 이모티콘을 사용할 수 있게 만듭니다.

  • 1
    use nodejs;
    cs
    • nodejs 데이터베이스를 사용하겠다는 것을 알립니다.

테이블 생성

테이블이란 데이터가 들어갈 수 있는 틀을 의미하며, 테이블에 맞는 데이터만 들어갈 수 있습니다.

  • CREATE TABLE [데이터베이스명.테이블명]

    • 테이블을 생성하는 명령어
  • id

    • 고유 식별자

    • INT: 정수

    • NOT NULL: 반드시 값이 있어야 합니다.

    • AUTO_INCREMENT: 새 레코드가 삽입될 때마다 자동으로 1씩 증가하는 고유한 값을 생성합니다.

  • name

    • 이름

    • VARCHAR(20): 최대 20자의 문자열을 저장할 수 있는 데이터 타입입니다.

  • age

    • 나이

    • INT UNSIGNED: 음수가 아닌 양수의 값만 허용합니다.

  • married

    • 결혼 여부

    • TINYINT: 1 BYTE, 주로 부울의 값을 저장하는데 사용합니다.

  • comment

    • 자기소개

    • TEXT: 긴 문자열을 저장하는데 사용합니다.

    • NULL: 공백을 허용합니다.

  • created_at

    • 열 생성일

    • created_at: 레코드가 생성된 날짜와 시간을 저장하는데 사용합니다.

    • DATETIME: 날짜와 시간을 함께 저장할 수 있는 데이터 타입입니다.

    • DEFAULT now(): 이 열의 기본값은 현재 날짜와 시간이 됩니다.

  • PRIMARY KEY(id)

    • id 열을 테이블의 기본 키(Primary Key)로 지정합니다.

    • 기본키는 같은 테이블 내에서 중복될 수 없습니다.

  • UNIQUE INDEX name_UNIQUE (name ASC)

    • name 열에 중복이 없는 고유 인덱스를 생성하는 명령입니다.

    • ASC: 인덱스를 오름차순으로 설정합니다.

    • 내림차순은 DESC입니다.

  • COMMENT = '사용자 정보'

    • 테이블에 대한 설명을 추가하는 명령입니다.
  • ENGINE = InnoDB

    • 테이블이 사용할 스토리지 엔진을 지정합니다.

테이블 보기 및 삭제

  • DESC [테이블명];

    • 테이블을 불 수 있습니다.
  • DROP TABLE [테이블명];

    • 테이블을 삭제합니다.

외래키

  • 외래키란?

    • 데이터베이스에서 테이블 간의 관계를 정의하는 데 사용됩니다.

  • 외래키 지정

    • CONSTRAINT [제약조건명] FOREIGN KEY [컬럼명] REFERENCES [참고하는 컬럼명]

    • user의 id와 comments의 commenter를 외래키로 연결했습니다.

      nodejs.user 테이블

      idname
      1Alice
      2Bob

      nodejs.comments 테이블

      idcommentercomment
      11Hello, world!
      22Hi there!

0개의 댓글