-
생활코딩( Database2 MySQL ) (4) - SQL과 테이블 구조 & 테이블 생성Backend/MYSQL 2021. 5. 30. 22:08
■ SQL
데이터베이스와 interaction 하기 위한 컴퓨터 언어
관계형 database 제어하기 위한 언어 ( 표준화까지 되어있는 언어 )
■ table의 형태
Column & Row
■ table 생성 SQL
- 생성하고자 하는 table
1) sql 스크립트 사용
CREATE TABLE topic( id INT(11) 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) ); mysql> source <path to .sql file>
※Mysql 8.0 이상에서 일어나는 현상인지는 모르겠으나
mysql> source <path to .sql file> 로 실행시, path의 dir의 sub는 \문자 아닌, /를 사용해야 함
mysql> source c:/Users/82102/Desktop/CODE_LINK/MAIN_LEARNING/MySQL/Life_coding/Learning-MySQL/table_creation/script.sql;
2) mysql cmd line에서 명령어 입력
한줄씩 엔터로 입력하는 방법
■ MySQL table 변수
각 column에 들어갈 수 있는 데이터 타입을 제한하여
이용자들이 입력하는 데이터의 형식을 제한할 수 있도록 하는 것
> 데이터 타입 정리 참조 : https://blog.martinwork.co.kr/mysql/2020/01/17/mysql-data-type.html
1) id : 주민번호 같은, CRUD의 기본이 되는 조회를 담당
└-> 유일식별자가 있어야 삭제 / 삽입 전에 조회를 하여 table에서 작업이 가능하므로..!
11은 11길이의 record까지만 저장하겠다는 의미
NOT NULL - empty field가 되면 안되는 것을 의미, NULL은 반대
AUTO_INCREMENT - 자동 field값 증가하여 table에 저장, 중복되지 않는 식별자
2) title : 제목
VARCHAR(size) - size까지만 잘라서 저장, 이 예시는 100글자
255까지의 문자까지만 허용
3) description : 본문 역할
TEXT - 6만 5천 길이까지 수용
LONGTEXT - 4Gb 까지 수용
4) created : 생성된 시간
DATETIME - 생성 날짜 + 시간
DATE - 생성 날짜까지만 저장
5) author : 생성자
VARCHAR(30) - 255글자, 30까지 제한
6) profile ...
7) primary key : 중요컬럼 중복 방지 + 성능 향상(indexing) 인듯
참조 :
https://opentutorials.org/course/3161/19536
https://opentutorials.org/course/3161/19537
반응형'Backend > MYSQL' 카테고리의 다른 글
생활코딩( Database2 MySQL ) (6) - CRUD of Select (0) 2021.06.02 생활코딩( Database2 MySQL ) (5) - CRUD of Insert (0) 2021.05.31 생활코딩( Database2 MySQL ) (3) - MySQL 서버와 접속 / Schema 생성과 사용 (0) 2021.05.30 생활코딩( Database2 MySQL ) (2) - MySQL 기본 구조 (0) 2021.05.27 생활코딩( Database2 MySQL ) (1) - MySQL 기본 & 셋업 (0) 2021.05.27