데이터 베이스 생성
Create schema


create schema `nodejs` default character set utf8; use nodejs
create schema [스케마 이름] : 새로운 데이터베이스 생성 (``를 붙여야함)
use [스케마 이름] : 특정 데이터베이스 사용 (``를 붙이지 않음.)
테이블 생성
Create table


create table [스키마 이름].[테이블 이름]( -> id INT NOT NULL AUTO_INCREMENT, -> name VARCHAR(20) NOT NULL, -> age INT UNSIGNED NOT NULL, -> married TINYINT NOT NULL, -> comment TEXT NULL, -> created_at DATETIME NOT NULL DEFAULT now(), -> PRIMARY KEY(id), -> UNIQUE INDEX name_UNIQUE(name ASC)) -> COMMENT = 'artsung' -> DEFAULT CHARACTER SET = utf8 -> ENGINE = InnoDB;
Options
컬럼에 대한 설정

PRIMARY KEY (PK) | 기본 키 여부를 설정하는 옵션 / 모든 자료형
NULL / NOT NULL (NN) | 빈칸을 허용할지 허용안할지 여부를 묻는 옵션 / 모든 자료형
UNIQUE INDEX (UQ) | 해당값이 고유해야하는지에 대한 옵션 / 정수형 & char형
// ex)
UNIQUE INDEX name_UNIQUE(name ASC) : 오름차순으로 정렬
UNIQUE INDEX name_UNIQUE(name AESC) : 내림차순으로 정렬
BINARY (B) | 데이터를 이진 문자열로 저장함.
UNSIGNED (UN) | 양수만 허용 / 정수형
ZEROFILL (ZF) | 숫자 자릿수가 고정되어있을때 공백에 0을 채움. / 정수형
// ex) INT(4)인데 숫자 1을 넣었다면 0001이 된다.
AUTO_INCREMENT (AI) | 숫자를 저절로 올리는 옵션 / 정수형
GENERATED ALWAYS (수식) (G) | 문자열 합치기, 삽입등 수식을 이용해서 새로운 열을 만들어냄
테이블에 대한 설정
COMMENT | 테이블에 대한 보충 설명
DEFAULT CHARACTER SET | 문자열 타입 정의 (utf8로 설정하지 않으면 한글이 입력되지 않음)
ENGINE | DB엔진을 설정해준다.
자료형
INT | 정수형
TINYINT | 부울
FLOAT / DOUBLE | 소수형
VARCHAR(자릿수) / CHAR(자릿수) | 문자열
// ex) VARCHCHAR(10) 이면 길이가 0 ~ 10인 문자열을/ CHAR(10) 이면 반드시 길이가 10인 문자열만 넣어야함.
TEXT | 긴 글
DATETIME | 날짜
명령어
DROP TABLES [테이블명] | 특정 테이블 제거
SHOW TABLES | 테이블 전부 확인

생성
INSERT INTO [테이블명] ( [컬럼1], [컬럼2], ....) VALUES ( [값1], [값2], ....) | 행 삽입
조회
SELECT * FROM [테이블명] | 데이터 조회 (모든 컬럼)
SELECT [컬럼1], [컬럼2], ... FROM [테이블명] | 데이터 조회 (특정 컬럼)
SELECT [컬럼1], [컬럼2], ... FROM [테이블명] WHERE [조건식] | 조건식에 맞는 데이터 조회
SELECT [컬럼1], [컬럼2], ... FROM [테이블명] ORDER BY [컬럼] ASC or DESC | 특정 컬럼 기준 오름 / 내림차순 정렬
SELECT [컬럼1], [컬럼2], ... FROM [테이블명] ORDER BY [컬럼] LIMIT (num) | num만큼만 조회할 때
SELECT [컬럼1], [컬럼2], ... FROM [테이블명] ORDER BY [컬럼] OFFSET (num) | num만큼 건너뛰고 조회할 때
수정
UPDATE [테이블명] SET [컬럼1] = '바꿀내용' WHERE id = (num) | id가 num인 로우를 수정
삭제
DELETE FROM [테이블명] WHERE id = 조회할 값 | id = (num) | id가 num인 로우를 삭제