테이블 설정하기 전에 스키마(데이터베이스)가 설정되었다고 가정하고 진행한다.
명령프롬프트로 테이블 설정

- 스키마에 접근한다. 여기에서 스키마명은 nodejs 이다.
- TABLE을 만든다. CREATE TABLE 테이블명 으로 TABLE 생성을 선언한다.
- CREATE TABLE 테이블명 ( ) 에서 괄호 내부에 있는 내용들은 데이터베이스의 각 컬럼에 대한 정보를 설정하는 것이다.
- 괄호 바깥에 있는 내용들은 테이블에 대한 설정에 관한 것이다.
테이블의 소개, 기본 캐릭터셋, 데이터베이스 엔진등을 설정할 수 있다.
위의 프롬프트에서 볼 수 있듯이, id부터 created_at까지는 컬럼에 대한 설정이다.
해당 테이블에 대한 설정도 존재하는데, 일단 컬럼에 대한 설정부터 알아보자.
컬럼에 대한 설정
- INT는 정수를 의미한다. 프로그래밍에서 많이 사용한다. 부동소수점은 FLOAT로 사용한다.
- NOT NULL은 NULL값을 허용하지 않겠다는 의미이다. 즉 NOT NULL을 설정하면 데이터를 반드시 채워야 하는 컬럼이 된다. 반면 NULL은 NULL값을 허용하겠다는 의미이다.
- VARCHAR은 가변길이이다. VARCHAR(N)은 길이가 0~N까지인 문자열을 넣을 수 있게 된다.
- CHAR는 고정길이이다. CHAR(N)로 설정할 경우 반드시 N개의 길이까지 문자열을 채워줘야 한다.
- TINYINT은 작은 범위의 정수값이다. -128 ~ 127까지의 정수를 저장할 수 있으며,
TINYINT(1)과 같이 사용한다면 BOOLEAN같이 사용할 수 있다. - TEXT는 긴 글을 저장할 때 많이 쓰인다.
- DATETIME은 날짜와 시간에 대한 정보를 가지고 있다.
날짜 정보만 담으려면 DATE를, 시간 정보만 담으려면 TIME을 사용할 수 있다. - AUTO_INCREMENT는 테이블에 데이터가 생성될때마다 숫자를 저절로 올리겠다는 의미이다.
초기 데이터 입력에서 id에 1번이 부여되었다면, 다음에는 2번이 부여된다. - UNSIGNED는 숫자 자료형에 적용되는 옵션이며, 음수의 입력을 막는다.
- DEFAULT는 기본값을 나타내며, 위에서 DEFAULT now()는 데이터 입력이 별도로 없을 경우, 현재 시각을 값에 추가하라는 의미가 된다.
- PRIMARY KEY는 기본키를 의미한다. 주민등록번호나 학번과 같이 고유한 값을 가진 컬럼에 부여한다.
- UNIQUE INDEX는 해당값이 고유해야하는지에 대한 옵션이다. PRIMARY KEY는 자동으로 UNIQUE INDEX를 가진다.
테이블에 대한 설정
- COMMENT는 테이블에 대한 보충설명을 의미한다. 필수사항은 아니다.
- DEFAULT CHARACTER SET utf8은 기본 캐릭터 셋을 UTF8로 하겠다는 것이다. UTF8을 사용해야 비로소 한글을 사용할 수 있다.
- ENGINE은 DB 엔진을 어떤 것을 사용할 것인지 체크할 수 있다. MySQL에서는 MyISAM, InnoDB 두가지 스토리지 엔진 중 하나를 사용한다.
워크벤치로 테이블 설정
1. 스키마에 우클릭 후 Create Table 클릭

2. 테이블 정보 입력후 Apply 클릭

3. 자동으로 SQL문이 생성되며 Apply시 테이블이 생성된다.

'했던것들 > 알게된 것들' 카테고리의 다른 글
MySQL 명령 프롬프트로 접속 (0) | 2023.04.25 |
---|---|
MySQL 설치 및 설정 (0) | 2023.04.25 |
개선사항1에 대한 셀프 피드백 (0) | 2023.04.20 |
변수명을 잘 짓자 (0) | 2023.04.20 |
개선사항1 (0) | 2023.04.19 |
테이블 설정하기 전에 스키마(데이터베이스)가 설정되었다고 가정하고 진행한다.
명령프롬프트로 테이블 설정

