id | title | description | created | author | profile |
위와 같은 데이터 타입을 갖는 테이블은
CREATE TABLE topic(
-> id INT(10) NOT NULL AUTO_INCREMENT,
-> title VARCHAR(100) NOT NULL,
-> description TEXT NULL,
-> created DATETIME NOT NULL,
-> author VARCHAR(15) NULL,
-> profile VARCHAR(200) NULL,
-> PRIMARY KEY(id)
-> );
위 코드를 통해 만들 수 있다.
각 코드별로 주석으로 설명을 달아주면 아래와 같다.
CREATE TABLE topic( /* topic이라는 이름의 테이블을 만든다.*/
-> id INT(10) NOT NULL AUTO_INCREMENT, /* 첫번째 열의 이름은 id이고 정수형의 데이터를 받으며 10자리까지 출력한다. 해당 데이터는 반드시 포함되어야하고 누락시키면 자동으로 이전 데이터 기준 오름차순으로 넣어준다*/
-> title VARCHAR(100) NOT NULL, /* 두번째 열의 이름은 title이고 100글자로 보여준다, 이 열의 데이터 역시 누락되어서는 안된다.*/
-> description TEXT NULL, /* description 이름의 열을 추가한다. 들어가는 데이터는 TEXT 타입이며, 반드시 입력될 필요는 없다.*/
-> created DATETIME NOT NULL, /* created 이름의 열을 추가한다. DATETIME 타입으로 데이터을 보여주며 누락되어서는 안된다.*/
-> author VARCHAR(15) NULL, /* author 이름의 열을 추가한다. 15글자로 보여주며, 누락되어도 된다*/
-> profile VARCHAR(200) NULL, /* profile이름의 열을 추가한다. 200글자로 보여주며, 누락되어도 된다*/
-> PRIMARY KEY(id) /* id 데이터 타입을 PRIMARY KEY로 한다.
-> );
cf) 명령어 끝에 세미콜론을 붙이지 않고 enter를 누르면 명령어가 처리되지 않고 다음 행에 이어서 명령어를 작성하게 된다.
INT는 정수형을 받는 데이터 타입이다.
NOT NULL은 해당 열의 데이터는 반드시 입력되어야 한다는 것을 의미한다.
위의 테이블을 예시로 보았을 때 title은 반드시 필요한 데이터이므로 NOT NULL로 열을 추가하여 해당 데이터가 누락된 채로 기록되는 것을 방지할 수 있다.
AUTO_INCREMENT는 id와 같은 데이터를 입력하지 않아도 알아서 기존 데이터에 오름차순으로 데이터를 입력하여 기록해주는 명령어이다.
예를 들어 id가 1, 2, 3인 데이터가 테이블에 있을 때, 데이터를 새로 추가하면 추가된 데이터의 id는 자동으로 4가 된다.
VARCHAR는 CHAR형 캐릭터를 통해 데이터를 기록하는 데이터 타입이다.
TEXT는 보다 긴 텍스트를 데이터로 기록하는 데이터 타입이다.
DATETIME은 날짜와 시간을 기록하는 데이터 타입이다.
PRIMARY KEY(열 이름) 이는 해당 열의 데이터를 각 데이터들을 구분하는 가장 중요한 기준으로 생각하는 것이다.
PRIMARY KEY로 지정된 열의 데이터들은 절대 중복이 발생할 수 없다.
위 테이블에서 id 1, 2, 3인 데이터가 있을 때, id값을 2로 데이터를 추가하면 에러가 발생한다. (데이터 추가 안됨)
그 외 여러 데이터 타입들에 대해서는
https://www.w3schools.com/sql/sql_datatypes.asp
SQL Data Types for MySQL, SQL Server, and MS Access
SQL Data Types for MySQL, SQL Server, and MS Access The data type of a column defines what value the column can hold: integer, character, money, date and time, binary, and so on. SQL Data Types Each column in a database table is required to have a name and
www.w3schools.com
여기서 확인할 수 있다.
'DB > MySQL' 카테고리의 다른 글
MySQL) 고정소수점(DECIMAL) vs 부동소수점(FLOAT, DOUBLE) (0) | 2020.09.12 |
---|---|
MySQL)테이블에 데이터 추가하기, 보기 (INSERT, SELECT, UPDATE, DELETE) (0) | 2020.08.07 |
MySQL)SQL의 뜻과 특징 (0) | 2020.08.07 |
MySQL)데이터베이스(스키마) 만들기, 제거하기, 보기, 사용하기 (0) | 2020.08.07 |
MySQL)Bitnami를 통해 MySQL 실행시키기 (cmd 이용) (0) | 2020.08.05 |
DB/MySQL 카테고리의 다른 글
MySQL) 고정소수점(DECIMAL) vs 부동소수점(FLOAT, DOUBLE)
MySQL)테이블에 데이터 추가하기, 보기 (INSERT, SELECT, UPDATE, DELETE)
MySQL)SQL의 뜻과 특징
MySQL)데이터베이스(스키마) 만들기, 제거하기, 보기, 사용하기