가끔 테스트를 하다보면 DB에서 binary 데이터를 직접 컨트롤 해야 할 때가 있다.
이때 다른 언어나 프로그램을 통하지 않고 DB에서 직접 query를 통해서 입력하여 테스트하면 편한 경우가 있어서 DBMS별로 입력방법에 대해서 정리해본다.
보통 binary필드에 일반적인 string을 입력하면 오류가 발생하므로 변환하는 함수등을 이용한다.
1. Oracle(blob)
utl_raw.cast_to_raw('내용')
ex. update table set column = utl_raw.cast_to_raw('test');
2. MSSQL(image)
convert(varbinary, '내용')
ex. update table set column = convert(viarbinary, 'test');
3. MYSQL(blob)
mysql의 경우에는 string으로 그냥 입력해도 내부적으로 자동으로 변환하여 처리된다.
혹은 명시적으로 변환하여 입력도 가능하다.
convert('내용' using binary)
ex. update table set column = convert('test' using binary)
또는 파일을 binary로 변환하여 insert해야 하는 경우 아래와 같은 방법으로 진행하면 된다.
load_file('파일경로')
ex. update table set column = load_file('var/lib/mysql-files/blob.txt');
load_file() 함수를 사용하기 위해서는 secure_file_priv에 파일경로가 추가되어 있어야 하고 접근 권한이 있어야 한다.
- 리눅스 : /etc/my.cnf or /etc/mysql/my.cnf
- 윈도우 : C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
'알아두면 좋은 IT 지식 > DBMS' 카테고리의 다른 글
[IT] DBMS TOP3 현재 시간 함수 예제 (0) | 2022.08.22 |
---|---|
[IT] 헷갈리기 쉬운 DBMS DML, DDL 예제 모음 (0) | 2022.08.22 |
오라클 listener, tnsnames 설정 및 접속 (0) | 2020.09.07 |
오라클 SQL Developer 다운로드 및 설치 (0) | 2020.09.07 |
오라클 XE 18c Express (무료버전) 다운로드 및 설치 (0) | 2020.09.07 |