`

mysql binary varbinary的运用

阅读更多

数据库设计中用到binary类型,会将sha1和permission code的值用binary类型表示(sha1 可以是char(40),但是作为索引效率不高)。

permission code是字节的每个位代表一个permission。

 

 

(e.g.: AppInfo & PermissionMap

Sha1 = 0A2976C272F81049B899B3C1EC0260A34477AD4B

permissionCode = 1330526069999549579810939684362649600

==1329227995784915872903807060280344576 | 1298074214633706907132624082305024

== (1 << 120) | (1 << 110)

 

(While, if you call our db interface to access database, you may just pass parameters as Sha1 = ‘0A2976C272F81049B899B3C1EC0260A34477AD4B’

permissionCode = 1330526069999549579810939684362649600

)

                              

Sha1 = 53ED7D718E9053086D31FCD329BA56E58236F4A2):

mysql> describe AppInfo;

+----------------+----------------+------+-----+----------------------+-------+

| Field             | Type           | Null | Key | Default              | Extra |

+----------------+----------------+------+-----+----------------------+-------+

| Sha1                                     | binary(20)      | NO   | PRI |                      |       |

| PkgName                         | varchar(1024)  | YES  |     | NULL                 |       |

 

| PermissionCode            | varbinary(256) | YES  |     | NULL                 |       |

+----------------+----------------+------+-----+----------------------+-------+

 

mysql> describe PermissionMap;

+------------+----------------+------+-----+---------+-------+

| Field      | Type           | Null | Key | Default | Extra |

+------------+----------------+------+-----+---------+-------+

| id                         | varbinary(256) | NO   | PRI | NULL    |       |

| Permission      | varchar(64)    | YES  |     | NULL    |       |

| Summary         | varchar(512)   | YES  |     | NULL    |       |

+------------+----------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

 

mysql>insert into AppInfo(Sha1,PkgName) values( 0x53ED7D718E9053086D31FCD329BA56E58236F4A2 ,"test");

Query OK, 1 row affected (0.00 sec)

 

mysql> insert into AppInfo(Sha1,PkgName,AppLabel) values( 0x0A2976C272F81049B899B3C1EC0260A34477AD4B ,'com.hotel',' 经济酒店 ');

Query OK, 1 row affected (0.00 sec);

 

mysql> update AppInfo set PermissionCode=0x1330526069999549579810939684362649600 where Sha1=0x0A2976C272F81049B899B3C1EC0260A34477AD4B;

Query OK, 1 row affected (0.01 sec)

Rows matched: 1  Changed: 1  Warnings: 0

 

mysql> select * from AppInfo where Sha1= 0x0A2976C272F81049B899B3C1EC0260A34477AD4B ;

+----------------------+-----------+------+--------------+-------------+-------------+------------+------+---------------+---------------+---------------+----------+---------------------+

| Sha1                 | PkgName   | PermissionCode      |

+----------------------+-----------+------+--------------+-------------+-------------+------------+------+---------------+---------------+---------------+----------+---------------------+

|

)v r I ▒▒▒▒▒ ` Dw K | com.hotel  | 3& ▒▒ T y    9hCbd   |

+----------------------+-----------+------+--------------+-------------+-------------+------------+------+---------------+---------------+---------------+----------+---------------------+

1 row in set (0.00 sec)

 

mysql> insert into PermissionMap(id,Permission,Summary) values( 0x1298074214633706907132624082305024 ,"WRITE_SMS","Allows an application to write SMS messages.");

Query OK, 1 row affected (0.00 sec)

 

mysql> insert into PermissionMap(id,Permission,Summary) values( 0x1329227995784915872903807060280344576 ,"RECEIVE_SMS","Allows an application to monitor incoming SMS messages, to record or perform processing on them.");

Query OK, 1 row affected (0.00 sec)

 

mysql> select * from PermissionMap where id= 0x1298074214633706907132624082305024;

+-------------------+------------+----------------------------------------------+

| id                | Permission | Summary                                      |

+-------------------+------------+----------------------------------------------+

| Bc7 q2b@ 0P$ | WRITE_SMS  | Allows an application to write SMS messages. |

+-------------------+------------+----------------------------------------------+

1 row in set (0.07 sec)

分享到:
评论

