본 게시글은 유튜브 생활코딩 온라인강의를 시청한 후 학습한 정보를 기록하는 목적의 게시글입니다.

생각의 흐름에 따라 작성된 게시글입니다. 가독성이 떨어질 수 있습니다.

생활코딩 유튜브

 

생활코딩

일반인에게 프로그래밍을 알려주는 온라인/오프라인 활동 입니다.

www.youtube.com

생활코딩 사이트

 

생활코딩

hello world 생활코딩의 세계에 오신 것을 환영합니다. 생활코딩은 일반인들에게 프로그래밍을 알려주는 무료 온라인, 오프라인 수업입니다.  어떻게 공부할 것인가를 생각해보기 전에 왜 프로그래밍을 공부하는 이유에 대한 이유를 함께 생각해보면 좋을 것 같습니다. 아래 영상을 한번 보시죠. 온라인 강의 소개 입문자의 가장 큰 고충은 '무엇을 모르는지 모르는 상태'일 겁니다. 온라인에는 프로그래밍을 익히는 데 필요한 거의 모든 정보가 있지만, 이 지식들은

opentutorials.org

생활코딩 WEP3 PHP & MySQL을 수강하기 위한 선수과목인

WEB2 - PHPDATABASE2 - MySQL에 대한 수강 기록입니다.

수강 일정은 야학의 수강계획표에 따릅니다.


#1.

Structured Query Language 

데이터베이스가 이해할 수 있는 약속으로 요청하는 구조화된 언어가 SQL이다.

SQL은 쉽고, 중요하다.

관계형 데이터베이스는 우리가 흔히 사용하는 표(테이블)와 그 구조가 매우 흡사하다.

테이블에서의 행이 SQL에서 row, 데이터 하나하나를 일컫는다.

테이블에서의 열이 SQL에서 column, 데이터의 속성을 일컫는다.

 

#2.

MySQL Documen

 

MySQL :: MySQL Documentation

 

dev.mysql.com

MySQL Cheat Sheet

 

MySQL Cheat Sheet

MySQL cheat sheet provides you with the on-page that contains the most commonly used statements that help you practice with MySQL more effectively.

www.mysqltutorial.org

MySQL Create Table

 

MySQL :: MySQL 8.0 Reference Manual :: 13.1.20 CREATE TABLE Statement

MySQL 8.0 Reference Manual  /  ...  /  SQL Statements  /  Data Definition Statements  /  CREATE TABLE Statement 13.1.20 CREATE TABLE Statement CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] [partition_opt

dev.mysql.com

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)
    [table_options]
    [partition_options]

해당 코드로 MySQL에서 데이터베이스를 생성할 수 있다.

여기서 TABLE 이전에 TEMPORARY를 추가하여 TEMPORARY TABLE을 생성할 수 있는 것을 알 수 있는데,

TEMPORARY TABLE은 휘발성이 강한 테이블이란 것 정도만 알아두고,

` CREATE TABLE "테이블 이름" ` 으로 테이블을 생성할 수 있단 것을 기억하자.

이후  create_definition, table_options, partition_options등을 설정할 수 있는데 먼저 테이블의 틀을 만드는 부분인

create_definition에 대해 살펴보자. (다른 옵션에 대한 설명이 궁금하다면 링크 클릭)

 

#2-2.

테이블의 구성을 정하기 위해서 MySQL에서 지원되는 데이터 타입에 대하여 알 필요가 있다.

그런데, 공식문서는 내용이 산재되어 있고 한 눈에 보기 너무 어려워서

이 사이트이 사이트를 많이 참조했다.

 

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

 

 

SQL - Data Types - Tutorialspoint

SQL - Data Types SQL Data Type is an attribute that specifies the type of data of any object. Each column, variable and expression has a related data type in SQL. You can use these data types while creating your tables. You can choose a data type for a tab

www.tutorialspoint.com

혹시 데이터타입에 익숙치 않다면 생활코딩 강의를 천천히 참조해보도록 하자.

참고로 이번 실습에서 완성된 코드는 아래와 같다.

( USE 명령어로 DataBase를 지정하는 것 역시 잊지 말자 )

mysql> CREATE TABLE topic(
    -> id INT(11) NULL AUTO_INCREMENT,
    -> title VARCHAR(100) NOT NULL,
    -> description TEXT NOT NULL,
    -> created DATETIME NOT NULL,
    -> author VARCHAR(30) NULL,
    -> profile VARCHAR(100) NULL,
    -> PRIMARY KEY(id));

그렇다면 아래와 같은 에러 메세지를 볼 수 있다.

ERROR 1171 (42000): All parts of a PRIMARY KEY must be NOT NULL; 

문장을 해석해보면 그대로 알 수 있지만, 이제 더이상 PRIMARY KEY에 NULL값을 부여할 수 없다.

공식문서는 이 곳, 해결방법은 스텍 오버플로우에 잘 나와있다.

 

MySQL: All parts of primary key must be NOT NULL; if you need NULL in a key, use UNIQUE instead

I have a problem with MySQL. I have created Database called 'BucketList', and then I have tried to create table called 'tbl_user', it looks like that: CREATE TABLE `BucketList`.`tbl_user` ( `use...

stackoverflow.com

mysql> CREATE TABLE topic(
    -> id INT(11) AUTO_INCREMENT,
    -> title VARCHAR(100) NOT NULL,
    -> description TEXT NOT NULL,
    -> created DATETIME NOT NULL,
    -> author VARCHAR(30) NULL,
    -> profile VARCHAR(100) NULL,
    -> PRIMARY KEY(id));

간단하다. 그냥 id에 부여했던 NULL만 없애주면 된다.

생활코딩의 영상 다음 부분에서는 1820 Error message에 대한 설명이 나오는데,

사실 영상에서 설명이 그러하듯, 에러메세지는 마주하고 나서 너무 마이너한 에러가 아닌 이상

대부분 구글링으로 손쉽게 해결할 수 있다.

즉 우리는 ID 컬럼을 PRIMARY KEY로 하는,

100자까지 받을 수 있는 titie 컬럼과, profie 컬럼, 30자 까지 받을 수 있는 author 컬럼,

'YYYY-MM-DD HH:MM:SS' 형식으로 표현되는 DATTIME으로 구성된 Table을 생성하였다.

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기