테이블의 생성
예제)
예제의 컬럼을 SQL을 통해선 어떻게 하면 되는지 살펴보자.
지금부터 작성할 코드들을 작성할 일은 많이 없지만 데이터를 입력하고 출력할 일은 너무 많을 것이다.
이 과정을 통해 SQL을 배우고, DB의 특성(왜 데이터의 양이 많아지고 데이터가 다양해지면 중요한 장점이 생기는가)에 대한 것을 살펴보기 위함이다.
먼저 각자 SQL을 접속. - 데이터베이스 서버 접속
어떤 데이터베이스, 스키마를 사용할 건지 지정. - 데이터베이스
다음으로 테이블을 생성하는 명령어 시작. -
추천 검색어 create table in mysql cheat sheet
(cheat sheet 커닝 페이퍼인데 각 분야에 정리가 잘 되어있는 유용한 검색어이다.)
https://www.zentut.com/sql-tutorial/sql-cheat-sheet/
id라는 컬럼을 만들어보자.
(스프레드 시트와 SQL의 차이점, 사용자가 데이터를 넣을 때 그 데이터가 반드시 숫자로 들어와야 한다. 반드시 날짜로 들어와야 한다. 라는 것을 강력하게 규제할 수 있다. 만약 규제에 맞지 않는 데이터를 입력할 때에는 에러를 뱉어버린다.)
즉, 아주 중요한 기능, 컬럼에 데이터 타입을 강제할 수 있다.
CREATE TABLE topic(
id INT(11) NOT NULL AUTO_INCREMENT,
Numeric Datatypes
추천 검색어 mysql datatype number
https://www.techonthenet.com/mysql/datatypes.php
INT( ) - 괄호 안에 들어갈 숫자는 얼마까지만 데이터를 노출시킬 것인가를 정하는 것. 보통 11을 많이 사용.
(시스템이 최대한 자신이 수용하려고 하는 데이터의 최댓값에 가장 가까운 데이터 타입을 선택하는 것이 좋은 방법)
SQL은 값 없이 컬럼을 작성할 수 있다.
NOT NULL 값이 없는 것을 허용하지 않겠다.
NULL 값이 없는 것을 의미
같은 제목의 컬럼, 같은 제목의 행이 있을 수 있다. 이때 고유한 중복하지 않는 id 값을 지정해서 말한다면 문제없다.
그래서 MySQL에서 id컬럼은 자동으로 1씩 증가한다는
AUTO_INCREMENT
이렇게 해서 하나의 컬럼을 정리했다.
두 번째 컬럼, 다음 컬럼들 만들기
title 만들기
String Datatypes
VARCHAR(size) - VAR=variable, CHAR=character
(글을 제한할 때 사용하는, 제한을 걸면 제한 숫자 이후의 데이터는 버려버린다. 지워버린다.)
title VARCHAR(100) NOT NULL,
(NOT NULL - 공백을 허용하지 않는다.)
description 만들기
(본문은 길어야 하니 긴 데이터를 사용하는 것을 찾자.)
description TEXT NULL,
created 만들기
Date/Time Datatypes
created DATETIME NOT NULL,
author 만들기
author VARCHAR(30) NULL,
(익명이 글을 쓸 수도 있으니 NULL로)
profile 만들기
profile VARCHAR(100) NULL,
PRIMARY KEY(id) = 가장 중요한 컬럼인데, 각각의 값들이(id) 고유해야 한다. 중복되면 안된다. 는 뜻.
DATABASE가 여러 가지 규제정책을 가지고 있고, 그 규제정책 덕분에 데이터를 깔끔하게 우리가 원하는 형식으로 유지하는데 큰 도움을 주겠구나를 느껴보자.
만약 이러한 에러가 뜬다면,
MySQL을 설치하고 나면 기본적으로 비밀번호를 세팅해 주는데 그대로 사용하지 말라는 문구,
만약 나온다면 ERROR 1820 이 에러 메시지인데 검색해서 해결해볼 것.
'youtube.com|user|egoing2 > DATABASE2 MySQL' 카테고리의 다른 글
DB2 MySQL - 관계형데이터베이스의 필요성 (14-15.) (2) | 2021.12.30 |
---|---|
DB2 MySQL - 9. CRUD (10-13. INSERT/SELECT/UPDATE/DELETE) (0) | 2021.11.27 |
DATABASE2 MySQL - 7. SQL과 테이블의 구조 (2) | 2021.11.24 |
DATABASE2 MySQL - 6. 스키마의 사용 (1) | 2021.11.24 |
DATABASE2 MySQL - 5. 서버접속 (0) | 2021.11.24 |