ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 노드 데이터베이스 MySQL
    노드 2023. 4. 18. 15:40

      데이터베이스

    지금까지는 데이터를 서버 메모리에 저장했다.

    • 서버를 재시작하면 데이터도 사라져버린다. ->영구적으로 저장할 공간이 필요하다.

     

    MySQL 관계형 데이터베이스 사용

    • 데이터베이스 : 관련성을 가지며 중복이 없는 데이터들의 집합
    • DBMS : 데이터베이스를 관리하는 시스템
    • RDBMS : 관계형 데이터베이스를 관리하는 시스템
    • 서버의 하드 디스크나 SSD 등의 저장 매체에 데이터를 저장
    • 서버 종료 여부와 상관 없이 데이터를 계속 사용할 수 있다.
    • 여러 사람이 동시에 접근할 수 있고, 권한을 따로 줄 수 있다. 

     

    MySQL 설치는 여기에서

    https://dev.mysql.com/downloads/installer/

     

    MySQL :: Download MySQL Installer

    Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8.0.32 2.4M (mysql-installer-web-community-8.0.32.0.msi) MD5: 0f882590f8338adc614e9dc5cb00ca0b | Signatu

    dev.mysql.com

    그리고 맥 유저들은 home brew가 깔려 있으면 brew install mysql로 간편하게 설치가 가능하다.

    *설치에 관련해서는 다루지 않겠다.

     

    콘솔(CMD)에서 MySQL이 설치된 경로로 이동

    기본 경로는 C:\Program Files\MySQL\MySQL Server 8.0\bin

    -h는 호스트, -u는 사용자 -p는 비밀번호를 의미한다.

    프롬프트가 mysql>로 바뀐다면 성공

    프롬프트를 종료하려면 exit을 입력하면 된다.

     

    데이터베이스 생성하기

    콘솔에서 MySQL프롬프트에 접속

    CREATE SCHEMA nodejs;로 nodejs 데이터베이스를 생성한다. 

    use nodejs;로 생성한 데이터베이스 선택

     

    테이블 생성하기

    MySQL 프롬프트에서 테이블 생성하기

    • create table [데이터베이스명.테이블명]으로 테이블 생성
    • 사용자 정보를 저장하는 테이블

     

    *컬럼과 로우에 대한 이해를 돕기위한 그림은 다음과 같다

    실제로 들어가는 데이터는 로우이다. 

     

    id INT NOT NULL AUTO_INCREMENT

    • 컬럼명 옆의 것들은 컴럼에 대한 옵션들이다.

     

    • INT : 정수 자료형 (FLOAT, DOUBLE은 실수)
    • VARCHAR : 문자열 자료형, 가변 길이(CHAR은 고정 길이)
    • TEXT : 긴 문자열은 TEXT로 별도 저장
    • DATETIME : 날짜 자료형 저장
    • TINYINT : -128에서 127까지 저장하지만 여기서는 1 또는 0만 저장해 bool 값을 표현한다.
    • NOT NULL : 빈 값은 받지 않는다는 뜻(NULL은 빈 값 허용)
    • AUTO-INCREMENT : 숫자 자료형인 경우 다음 로우가 저장될 때 자동으로 1 증가
    • UNSIGNED : 0과 양수만 허용
    • ZEROFILL : 숫자의 자리 수가 고정된 경우 빈 자리에 0을 넣음
    • DEFAULT now() : 날짜 컬럼의 기본값을 현재 시간으로 설정

     

    *만약에 comments 테이블을 만들때 users라는 테이블을 열 수 없다고 에러가 발생하면 

    users 테이블을 만들고 comments테이블을 생성하자.

     

    '노드' 카테고리의 다른 글

    노드 시퀄라이즈 사용하기  (0) 2023.04.19
    노드 데이터베이스 CRUD 작업하기  (0) 2023.04.18
    노드 관계 쿼리  (0) 2023.04.18
    노드 테이블 관계 이해하기  (0) 2023.04.18
    노드 next 활용법  (0) 2023.04.17
Designed by Tistory.