MySQL 테이블의 생성
개요
이번에는 MySql을 사용하여 테이블을 생성해본다.
실습
cmd로 mysql을 실행시켜 준비를 한다 그 후 create table을 사용하여 topic 테이블을 만들고 확인하여보자
처음에는 테이블을 만들때 먼저 create table를 사용하여 자신이 데이터베이스를 만들겠다고 선언을 해줍니다 그 후 table명을 지정합니다.
CREATE table topic();
다음으로는 데이터베이스에 데이터목록을 넣어줄 것입니다. 첫 번째로는 id를 넣어줍니다
id INT(11) NOT NULL AUTO_INCREMENT,
여기서 int 는 숫자 열중 소수점이 없는 정수를 뜻하는 데이터 타입 입니다()안에 있는 숫자는 최대길이를 뜻합니다.
그리고 not null이란 데이터베이스는 값을 적지 않으면 0이 아니라 null값이라고 값이 없다는 것을 표현하는데 not null을 사용 시 null을 사용을 할 수 없게 막습니다 만약 not null이 있는 데이터중에 null값이 있다면 바로 오류가 발생하게 됩니다.
다음은 auto_increment입니다 이것은 데이터를 넣었을떄 그 데이터의 정보가가 순차적으로 자동 생성되게 할 수 있습니다. 즉 누군가 id의 값은 생성했을 때 첫 번째로 등록한 사람의 id는 1 다음은 2, 3, 4 순으로 생성됩니다.
다음으로는 제목을 지정할것인데요
title VARCHAR(100) NOT NULL,
여기서 varchar란 글자같이 어떠한 문자를 넣을 때 사용하는 문자열 데이터 타입입니다. 비슷한 것으로는 var가 있는데 var는 크기의 제한이 있고 varchar도 크기 제한이 있지만 var보다 많은 양의 문자를 적을 수 있어 많이 적어야 한다 판단 시 vachar를 사용합니다.
다음으로는 기술을 적는 칸을 만들어 볼 것입니다.
description TEXT NULL,
이번에 나온 건 TXET라고 하는 데이터 타입입니다 기본적인 것은 var나 varchar과 비슷하지만 필드는 기본 키를 가질 수 없습니다
다음은 언제 등록했는지 날짜를 확인해볼 것입니다.
created DATETIME NOT NULL,
여기서 눈여겨볼 것은 DATETIME입니다 이것을 말 그대로 년, 월, 일을 보여주며 보여줄 년,월,일을 지정하여 더욱 편하게 보거나 더 자세하게 날짜를 볼 수 있습니다.
나머지는 저자와 세부사항 비입니다
author VARCHAR(100) NULL,
profile VARCHAR(100) NULL,
이것은 제목과 크게 다르지앖고 다른 점이라면 not null이 아니어서 null값을 넣을 수 있습니다.
마지막으로 기본키
PRIMARY KEY(id));
아까 전에 언급이 나온 기본키입니다 기본키는 무엇인가 검색할 때 구별할 수 있는 속성이며 나중에 나오는 join문을 사용할 때 핵심이 되는 것을 기본 키라 고합니다 기본키의 특징으로는 동일한 값이 없어야 하며 Null 값을 가질 수 없습니다.
여기서는 id에 기본키를 설정하였는데 나중에 어떤 한 사람을 조회할 때 id는 기본키기 이때 문에 특정 사람을 찾는데 빠른 검색이 가능해집니다.
CREATE table topic(
id INT(11) NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
description TEXT NULL,
created DATETIME NOT NULL,
author VARCHAR(100) NULL,
profile VARCHAR(100) NULL,
PRIMARY KEY(id));
위의 처럼 입력하면 생성되는것을 볼수있습니다.
참고한 수업 링크