MySQL でのバイナリ型操作

MySQL でのバイナリ型操作

この記事は主にMySQLデータベースのバイナリ型操作を紹介し、具体的な内容を通して紹介します。MySQLデータベースの学習に役立つことを願っています。

サンプルデータテーブル:

テーブルtest_binを作成します(
  bin_id バイナリ(16) NULLではない
) エンジン=InnoDB; 
 

データを挿入します (内容は 32 ビットの UUID 文字列値です):

test_bin(bin_id) に値(UNHEX('FA34E10293CB42848573A4E39937F479'))を挿入します。

test_bin(bin_id) に VALUES(UNHEX(?)) を挿入します。

または

test_bin(bin_id) に値(x'FA34E10293CB42848573A4E39937F479')を挿入します。

クエリデータ:

HEX(bin_id) を bin_id として test_bin から選択します。
 
HEX(bin_id) を bin_id として選択し、test_bin から bin_id を取得します。WHERE bin_id = UNHEX('FA34E10293CB42848573A4E39937F479');
HEX(bin_id) を bin_id として選択し、test_bin から bin_id を取得します。WHERE bin_id = UNHEX(?);
 
HEX(bin_id) を bin_id として選択し、test_bin から bin_id を取得します。ここで、bin_id = x'FA34E10293CB42848573A4E39937F479' です。

クエリ結果:

ビンID

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

FA34E10293CB42848573A4E39937F479

注: MySQL 組み込みの UUID() を使用して、BINARY(16) 型の UUID 値を返す関数を作成します。

CREATE FUNCTION uu_id() は binary(16) を返します。 RETURN UNHEX(REPLACE(UUID(),'-',''));

または

CREATE FUNCTION uu_id() は binary(16) を返します。 RETURN UNHEX(REVERSE(REPLACE(UUID(),'-','')));

使用:

test_bin(bin_id) に VALUES(uu_id()) を挿入します。

例1:

接続 conn = null;
 ステートメント stat = null;
 結果セット rs = null;
 試す {
  接続 = JDBCUtils.getConnection(マップ);
  文字列 sql = "jyyt から HEX(RECID) AS recid、STDNAME AS stdname、HEX(RESID) AS resid を選択";
  stat = conn.createStatement();
  rs = stat.executeQuery(sql);
  (rs.next()) の間 {
  文字列 recid = rs.getString("recid");
  文字列 staname = rs.getString("stdname");
  文字列 resid = rs.getString("resid");
  System.out.println(recid + "---" + staname + "---" + resid);
  }
 } キャッチ (SQLException e) {
  e.printStackTrace();
 ついに
  JDBCUtils.closeConnection(conn, stat, rs);
 }

例2:

選択
 y.UNITID AS ユニットID、
 y.UNITNAME AS ユニット名、
 y.WARNINGTYPE 警告タイプとして 
から
 GXJT_YJ AS y
 md_org を m として LEFT JOIN し、 m.RECID = y.UNITID にします。
 PMS_COMPANY_INFO を p として m.RECID = p.UNITID に左結合します。 
どこ
 HEX(m.parents) は '%66F7B47C80000101D5E8ABF15CD9DA73%' のように 
y.WARNINGTYPE = 'REGISTRATION_DIFFERENT' の場合

HEX() 関数は使用されません:

HEX() 関数を使用します。

補足知識: [MySQL] Navicat を使用して MySQL データベース内の varbinary 変数の内容を表示するにはどうすればいいですか?

環境

Navicat ソフトウェア バージョン: Navicat プレミアム 11.1.13 (64 ビット)

MySQL データベース バージョン: 5.7

問題

タイトル通りです。

ステップ

解決策は簡単です、メモ。

1. データベース テーブルの設計は次のとおりです。テーブル内の photo 変数の型は varbinary です。

2. Navicat ソフトウェアでは、以下のように文字化けした文字が表示されます。

3. 「名前を付けてデータを保存」を右クリックし、1.txt として保存します。ファイル名は任意です。

4. UEで開くと、以下のように表示されます。

MySQL でのバイナリ型の使用に関する上記の記事は、編集者が皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MYSQL設定パラメータの最適化の詳細な説明
  • MySqlデータベースをバックアップするいくつかの方法
  • MySQLクエリステートメントの最適化スキル

<<:  Dockerコンテナ監視の原理とcAdvisorのインストールおよび使用方法

>>:  JavaScript を使用して動的に生成されるテーブルの詳細な説明

推薦する

IframeとFRAMEの違いの分析

1. Iframe タグの使用<br />Iframe については、「忘れられた隅」に放...

Linux で Nginx 1.16.0 をインストールするための詳細なチュートリアル

最近 Linux をいじっていたので、nginx の新しいバージョンをインストールしたいと思いました...

JavaScript の onblur および onfocus イベントの詳細な説明

HTML ページでは、ボタンやテキスト ボックスなどの視覚要素にフォーカスを設定したり、フォーカスを...

初心者向けウェブサイト構築チュートリアルの概要

これら 6 つの記事を書いた後、私は少し混乱し始めました。次にどこに書けばいいのか分かりません。ドメ...

CSSでフォントアイコンを使用する方法をお教えします

まず、フォントアイコンとは何でしょうか?表面的にはアイコンですが、実際はテキストです。テキストの設定...

一般的な XHTML タグの使用方法の紹介

XHTML には多くのタグがありますが、頻繁に使用されるのはごくわずかであり、習得する必要があるのは...

mysqlはコンマに基づいてデータ行を複数の行に分割します

目次分離効果コマンドラインの説明関与する機能分離効果-- 別居前1,2,3,4 -- 別居後1 2 ...

docker を使用して hbase をデプロイする方法

スタンドアロンの hbase について、まずは説明しましょう。 Dockerをインストールするまず ...

Docker デプロイメント Springboot プロジェクト例の分析

この記事は主に、docker デプロイメント springboot プロジェクトのサンプル分析を紹介...

PIP で docker-compose をインストールする際のタイムアウト問題の解決方法

1: インストールコマンドpip install docker-compose例外情報socket....

Vueのフィルターについて知っておくべきこと

目次序文フィルターとは何かフィルターの使い方グローバルフィルターローカルフィルターフィルターは直列に...

WeChatアプレットはシンプルなチャットルームを実装します

この記事では、WeChatアプレットの具体的なコードを共有し、簡単なチャットルームを実装します。具体...

WindowsでcmdからDOSウィンドウに入り、MySQLデータベースにアクセスします。

1. win + R を押して cmd と入力し、DOS ウィンドウに入ります。 2. MySQL...

CSSスタイルで実現されるHTML背景色のグラデーション効果

エフェクトのスクリーンショット:実装コード:コードをコピーコードは次のとおりです。 <!DOC...

Vueスロットの詳細な説明

1. 機能: 親コンポーネントが子コンポーネントの指定された位置に HTML 構造を挿入できるように...