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 を使用して動的に生成されるテーブルの詳細な説明

推薦する

Vue3 コンポジション API でロジックの再利用を実装する方法

Composition API はロジック再利用手順を実装します。ロジックコードを関数に抽出します。...

Vue の 4 つのカスタム命令の説明と使用例

4つの実用的なVueカスタム指示1. Vドラッグ要件: マウスドラッグ要素アイデア:要素のオフセット...

プロジェクトにaxiosをカプセル化する実際のプロセス

目次序文axiosカプセル化の利点パッケージのアイデア設定の優先順位axiosインスタンス構成1. ...

HTMLテキスト内のすべてのタグを置き換える方法

(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...

Nginxはクロスドメインの問題を解決し、サードパーティのページを埋め込む

目次序文困難クロスドメイン定義nginxの機能リバースプロキシ静的と動的の分離達成しようとする最終結...

テキストの円形スクロールアニメーションを実装するミニプログラム

この記事では、参考までに、テキストループスクロールを実現するアプレットの具体的なコードを例を挙げて紹...

Vue はボタンをクリックしてファイルをダウンロードする操作コードを実装します (バックエンド Java)

前回の記事では、ボタンをクリックしてファイルをダウンロードするVueの機能を紹介しました。今日は、ボ...

Centos7 に yum 経由で MySQL をインストールする方法

1. MySQLがインストールされているかどうかを確認する yum インストール済みリスト | gr...

Linux での MySQL 5.7.16 無料インストール バージョンのグラフィック チュートリアル

この記事では、参考までにMySQL 5.7.16の無料インストール版のチュートリアルを紹介します。具...

DockerにNginxをインストールする方法

DockerにNginxをインストールするNginx は、IMAP/POP3/SMTP サービスも提...

MySQL マルチバージョン同時実行制御メカニズム (MVCC) ソースコードの詳細な説明

目次1. はじめに2. MVCC (マルチバージョン同時実行制御メカニズム) 2.1 繰り返し読み取...

ドラッグ可能で編集可能なガントチャートの詳細な説明(HighchartsはVueとReactで使用できます)

序文Excel は強力で、広く使用されています。 Web アプリケーションの登場と改善に伴い、ユーザ...

HTML+CSSは、要素の位置までスクロールして読み込みアニメーション効果を表示します。

要素までスクロールするたびに読み込みアニメーションを追加するにはどうすればよいですか?初期パラメータ...

MySQL ストアド プロシージャの権限の問題の概要

MySQL ストアド プロシージャは、確かに、非常にまれな使用シナリオのように見えます。この問題は、...

バントリストコンポーネントをスクロールしても、スクロールバーの位置は保持されます。

バントリストコンポーネントをスクロールするときに、スクロールバーの位置が保持されます。これは、kee...