ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MySQL 데이터베이스 생성 및 테이블 생성
    DataBase/MySQL 2021. 9. 26. 20:01

    [ 데이터 베이스 생성 ]


    데이터베이스 = 스키마

    mysql> CREATE SCHEMA `nodejs` DEFAULT CHARACTER SET utf8;

    CREATE SCHEMA `데이터베이스 이름` : 데이터베이스 생성

    DEFAULT CHARATCER SET utf8  : 한글 사용

     

    [ 테이블 생성 ]


    mysql> CREATE TABLE nodejs.users(
        -> id INT NOT NULL AUTO_INCREMENT,
        -> name VARCHAR(20) NOT NULL,
        -> age INT UNSIGNED NOT NULL,
        -> married TINYINT NOT NULL,
        -> comment TEXT NULL,
        -> created_at DATETIME NOT NULL DEFAULT now(),
        -> PRIMARY KEY(id),
        -> UNIQUE INDEX name_UNIQUE (name ASC))
        -> COMMENT = '사용자 정보'
        -> DEFAULT CHARACTER SET = utf8
        -> ENGINE = InnoDB;

     

    CREATE TABLE 테이블 이름 : 테이블 생성

    컬럼

    • id
    • name
    • age
    • married
    • comment
    • created_at

     

    자료형

    • INT : 정수
    • VARCHAR(자릿수) : 가변 길이 문자열
    • CHAR(자릿수) : 고정 길이 문자열
    • TEXT : 긴 글
    • TINYINT : -128 ~ 127 , 1 또는 0만 저장할시 boolean으로 사용
    • DATETIME : 날짜와 시간 정보
    • DATE : 날짜 정보
    • TIME : 시간 정보

     

    옵션

    • NULL , NOT NULL : 빈칸 허용 여부
    • AUTO_INCREMENT : 숫자 자동 증가
    • UNSIGNED : 숫자 자료형 기본 INT 는 -21억 ~ 21억이지만, unsigned가 붙으면 0~42억
    • ZEROFILL : 숫자 자릿수 고정
    • DEFAULT_now() : 값이 없다면 현재 시각 넣는다.
    • PRIMARY KEY : 로우를 대표하는 고유한 값 = 로우를 구별할 고유한 식별자
    • UNIQUE INDEX : 고유 값인지 확인 여부
      => 데이터베이스가 별도로 컬럼 관리 => 속도가 빠르다.

     

    테이블 자체 설정

    • COMMENT : 테이블 보충 설명
    • DEFAULT CHARATER SET utf8 : 한글 설정
    • ENGINE : 사용 엔진

     

    foreign key

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

    ...
    CONSTRAINT commenter
    FOREIGN KEY (commenter)
    REFERENCES nodejs.users (id)
    ON DELETE CASCADE
    ON UPDATE CASCADE
    ...

    CASCADE는 연결된 정보도 같이 수정하거나 삭제한다는 뜻이다 => 데이터 불일치 발생 X

    'DataBase > MySQL' 카테고리의 다른 글

    MySQL - Node.js 연동  (0) 2021.09.26
    MySQL - Sequelize 사용하기  (0) 2021.09.26
    MySQL - CRUD  (0) 2021.09.26

    댓글

Designed by Tistory.