programing

MySQL Workbench에서 Blob을 직접 표시하는 방법

randomtip 2023. 2. 4. 08:30
반응형

MySQL Workbench에서 Blob을 직접 표시하는 방법

MySQL Workbench CE 5.2.30 CE / Rev 6790을 사용하고 있습니다.다음 명령어를 실행할 경우:

SELECT OLD_PASSWORD("test")

난 좋은 것만 돌려받아요BLOB아이콘을 클릭하여 셀을 선택하고 마우스 오른쪽 버튼을 클릭하여 "뷰어에서 값 열기"를 선택한 후 "텍스트" 탭을 선택합니다.

phpMyAdmin과 같은 기능을 사용하여 직접 값을 돌려받을 수 있습니다.OLD_PASSWORD전화입니다. 이것은 단지 예에 불과하지만, 이러한 결과를 출력에서 직접 볼 수 있는 방법이 있을까요?

요컨대:

  1. [ Edit ]> [ Preferences ]으로 이동합니다.
  2. SQL Editor 선택
  3. SQL Execution에서 BINARY/VARBINAL을 nonbinary 문자열로 취급을 선택합니다.
  4. MySQL Workbench를 재시작합니다(이 요건에 대한 프롬프트나 알림은 표시되지 않습니다).

MySQL Workbench 6.0 이상에서

  1. [ Edit ]> [ Preferences ]으로 이동합니다.
  2. SQL 쿼리 선택
  3. 쿼리 결과에서 BINARY/VARBINAL을 비이진 문자열로 취급을 선택합니다.
  4. MySQL Workbench를 재시작할 필요는 없습니다(이 요구 사항에 대한 프롬프트나 알림은 표시되지 않습니다).*

이 설정을 사용하면 필드를 블럽 없이 연결할 수 있습니다.

이것은 버전 5.2.22 이후에 적용되며, 이 MySQL 버그의 결과라고 생각합니다.

면책사항:이 설정의 단점이 무엇인지 모르겠습니다.선택할 때BINARY/VARBINARY값이 너무 크면 오해의 소지가 있거나 퍼포먼스를 저해할 수 있는 플레인 텍스트로 인식됩니다.

이것이 질문에 대한 답변인지는 확실하지 않지만, (테이블을 볼 때) 필드에서 "blob" 아이콘을 마우스 오른쪽 버튼으로 클릭하면 "편집기에서 값 열기" 옵션이 있습니다.탭 중 하나를 사용하여 BLOB를 볼 수 있습니다.이것은 버전 5.2.34입니다.

다음의 3개의 순서를 실행합니다.

  1. "WorkBench Preferences" --> "Query Results" 아래의 "SQL Editor"를 선택합니다. "Treat BINARY/VARBINARY as nonbinary string"을 선택합니다.

  2. MySQL WorkBench를 재시작합니다.

  3. 이제 선택SELECT SUBSTRING(<BLOB_COLUMN_NAME>,1,2500) FROM <Table_name>;

캐스팅은 가능하지만 번거롭기 때문에 진정한 블롭 데이터를 많이 사용하지 않는 한 스피오터 방식을 사용하는 것이 좋습니다.

SELECT CAST(OLD_PASSWORD("test") AS CHAR)

다른 타입으로 캐스팅도 할 수 있고, 사이즈도 제한할 수 있지만, 대부분의 경우 CHAR를 사용하고 있습니다.http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html#function_cast

select CONVERT((column_name) USING utf8) FROM table;

나의 경우 Workbench가 작동하지 않기 때문에 위의 솔루션을 사용하여 blob 데이터를 텍스트로 표시하였습니다.

죄송하지만 워크벤치에 버그로 기재되어 있습니다.http://bugs.mysql.com/bug.php?id=50692 매우 편리합니다.

MySQL 매뉴얼에 따르면 BLOB의 서브스트링을 선택할 수 있습니다.

SELECT id, SUBSTRING(comment,1,2000) FROM t

HTH, glissi

워크벤치의 '기본 설정' 수정이 나에게 효과가 없었기 때문에 다른 몇 개의 투고를 정리했습니다.(WB 6.3)

SELECT CAST(`column` AS CHAR(10000) CHARACTER SET utf8) FROM `table`;

6.3 6.3
Scoring 「High Scoring 」를 사용합니다.UNCOMPRESS()

((요:
[편집)]> [설정(Preferences)]으로합니다. [편집(Edit)]> [설정(Preferences)]으로 이동합니다.
2.합니다. SQL 에디터 »
3.BINARY/합니다. SQL Execution에서는 BINARY/VARBINAL을 비바이너리 문자열로 취급합니다.
Workbench를이에 대한 되지 않습니다 4. MySQL Workbench를 재시작합니다(이 요구 사항에 대한 프롬프트나 알림은 표시되지 않습니다).

그리고나서

SELECT SUBSTRING(UNCOMPRESS(<COLUMN_NAME>),1,2500) FROM <Table_name>;

또는

SELECT CAST(UNCOMPRESS(<COLUMN_NAME>) AS CHAR) FROM <Table_name>;

★★★★★★★★★★★★★★★★★★★★★★★★★UNCOMPRESS(<COLUMN_NAME>)하여 " Editor를 blob은 "Open Value in Editor"를 클릭합니다.

당신이 할 수 있는 일은 거의 없다

SELECT GROUP_CONCAT(CAST(name AS CHAR))
FROM product
WHERE  id   IN (12345,12346,12347)

쿼리로 주문하시려면 아래와 같이 캐스트별로 주문하시면 됩니다.

SELECT GROUP_CONCAT(name ORDER BY name))
FROM product
WHERE id   IN (12345,12346,12347)

이 블로그에서 말하는 것처럼

http://www.kdecom.com/mysql-group-concat-blob-bug-solved/

메모: BLOB가 128비트 GUID 또는 md5 체크섬을 저장하기 위한 이진(16) 등 임의의 바이트 시퀀스일 경우 위의 답변은 특별히 유용하지 않습니다.

이 경우, 현재 에디터 프리퍼런스는 없습니다.기능 요청을 제출했지만 자세한 설명은 해당 요청을 참조하십시오.

때까지 때까지은 [기능실실 / 을솔솔솔 ]입니다.HEX내 : " " " "SELECT HEX(mybinarycolumn) FROM mytable


다른 방법으로는 MySQL Workbench 대신 phpMyAdmin을 사용하는 방법이 있습니다.기본적으로 16진수가 표시됩니다.

언급URL : https://stackoverflow.com/questions/4343945/how-can-i-directly-view-blobs-in-mysql-workbench

반응형