MySQL中的binary类型使用操作的示例

2022-11-12 09:13:54
内容摘要
这篇文章主要为大家详细介绍了MySQL中的binary类型使用操作的示例,具有一定的参考价值,可以用来参考一下。 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 本文主要向大
文章正文

这篇文章主要为大家详细介绍了MySQL中的binary类型使用操作的示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随数据库教程的小编来看看吧!

本文主要向大家介绍了MySQL数据库之MySQL的binary类型操作,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

示例数据表:

代码如下:


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

MySQL中的binary类型使用操作

插入数据(内容是一个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‘;

MySQL中的binary类型使用操作

查询结果:

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);
 }

MySQL中的binary类型使用操作

范例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'

MySQL中的binary类型使用操作

未使用HEX()函数:

使用HEX()函数:

补充知识:

【MySQL】如何使用Navicat查看mysql数据库中varbinary变量内容?

环境

Navicat软件版本:Navicat premium 11.1.13(64-bit)

mysql数据库版本:5.7

问题的提出

如题。

步骤

解决方法很简单,备忘。

1、数据库表的设计如下,表中photo变量类型为varbinary。

2、Navicat软件显示为乱码,如下。

3、右键“保存数据为”,保存为1.txt。文件名随便起。

4、用UE打开,显示如下。

以上这篇MySQL中的binary类型使用操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持512笔记。

注:关于MySQL中的binary类型使用操作的示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!