Skip to content
Jang HyungSuk edited this page Feb 9, 2022 · 1 revision

mysql

img 출처-geeksforgeeks

DDL (Data Definition Language)

데이터베이스의 Schema를 정의하는 쿼리문 -> 데이터베이스 또는 테이블을 추가하고 수정하고 삭제함


CREATE

CREATE DATABASE [database_name];

CREATE TABLE [table_name] (
	[field_name] [type] [constraint],
	[field_name] [type] [constraint],
	[field_name] [type] [constraint]
);

:!! constraint

  1. NOT NULL : NULL 불가능
  2. UNIQUE : 서로 다른 값만 가능
  3. PRIMARY KEY : 기본키 NOT NULL && UNIQUE 조건을 만족
  4. FOREIGN KEY : 외래키 (다른 테이블 의존)
  5. DEFAULT : 해당 필드의 기본값

DROP

DROP DATABASE [database_name];

DROP TABLE [table_name];


ALTER

ALTER DATABASE [database_name] CHARACTER SET=[문자형식];

:!! CHARACTER SET 에서 자주 사용되는 문자형식

  1. utf8
  2. euchr

ALTER DATABASE [database_name] COLLATE=[문자형식];

:!! COLLATE 에서 자주 사용되는 문자형식

  1. utf8_bin
  2. utf8_general_ci (대소문자 구분 x)
  3. euchr_bin
  4. euckr_korean_ci (대소문자 구분 x)

ALTER TABLE [table_name] ADD [field_name] [field_type];

ALTER TABLE [table_name] DROP [field_name];

ALTER TABLE [table_name] MODIFY COLUMN [field_name] [field_type];


TRUNCATE

TRUNCATE TABLE [table_name];

테이블 초기화

DELETE문과 비교해서

  • 트랜잭션 로그 공간을 조금 사용
  • 적은 수의 잠금이 사용
  • 빈 페이지는 예외없이 테이블에 남음
  • 롤백 가능

DQL (Data Query Language)

SELECT

SELECT [field_name] FROM [table_name] (WHERE 조건)


DML (Data Manipulation Language)

INSERT

INSERT INTO [table_name] ([field_name], [field_name], ...) VALUES (data1, data2 ...);


UPDATE

UPDATE [table_name] SET [field_name]=data1, [field_name]=data2, ... WHERE [조건];


DELETE

DELETE FROM [table_name] WHERE [조건] //ex) [field_name]=data

참고자료