본문 바로가기
Back-End/🐬MySQL (RDBMS)

MySQL 데이터베이스, 테이블 생성하기

by 코딩하는 동현😎 2022. 5. 4.

저번 포스트에서 SQL 설치하고 서버 실행시키는 법에 대해서 배웠죠?

이번에는 데이터베이스와 테이블을 생성하는 법을 배울것입니다.

서버를 실행시키고 SQL문을 입력하기 위해 Query탭에 들어갑니다.

create문은 데이터베이스나 테이블을 생성할때 쓰는 DDL문입니다. DDL 문에 대해선 나중에 배우고,

CREATE DATABASE 데이터베이스이름; 을 입력해줍니다.

이번실습에는 대학생 강의 평가 데이터 베이스를 만들것이므로 아래와 같이 입력해줍니다.

 

사실 다 소문자로 작성해도 실행이되지만, 가독성을 위해 명령어는 무조건 대문자로 작성을 원칙으로 합니다.

세미콜론(;)은 한줄이면 안붙여도 되지만, 두줄이상이면 각 명령어를 구분하기 위해 SQL문 끝에 세미콜론을 붙이도록 합니다.

다 작성한다음에 번개표시 아이콘을 눌러 실행시켜줍니다.


 

명령어를 실행해주면 스키마창에서 적용된것을 보려면 꼭 새로고침을 해줍니다.

새로고침버튼을 누르면 새로 데이터베이스가 생성된게 보이시죠?

 

사실 이 명령어는 기존에 이미 course_rating이라는 데이터베이스가 있으면 오류가 걸리는데요, 예외처리를 위해서 기존에 이미 course_rating이라는 데이터베이스가 없을때만 실행시키기 위해 IF NOT EXISTS 문을 작성해줘서 실행해봅니다.

오류는 안뜨고 자동으로 실행이 안되는게 보입니다.


앞으로 이 course_rating에서 작업할것이기 때문에 USE 데이터베이스 문을 작성해줍니다.

실행시키고 위해 테이블을 생성해봅시다.

SQL문으로 생성할수 있는데 일단 명령어 없이 생성해봅시다.


<click to edit>을 누르고 밑에 정보 입력하면 하나하나 생성해줄수 있습니다.

DataType은 자료형으로 INT는 정수 , VARCHAR(길이)는 문자열 , DATE는 날짜 객체입니다.

여러 데이터 타입이 있는데 그건 다음 포스트에 자세하게 작성했습니다.

 

primery Key는 현재 속성을 핵심속성으로 지정하는 것인데요, 핵심키를 이용해서 각 학생을 구분해야하므로 중복성이 있으면 안되고, Not NULL이여야겠죠? (비어있으면 안된다는 겁니다)

AI(auto increment)는 자동증가의미로, name이나 학과 등등을 값을 입력 받아야하지만, id같은것은 자동으로 1,2,3...등등 자동으로 배정을 해준다는 것입니다.

id에도 좀이따 AI를 적용해 줍시다!


기본적으로 최대 45글자의 문자열을 받을수 있도록 될것인데요, 데이터 용량을 낭비하지 않기 위해 알맞게 조정해줍시다.

학과명을 입력받는데 최대 45글자로 하면 낭비가 되겠죠? 최대 15글자면 충분해 보입니다.

속성을 더블클리하면 이렇게 수정할수 있습니다.


테이블 이름을 student로 하고 이렇게 설정해줍니다.

그리고 apply버튼을 누르면 테이블을 생성할수 있습니다.


review창이 나올텐데, SQL문으로 작성하면 어떻게 되는지 볼수 있습니다.

앞으론 아래처럼 입력하는게 빠르겠죠?
CREATE TABEL 테이블이름.데이터베이스이름 으로 되어있는데, 위에 USE문을 이용했으므로 입력할땐 데이터베이스 이름을 빼도 됩니다.


Query SELECT 속성들 FROM 테이블이름 적용해주니까 테이블을 조회할수 있죠?

* 는 모두(전체)를 의미합니다.

아직 데이터를 입력하진 않았기 때문에 null로 표현될것입니다.

나중에 INSERT를 이용해 데이터를 넣어줄수 있습니다.

 다음포스트에선 데이터 타입의 종류를 배우고 앞으로 진도 나가겠습니다!

반응형

댓글