1. 程式人生 > 資料庫 >MySQL中的binary型別使用操作

MySQL中的binary型別使用操作

本文主要向大家介紹了MySQL資料庫之MySQL的binary型別操作,通過具體的內容向大家展現,希望對大家學習MySQL資料庫有所幫助。

示例資料表:

CREATE TABLE test_bin (
  bin_id BINARY(16) NOT NULL
) Engine=InnoDB; 
 

插入資料(內容是一個32位的UUID字串值):

INSERT INTO test_bin(bin_id) VALUES(UNHEX(‘FA34E10293CB42848573A4E39937F479‘));

INSERT INTO test_bin(bin_id) VALUES(UNHEX(?));

INSERT INTO test_bin(bin_id) VALUES(x‘FA34E10293CB42848573A4E39937F479‘);

查詢資料:

SELECT HEX(bin_id) AS bin_id FROM test_bin;
 
SELECT HEX(bin_id) AS bin_id FROM test_bin WHERE bin_id = UNHEX(‘FA34E10293CB42848573A4E39937F479‘);
SELECT HEX(bin_id) AS bin_id FROM test_bin WHERE bin_id = UNHEX(?);
 
SELECT HEX(bin_id) AS bin_id FROM test_bin WHERE bin_id = x‘FA34E10293CB42848573A4E39937F479‘;

查詢結果:

bin_id

--------------------------

FA34E10293CB42848573A4E39937F479

備註:使用MySQL內建的 UUID() 建立一個函式返回 BINARY(16)型別的UUID值

CREATE FUNCTION uu_id() RETURNS binary(16) RETURN UNHEX(REPLACE(UUID(),‘-‘,‘‘));

CREATE FUNCTION uu_id() RETURNS binary(16) RETURN UNHEX(REVERSE(REPLACE(UUID(),‘‘)));

使用:

INSERT INTO test_bin(bin_id) VALUES(uu_id());

範例1:

Connection conn = null;
 Statement stat = null;
 ResultSet rs = null;
 try {
  conn = JDBCUtils.getConnection(map);
  String sql = "select HEX(RECID) AS recid,STDNAME AS stdname,HEX(RESID) AS resid from jyyt";
  stat = conn.createStatement();
  rs = stat.executeQuery(sql);
  while (rs.next()) {
  String recid = rs.getString("recid");
  String staname = rs.getString("stdname");
  String resid = rs.getString("resid");
  System.out.println(recid + "---" + staname + "---" + resid);
  }
 } catch (SQLException e) {
  e.printStackTrace();
 } finally {
  JDBCUtils.closeConnection(conn,stat,rs);
 }

範例2:

SELECT
 y.UNITID AS unitid,y.UNITNAME AS unitName,y.WARNINGTYPE AS warningType 
FROM
 GXJT_YJ AS y
 LEFT JOIN md_org AS m ON m.RECID = y.UNITID
 LEFT JOIN PMS_COMPANY_INFO AS p ON m.RECID = p.UNITID 
WHERE
 HEX(m.parents) LIKE '%66F7B47C80000101D5E8ABF15CD9DA73%' 
AND y.WARNINGTYPE = 'REGISTRATION_DIFFERENT'

未使用HEX()函式:

MySQL中的binary型別使用操作

使用HEX()函式:

MySQL中的binary型別使用操作

補充知識:【MySQL】如何使用Navicat檢視mysql資料庫中varbinary變數內容?

環境

Navicat軟體版本:Navicat premium 11.1.13(64-bit)

mysql資料庫版本:5.7

問題的提出

如題。

步驟

解決方法很簡單,備忘。

1、資料庫表的設計如下,表中photo變數型別為varbinary。

MySQL中的binary型別使用操作

2、Navicat軟體顯示為亂碼,如下。

MySQL中的binary型別使用操作

3、右鍵“儲存資料為”,儲存為1.txt。檔名隨便起。

MySQL中的binary型別使用操作

4、用UE開啟,顯示如下。

MySQL中的binary型別使用操作

以上這篇MySQL中的binary型別使用操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。