문자 집합 및 조합 순서 사용
MySQL은 다양한 문자 집합을 지원합니다. 지원되는 문자 집합의 전체 목록을 보려면 다음 문을 사용하세요.
입력:
show character set;
분석: 이 문은 각 문자 집합에 대한 설명 및 기본 데이터 정렬과 함께 사용 가능한 모든 문자 집합을 표시합니다. .
지원되는 데이터 정렬의 전체 목록을 보려면 다음 문을 사용하세요.
입력:
show collation;
분석: 이 문은 사용 가능한 모든 데이터 정렬과 해당 문자 집합을 표시합니다. 그들은 적용됩니다. 일부 문자 세트에는 둘 이상의 데이터 정렬이 있음을 알 수 있습니다. 예를 들어 latin1에는 다양한 유럽 언어에 대한 여러 데이터 정렬이 있으며 많은 데이터 정렬이 두 번 나타납니다. 한 번은 대소문자를 구분하고(1번은 _ci로 표시) 대소문자를 구분하지 않습니다.
일반적으로 시스템 관리자는 설치 중에 기본 문자 집합과 데이터 정렬을 정의합니다. 또한 데이터베이스를 생성할 때 기본 문자 집합과 데이터 정렬을 지정할 수도 있습니다. 사용된 문자 집합과 데이터 정렬을 확인하려면 다음 문을 사용할 수 있습니다.
Enter:
show variables like 'character%'; show variables like 'collation%';
사실 문자 집합이 서버 전체(또는 데이터베이스 전체) 설정인 경우는 거의 없습니다. 테이블과 열에 따라 서로 다른 문자 집합이 필요할 수 있으며, 테이블을 생성할 때 둘 다 지정할 수 있습니다.
테이블의 문자 집합과 데이터 정렬을 지정하려면 다음 절과 함께 CREATE TABLE을 사용할 수 있습니다.
입력:
create table mytable ( columnn1 int, columnn2 varchar(10) )default character set hebrew collate hebrew_general_ci;
분석: 이 문은 다음과 같은 테이블을 생성합니다. 두 개의 열, 문자 집합과 조합 순서를 지정합니다.
이 예에서는 CHARACTER SET과 COLLATE를 모두 지정합니다. 일반적으로 MySQL은 사용할 문자 집합과 데이터 정렬을 다음과 같이 결정합니다.
1. CHARACTER SET과 COLLATE를 모두 지정하면 이 값이 사용됩니다.
2. CHARACTER SET만 지정한 경우 이 문자 집합과 기본 데이터 정렬이 사용됩니다(SHOW CHARACTER SET의 결과 참조).
3. CHARACTER SET과 COLLATE를 모두 지정하지 않으면 데이터베이스 기본값이 사용됩니다.
문자 집합과 조합 테이블 범위를 지정할 수 있는 것 외에도 MySQL에서는 다음과 같이 열별로 설정할 수도 있습니다.
입력:
create table mytable ( columnn1 int, columnn2 varchar(10), columnn3 varchar(10) character set latin1 collate latin1_general_ci latin_grneral_ci )default character set hebrew collate hebrew_general_ci;
분석: 여기에서는 전체 테이블과 특정 열에 대해 CHARACTER SET 및 COLLATE가 지정됩니다.
앞서 언급했듯이 ORDER BY 절을 사용하여 검색된 데이터를 정렬하는 데 대조는 중요한 역할을 합니다. 테이블을 생성할 때와 다른 조합 순서로 특정 SELECT 문을 정렬해야 하는 경우 SELECT 문 자체에서 수행할 수 있습니다.
입력:
select * from customers order by lastname,firstname collate latin1_general_cs;
분석: 이 SELECT COLLATE를 사용하여 대체 대조 순서(이 경우 대소문자 구분 대조)를 지정합니다. 이는 결과가 정렬되는 순서에 분명히 영향을 미칩니다.
임시 대소문자 구분 위의 SELECT 문은 일반적으로 대소문자를 구분하지 않는 테이블에서 대소문자 구분 검색을 수행하는 기술을 보여줍니다. 물론 그 반대도 가능하다.
SELECT의 기타 COLLATE 절 여기에서 볼 수 있듯이 ORDER BY 절에서 사용되는 것 외에도 COLLATE는 GROUP BY, HAVING, 집계 함수, 별칭 등에 사용될 수 있습니다.
마지막으로, 꼭 필요한 경우 문자열을 문자 집합 간에 변환할 수 있다는 점은 주목할 가치가 있습니다. 이렇게 하려면 Cast() 또는 Convert() 함수를 사용합니다.
[관련 추천]
3. MySQL 트랜잭션-Retention Point 사용 및 기본 커밋 동작 변경에 대한 자세한 설명
4. MySQL 트랜잭션-ROLLBACK, COMMIT 사용법에 대한 자세한 설명
위 내용은 MySQL 문자 집합 및 정렬 순서 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!