반응형
general_ci vs unicode_ci 차이는?
Collate 이라고 나오는 general_ci, unicode_ci 는 무엇일까?
Collate는 정렬방법 이라고 할 수 있다.
간단한,예제를 실행해보면 알것이다.
예제 스크립에서 특수문자는 한글 자음을 치고 한자 키를 눌러서 입력 가능 하다.
CREATE TABLE `Study_db`.`utf8_general_ci`(
`id` INT NOT NULL AUTO_INCREMENT,
`test` VARCHAR(10) NOT NULL,
PRIMARY KEY (`id`)
) CHARSET=utf8 COLLATE=utf8_general_ci;
INSERT INTO utf8_general_ci(test) VALUES('1'),('2'),('@'),('가'),('®'),('ㄲ'),('β'),('㉮'),('α') ,('⒂'),('나'),('a'),('B'),('b'),('A'),('ㅋ'),('ㅏ'),('+'),('*'),('가'),('µ'),('|');
SELECT id, test FROM utf8_general_ci ;
SELECT test FROM utf8_general_ci ORDER BY test;
CREATE TABLE `Study_db`.`utf8_unicode_ci`(
`id` INT NOT NULL AUTO_INCREMENT,
`test` VARCHAR(10) NOT NULL,
PRIMARY KEY (`id`)
) CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO utf8_unicode_ci(test) VALUES('1'),('2'),('@'),('가'),('®'),('ㄲ'),('β'),('㉮'),('α') ,('⒂'),('나'),('a'),('B'),('b'),('A'),('ㅋ'),('ㅏ'),('+'),('*'),('가'),('µ'),('|');
SELECT id, test FROM utf8_unicode_ci;
SELECT test FROM utf8_unicode_ci ORDER BY test ;
general_ci, unicode_ci의 비교를 위해서 아래 Query를 실행해보자.
collate 세팅에 따라서 sorting되는 차이를 볼 수 있다.
SELECT a.t1 as order_no, a.testA AS general_sort, b.testB AS unicode_sort
FROM
(
SELECT @rownum1 := @rownum1+1 AS t1, test AS testA
FROM utf8_general_ci, (SELECT @rownum1 := 0) tmp ORDER BY test
) a,
(
SELECT @rownum := @rownum+1 AS t2, test AS testB
FROM utf8_unicode_ci, (SELECT @rownum := 0) tmp ORDER BY test
) b
WHERE a.t1 = b.t2;
order_no general_sort unicode_sort
-------- ------------ --------------
1 * ⒂
2 + ®
3 1 @
4 2 *
5 @ +
6 A |
7 a 1
8 B 2
9 b a
10 | A
11 ® B
12 α b
13 β α
14 µ β
15 ⒂ µ
16 ㄲ ㉮
17 ㅋ ㄲ
18 ㅏ ㅋ
19 ㉮ ㅏ
20 가 가
21 가 가
22 나 나
반응형
'IT 관련 > Database' 카테고리의 다른 글
데이터 베이스 이 정도는 알고 사용하자... #1 (0) | 2022.03.02 |
---|---|
널값과 빈 문자열의 차이 (null values vs empty string ) (0) | 2021.06.11 |
PHP+PDO 쿼리 결과 문자열(String)을 컬럼 타입에 맞게 반환 (0) | 2019.12.04 |
[MySQL] 테이블 스키마 엑셀로 만들기 (0) | 2019.11.26 |
[MySQL] utf8 vs utf8mb4 차이는? (3) | 2017.12.31 |
MariaDB Galera Cluster- lock문제 (4) | 2017.12.30 |
MariaDB Galera Cluster - 복구/운영 (1) | 2017.12.30 |
MariaDB Galera Cluster-설치/셋팅 (1) | 2017.12.30 |
댓글