-
노드 데이터베이스 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