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()函数:

8495b69d54822c948f399dbaa2eb739a.png

使用HEX()函数:

c9b312f4c5670a6e97d20bb525c9cbb4.png

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

环境

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

mysql数据库版本:5.7

问题的提出

如题。

步骤

解决方法很简单,备忘。

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

b617a9ae296480a912363c19c9b72366.png

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

429d2f41f3d9aac086fe5ad2dab54369.png

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

2ca839df52a6824e3e971a11ec55021e.png

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

c62335a7fa038184fb3caca0f6761e0a.png

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值