相关推荐

    MySQL中的数据类型binary和varbinary详解

    binary和varbinary与char和varchar类型有点类似,不同的是binary和varbinary存储的是二...下面这篇文章主要给大家介绍了关于MySQL中数据类型binary和varbinary的相关资料,介绍的非常详细,需要的朋友可以参考学习。

    mysql-varbinary-reproducer

    1. **VARBINARY数据类型**:`VARBINARY`在MySQL中的定义、用途以及与`BINARY`、`VARCHAR`和`CHAR`的区别。 2. **PHP与MySQL的交互**:使用PHP的MySQLi或PDO_MySQL扩展连接和操作MySQL数据库。 3. **二进制数据处理**...

    navicat112_mysql_cs_x86.exe

    navicat for mysql(mysql数据库管理工具)是一个强大的MySQL数据库管理和开发工具。navicat for mysql免费版...新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类 等的风范。

    navicat8_mysql_en

    navicat8.0.29 英文版 Navicat是一个强大的MySQL数据库管理和开发工具。Navicat为专业开发者提供了一套强大...新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类 等的风范。

    Navicat for MySQL(MySQL数据库管理工具)V10.1.7简体中文特别版软件下载

    avicat是一个强大的MySQL数据库管理和开发工具。Navicat为专业开发者提供了一套强大的足够尖端的工具,但它对于新...新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及BINARY VARBINARY/BIT数据种类等的风范

    mysql数据库管理工具

    新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及BINARY VARBINARY/BIT数据种类等的风范。 Navicat for MySQL主要功能 -表单检视(新增) -虚拟群组(新增) -自动完码(新增) -排程工作结果自动...

    Navicat_for_MySQL_10.1.7_XiaZaiBa

    Navicat是一个强大的MySQL数据库管理和开发工具。Navicat为专业开发者提供了一套强大的足够尖端的工具,但它...新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及BINARY VARBINARY/BIT数据种类等的风范。

    MySQL安装包+Navicat Lite工具

    MySQL数据库+Navicat Lite工具,操作简单,Navicat是一个强大的MySQL数据库管理和开发工具。...新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类 等的风范。

    Navicat for MySQL 数据库

    Navicat是一个强大的MySQL数据库管理和开发工具。Navicat为专业开发者提供了一套强大的足够尖端的工具,但它...新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类 等的风范。

    navicat091_mysql_cs 中文版

    Navicat是一个强大的MySQL数据库管理和开发工具。Navicat为专业开发者提供了一套强大的足够尖端的工具,但它...新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类 等的风范。

    mysql数据库管理软件navicat

    Navicat是一个强大的MySQL数据库管理和开发工具。Navicat为专业开发者提供了一套强大的足够尖端的工具,但它对于新用户仍然是...新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及BINARY VARBINARY/BIT数据

    MySQL 数据类型介绍.docx

    字符串类型包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。二进制类型包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。 数值类型是 MySQL 中最基本的数据类型。它...

    Navicat.for.MySQL.v8.0.18

    Navicat for MySQL是一个强大的MySQL数据库管理和开发工具。Navicat为专业开发者提供了一套强大的足够尖端的...新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及BINARY VARBINARY/BIT数据种类等的风范。

    MySql 5.1 参考手册.chm

    前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 ...11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列类型存储需求 11.6. 选择正确的列类型

    MySQL_4.1.0 中文参考手册.chm MySQL 4.1.0 中文参考手册

    在数据类型方面,MySQL 4.1.0增加了对新型数据类型的支援,例如BINARY和VARBINARY,用于存储二进制数据,以及 ENUM 和 SET 类型,它们允许用户在列中存储预定义的值集合。这些新类型使得数据存储更加灵活,适应不同...

    navicat for mysql

    新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及BINARY VARBINARY/BIT数据种类等的风范。 Navicat主要功能 -表单检视(新增) -虚拟群组(新增) -自动完码(新增) -排程工作结果自动传送电子邮件...

    MYSQL基础:数据类型.docx

    MySQL 支持的二进制类型包括 BINARY、VARBINARY、BLOB 和 LONGBLOB 等。 * 二进制类型:包括 BINARY 和 VARBINARY,用于存储二进制数据。BINARY 和 VARBINARY 的长度可以是固定的,也可以是可变的。 * 大型对象...

    mysql-实验一.docx

    5. 二进制类型:BINARY、VARBINARY、BLOB MySQL 的 SQL 语句 MySQL 支持多种 SQL 语句,包括: 1. SELECT 语句:用于查询数据 2. INSERT 语句:用于插入数据 3. UPDATE 语句:用于更新数据 4. DELETE 语句:用于...

    MYSQL基础入门pdf

    ### MySQL基础入门知识点详解 ... - **二进制类型**:BINARY、VARBINARY、BLOB等。 以上是对MySQL基础入门的知识点进行了较为全面的总结和解释,希望能够帮助初学者更好地理解和掌握MySQL的相关概念和技术。

Global site tag (gtag.js) - Google Analytics