MySQL 기본 문법, 데이터 타입

lin·2022년 11월 15일
0

포스팅으로 한번 정리해두면 좋을 거 같아서 정리!

📙 기본 문법

🗒️ CREATE

CREATE DATABASE 데이터베이스이름
CREATE TABLE 테이블이름
(
	필드이름1 타입,
    필드이름2 타입,
    ...
)
  • TABLE 제약 조건
  1. NOT NULL : NULL 값 저장안됨
  2. UNIQUE : 중복값 허용안됨
  3. PRIMARY KEY : NOT NULL & UNIQUE
  4. FOREIGN KEY : 다른 테이블의 컬럼을 참조
  5. DEFAULT : 해당 필드의 기본 값 설정
    +AUTO_INCREMENT 1부터 시작해서 1씩 증가된 값을 저장

🗒️ ALTER

DATABASE의 전체적인 특성 수정 - 문자 집합, 콜레이션
TABLE의 필드 추가, 삭제. 타입 변경

ALTER DATABASE 데이터베이스이름 CHARACTER SET = 문자집합이름
ALTER DATABASE 데이터베이스이름 COLLATE = 콜레이션이름

ALTER TABLE 테이블이름 ADD 필드이름 필드타입
ALTER TABLE 테이블이름 DROP 필드이름
ALTER TABLE 테이블이름 MODIFY COLUMN 필드이름 필드타입

🗒️ DROP

DROP DATABASE 데이터베이스이름
DROP TABLE 테이블이름

# 삭제 쿼리문 날리기전에 존재 유무 검사
DROP TABLE IF EXISTS 테이블이름

# 테이블은 남기고 데이터 전체 삭제
TRUNCATE TABLE 테이블이름

🗒️ INSERT

INSERT INTO 테이블이름(필드이름1, 필드이름2, ...)
VALUES(데이터값1, 데이터값2, ...)

필드 이름을 생략할 수 있는데, 이 경우 스키마와 같은 순서대로 필드의 값이 자동 대입된다.

🗒️ UPDATE

UPDATE 테이블이름
SET 필드이름1 = 데이터값1, 필드이름2 = 데이터값2, ...
WHERE 필드이름 = 데이터값

🗒️ DELETE

DELETE FROM 테이블이름
WHERE 필드이름 = 데이터값

📙 데이터 타입

🗒️ 숫자 타입

  1. 정수타입
타입저장 공간최소값최대값
Signed / UnsignedSigned/ Unsigned
TINYINT1바이트-128 / 0127 / 255
SMALLINT2바이트-32768 / 032767 / 65535
MEDIUMINT3바이트-8388608 / 08388607 / 16777215
INT4바이트-2147483648 / 02147483647 / 4294967295
BIGINT8바이트-9223372036854775808 / 09223372036854775807/ 18446744073709551615
  1. 고정 소수점 타입
    DECIMAL(M,D)

M은 소수 부분을 포함한 실수의 총 자릿수를 나타내며, 최댓값은 65이다.
D는 소수 부분의 자릿수를 나타내며, D가 0이면 소수 부분을 가지지 않는다.

  1. 부동 소수점 타입
    FLOAT(P)

P로 정밀도에 필요한 최소한의 비트 수를 명시

🗒️ 문자 타입

  1. CHAR와 VARCHAR
    CHAR는 고정 길이의 문자열
    VARCHAR은 가변 길이의 문자열
    VARCHAR(M) : M은 저장할 문자열의 최대 길이 / 한글은 2

  2. BINARY와 VARBINARY
    char, varchar과 거의 비슷
    다만 binary 데이터를 저장할 때 사용

  3. BLOB과 TEXT
    BLOB은 Binary Large Object를 의미하며, 다양한 크기의 바이너리 데이터를 저장할 수 있는 타입이다.
    TEXT는 varchar과 비슷하지만 기본값을 가질 수 없다. 그리고 BLOB과 달리 대소문자를 구별한다.
    저장할 수 있는 데이터의 최대 크기에 따라 TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT로 구분된다.

  4. ENUM
    ENUM('데이터값1','데이터값2',...)

  5. SET
    미리 정의한 집합 안의 요소 중 여러 개를 동시에 저장할 수 있는 타입
    SET('데이터값1', '데이터값2', ...)

🗒️ 날짜, 시간 타입

  1. DATE
    기본 형식 'YYYY-MM-DD' , 범위 : '1000-01-01~9999-12-31'
  2. DATETIME
    기본 형식 'YYYY-MM-DD HH:MM:SS'
  3. TIMESTAMP
    TIMESTAMP는 날짜와 시간을 나타내는 타임스탬프를 저장할 수 있는 타입이다.
    TIMESTAMP 타입의 필드는 사용자가 별다른 입력을 주지 않으면, 데이터가 마지막으로 입력되거나 변경된 시간이 저장된다.
profile
BE

0개의 댓글