`

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的相关资料,介绍的非常详细,需要的朋友可以参考学习。

    Navicat for MySQL的使用方法

    navicat for mysql(mysql数据库管理工具)是一个强大的MySQL数据库管理和开发工具。navicat for mysql免费版...新版与任何 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数据种类等的风范

    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.v8.0.18

    Navicat for MySQL是一个强大的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 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. 选择正确的列类型

    navicat for mysql

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

    MySQL 5.1中文手冊

    11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列类型存储需求 11.6. 选择正确的列类型 11.7. 使用来自其他数据库引擎的列类型 12. 函数和操作符 12.1. 操作符 ...

    mysql创建表方法.zip

    mysql创建表 MySQL 创建表是一个基础的数据库操作,它涉及到定义表的结构,包括列名、数据类型、约束等。...• 二进制数据类型:BINARY、VARBINARY、BLOB(包括 TINYBLOB、MEDIUMBLOB、LONGBLOB)。

    MySQL 5.1官方简体中文参考手册

    11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列类型存储需求 11.6. 选择正确的列类型 11.7. 使用来自其他数据库引擎的列类型 12. 函数和操作符 12.1. 操作符 ...

    MySQL 5.1参考手册

    11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列类型存储需求 11.6. 选择正确的列类型 11.7. 使用来自其他数据库引擎的列类型 12. 函数和操作符 12.1. 操作符 ...

    mysql5.1中文手册

    BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列类型存储需求 11.6. 选择正确的列类型 11.7. 使用来自其他数据库引擎的列类型 12. 函数和操作符...

Global site tag (gtag.js) - Google Analytics