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

[MySQL] CREATE 문으로 테이블 생성하기

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

테이블 생성 문법입니다.

 

CREATE TABEL 테이블이름(

     속성이름 데이터타입 조건 ,

     속성이름 데이터타입 조건 ,

     속성이름 데이터타입 조건 ,

      ........

     PRIMARY KEY (속성이름)

);


속성이름은 ID , address 등등과 같이 테이블의 열이 될 값들을 넣어줍니다.


데이터 타입은 INT , CHAR , VARCHAR , FLOAT , DATE와 같은 자료형을 넣어줍니다.

https://konkukcodekat.tistory.com/entry/mySQL-%EC%A3%BC%EC%9A%94-%EB%8D%B0%EC%9D%B4%ED%84%B0%ED%83%80%EC%9E%85%EC%9E%90%EB%A3%8C%ED%98%95

 

mySQL 주요 데이터타입(자료형)

이전 포스팅에서 테이블을 생성할 때, 각 컬럼마다 저장될 값에 알맞은 데이터 타입(Data type)을 설정했는데요. 데이터 타입을 잘 설정해야 저장 용량을 효율적으로 활용할 수 있고, 나중에 row 수

konkukcodekat.tistory.com


옆에는 조건이 붙는데요, 

  • NOT NULL : 값이 꼭 입력되어야할때, NULL을 허용하지 않을때 작성해줍니다
  • UNIQUE : 값이 중복되는것을 허용하지 않을때 (유일성) 작성해줍니다.
  • PRIMARY KEY : 기본키. 테이블 당 하나에만 적용할 수 있습니다.
  • FOREGIN KEY : 외래키. reference 키워드랑 같이 쓰이고 진도 많이 나간다음에 언급하겠습니다.
  • CHECK 조건 : 조건에 만족하는 값만 입력할수 있습니다.
  • DEFAULT 값 : 값이 입력되지 않으면 NULL 대신에 값을 넣어줍니다.
  • INDEX : 인덱스를 지정할때 넣어줍니다.
  • AUTO_INCREMENT : 1,2,3,... 처럼 값 입력할때마다 자동으로 하나씩 증가하도록 설정합니다.
  • NULL : 값을 입력받지 않으면 NULL로 설정합니다. 쓰나마나 똑같습니다....

 

벌써 모든 조건을 배우는건 무리고 , NOT NULL, PRIMARY KEY, AUTO INCREMENT, DEFAULT를 활용하는 예시를 봅시다!

 


사람들의 정보를 입력받는  info 테이블을 만들어 봅시다.

 

id는 기본키로 설정할것이기 때문에 NOT NULL로 해주고, AUTO_INCREMENT로 굳이 입력하지 않아도 자동으로 설정되도록 만들어 보겠습니다.

그리고 마지막에는 PRIMAYKEY를 설정할때 괄호안에 속성 이름을 넣습니다.

기본키 말고 다른 것들은 기본 값을 null로 설정해줬습니다.

 

CREATE TABLE info(
     id INT NOT NULL AUTO_INCREMENT,
     type VARCHAR(30)  NULL,
     name VARCHAR(10)  NULL,
     age TINYINT  NULL,
     sex CHAR(1) NULL ,
     weight DOUBLE  NULL,
     PRIMARY KEY (id)
);

 


아래 처럼 기본키도 하나의 속성이니까 이렇게 선언해줄수 있습니다.

그리고 NULL 속성은 생략할 수 있습니다 .

 

CREATE TABLE info(
     id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY
     type VARCHAR(30)  ,
     name VARCHAR(10)  ,
     age TINYINT  ,
     sex CHAR(1)  ,
     weight DOUBLE  ,
);

 


디폴트를 이용해서 이렇게 선언을 해줄수도 있습니다.

기본값이 있다는건 NULL이 아니기 때문에 NOT NULL로 해주고, DEFAULT 20으로 해주면,

아무것도 입력안하면 기본으로 20세가 됩니다.

 

CREATE TABLE info(
     id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY
     type VARCHAR(30)  ,
     name VARCHAR(10) NOT NULL DEFAULT 20 ,
     age TINYINT  ,
     sex CHAR(1)  ,
     weight DOUBLE  ,
);

 

다음에는 데이터 조회(select문)을 배울 것입니다.

 

사실 다른 명령어들을 실습할때 조회하는법을 알아야 올바로 실습했는지 알 수 있기 때문에 select를 가장 먼저 하겠습니다.

 

그리고 비개발자들도 데이터조회하는 능력을 이용하게될 수도 있습니다!

반응형

댓글