- 스키마에 접근한다. 여기에서 스키마명은 nodejs 이다.
- TABLE을 만든다. CREATE TABLE 테이블명 으로 TABLE 생성을 선언한다.
- CREATE TABLE 테이블명 ( ) 에서 괄호 내부에 있는 내용들은 데이터베이스의 각 컬럼에 대한 정보를 설정하는 것이다.
- 괄호 바깥에 있는 내용들은 테이블에 대한 설정에 관한 것이다.
테이블의 소개, 기본 캐릭터셋, 데이터베이스 엔진등을 설정할 수 있다.
위의 프롬프트에서 볼 수 있듯이, id부터 created_at까지는 컬럼에 대한 설정이다.
해당 테이블에 대한 설정도 존재하는데, 일단 컬럼에 대한 설정부터 알아보자.
컬럼에 대한 설정
- INT는 정수를 의미한다. 프로그래밍에서 많이 사용한다. 부동소수점은 FLOAT로 사용한다.
- NOT NULL은 NULL값을 허용하지 않겠다는 의미이다. 즉 NOT NULL을 설정하면 데이터를 반드시 채워야 하는 컬럼이 된다. 반면 NULL은 NULL값을 허용하겠다는 의미이다.
- VARCHAR은 가변길이이다. VARCHAR(N)은 길이가 0~N까지인 문자열을 넣을 수 있게 된다.
- CHAR는 고정길이이다. CHAR(N)로 설정할 경우 반드시 N개의 길이까지 문자열을 채워줘야 한다.
- TINYINT은 작은 범위의 정수값이다. -128 ~ 127까지의 정수를 저장할 수 있으며,
TINYINT(1)과 같이 사용한다면 BOOLEAN같이 사용할 수 있다. - TEXT는 긴 글을 저장할 때 많이 쓰인다.
- DATETIME은 날짜와 시간에 대한 정보를 가지고 있다.
날짜 정보만 담으려면 DATE를, 시간 정보만 담으려면 TIME을 사용할 수 있다. - AUTO_INCREMENT는 테이블에 데이터가 생성될때마다 숫자를 저절로 올리겠다는 의미이다.
초기 데이터 입력에서 id에 1번이 부여되었다면, 다음에는 2번이 부여된다. - UNSIGNED는 숫자 자료형에 적용되는 옵션이며, 음수의 입력을 막는다.
- DEFAULT는 기본값을 나타내며, 위에서 DEFAULT now()는 데이터 입력이 별도로 없을 경우, 현재 시각을 값에 추가하라는 의미가 된다.
- PRIMARY KEY는 기본키를 의미한다. 주민등록번호나 학번과 같이 고유한 값을 가진 컬럼에 부여한다.
- UNIQUE INDEX는 해당값이 고유해야하는지에 대한 옵션이다. PRIMARY KEY는 자동으로 UNIQUE INDEX를 가진다.
테이블에 대한 설정
- COMMENT는 테이블에 대한 보충설명을 의미한다. 필수사항은 아니다.
- DEFAULT CHARACTER SET utf8은 기본 캐릭터 셋을 UTF8로 하겠다는 것이다. UTF8을 사용해야 비로소 한글을 사용할 수 있다.
- ENGINE은 DB 엔진을 어떤 것을 사용할 것인지 체크할 수 있다. MySQL에서는 MyISAM, InnoDB 두가지 스토리지 엔진 중 하나를 사용한다.
워크벤치로 테이블 설정
1. 스키마에 우클릭 후 Create Table 클릭

2. 테이블 정보 입력후 Apply 클릭

3. 자동으로 SQL문이 생성되며 Apply시 테이블이 생성된다.

'했던것들 > 알게된 것들' 카테고리의 다른 글
MySQL 명령 프롬프트로 접속 (0) | 2023.04.25 |
---|---|
MySQL 설치 및 설정 (0) | 2023.04.25 |
개선사항1에 대한 셀프 피드백 (0) | 2023.04.20 |
변수명을 잘 짓자 (0) | 2023.04.20 |
개선사항1 (0) | 2023.04.19 |