[sql] 이진 데이터 타입 (binary, varbinary)

이진 데이터 타입은 데이터베이스에서 이진 형태로 데이터를 저장하고 처리하는 데 사용됩니다. 이진 데이터 타입은 일반적으로 이미지, 동영상, 오디오 파일과 같은 바이너리 데이터를 저장하는 데 사용됩니다. 이진 데이터 타입에는 BINARY와 VARBINARY 두 가지가 있습니다.

BINARY

BINARY은 정확히 지정된 길이의 이진 데이터를 저장하는 데 사용됩니다. 이 데이터 타입은 공간 효율적인 방식으로 데이터를 저장하고 처리할 수 있습니다. BINARY(n) 형식에서 n은 저장하려는 바이트 수를 나타냅니다.

예를 들어, BINARY(10)은 10바이트의 고정 길이 이진 데이터를 저장하는 데 사용됩니다. 이진 데이터의 길이가 10바이트보다 작을 경우, 저장 시 나머지 공간은 0으로 채워집니다. 이진 데이터의 길이가 10바이트를 초과하는 경우, 데이터는 잘릴 수 있습니다.

VARBINARY

VARBINARY는 가변 길이의 이진 데이터를 저장하는 데 사용됩니다. 이진 데이터의 실제 길이에 따라 저장되는 공간이 동적으로 조정됩니다. VARBINARY(n) 형식에서 n은 최대 저장 가능한 바이트 수를 나타냅니다.

예를 들어, VARBINARY(100)은 최대 100바이트의 가변 길이 이진 데이터를 저장하는 데 사용됩니다. 이진 데이터의 길이에 따라 저장되는 공간이 조정되므로, 실제로 저장되는 데이터의 크기에 효율적으로 대응할 수 있습니다.

사용 예시

CREATE TABLE binary_data (
    id INT PRIMARY KEY,
    image BINARY(100),
    file VARBINARY(100)
);

위의 예시에서는 “binary_data”라는 테이블을 생성하고, “image”라는 BINARY 타입의 컬럼과 “file”이라는 VARBINARY 타입의 컬럼을 사용합니다. 이 컬럼들은 각각 최대 100바이트의 이진 데이터를 저장하도록 지정되어 있습니다.

결론

이진 데이터 타입은 다양한 바이너리 데이터를 효율적으로 저장하고 처리하는 데 사용됩니다. BINARY와 VARBINARY는 고정 길이와 가변 길이의 이진 데이터를 저장하는 데 사용되며, 데이터의 크기에 맞게 공간을 효율적으로 사용할 수 있습니다.