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

使用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类型使用操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持免费资源网。
您可能感兴趣的文章
- 12-20使用DataGrip连接Hive的详细步骤
- 12-20debian10 mariadb安装过程详解
- 12-20MySQL索引失效的几种情况详析
- 12-20详解mysql持久化统计信息
- 12-20Robo可视化mongoDb实现操作解析
- 12-20MySQL 字段 LIKE 多个值
- 12-20Redis fork进程分配不到内存解决方案
- 12-20mysql插入前判断数据是否存在的操作
- 12-20基于navicat连接登录windows10本地wsl数据库
- 12-20Linux安装MariaDB数据库的实例详解


阅读排行
推荐教程
- 12-07mysql存储过程太慢怎么办
- 12-06redis通信协议(protocol)
- 12-05mysql的事务,隔离级别和锁用法实例分析
- 12-04MySQL一次性创建表格存储过程实战
- 12-03深入理解Redis内存淘汰策略
- 12-20PhpMyAdmin出现错误数据无法导出怎么办?
- 12-19Redis中实现查找某个值的范围
- 12-15浅析mysql迁移到clickhouse的5种方法
- 12-15CentOS7 64位下MySQL5.7安装与配置教程
- 12-14Mysql大型SQL文件快速恢复方案分享





