상세 컨텐츠

본문 제목

[MySql] 기본 문법

Database/RDBMS

by 라퓌르 2023. 1. 1. 15:04

본문

MySQL

MySql 기본 문법

DDL(Data Define Language)
CREATE / ALTER / DROP
1) 데이터 베이스 생성 구문
> CREATE DATABASE [database name] CHARACTER SET [character set];
> CREATE DATABASE mysql_test CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
2) 테이블 작성/변경/삭제

Syntax
CREATE TABLE [table] (column1, column2 …)
ALTER TABLE [table] ADD [column][datatype]
DROP TABLE [table];

DML(Data Manipulation Language) : 데이터를 조작하는 명령
INSERT / DELETE / UPDATE

Syntax
INSERT INTO [table] VALUES (value1, value2, value3…)
SELECT * FROM [table];
DELETE FROM [table] WHERE [condition]
UPDATE [table] SET [column]=[value] WHERE [condition]


utf8mb4

Emoji같은 글자들은 utf-8 인코딩 되는 경우 글자당 4bytes까지 필요하다. 하지만 기존 MySQL의 utf-8 필드의 경우 글자당 최대 3bytes 까지만 지원하는 한계점이 있다. 때문에 MySQL database에서 utf8mb4 설정을 해두지 않으면 해당 글자들이 포함 된 텍스트가 입력되었을 때 제대로 저장을 하지 못하고 문자가 깨져버리는 사태가 발생한다. 따라서 utf8mb4를 쓰도록 하자.

collation

database에서 문자열을 정렬할 때 어떤 문자들이 먼저 올지를 결정하는 기준을 말한다.collation의 경우 utf8mb4_general_ci 가 기본값이다. 이 설정을 사용할 경우 정렬 속도가 utf8mb4_unicode_ci 설정에 비해 약간 빠르다고는 하지만 미미한 수준이라고 하며 한글이나 일본어같은 비라틴계 언어들에 대해서 조금 어색한 정렬 순서가 존재한다고 한다. 따라서 utf8mb4_unicode_ci를 사용하는것이 더 좋고, 이를 위해서 추가 설정을 해주어야 한다.

변경된 설정 확인하기

SHOW GLOBAL VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name

'Database > RDBMS' 카테고리의 다른 글

[MySql] Workbench Backup & Restore  (0) 2023.01.01
[MySql] Workbench vs DataGrip - part 2  (0) 2023.01.01
[MySql] Workbench vs DataGrip - part 1  (0) 2023.01.01
[MySQL] User Account CRUD  (0) 2023.01.01
[Mac OS] MySQL Install & Setting  (0) 2022.12.31

관련글 더보기