MySQL中存储16进制数据的方法(mysql存16进制)
MySQL的BINARY(n)和VARBINARY(n)类型是用于存储固定或可变长度的二进制数据的,其中n是指BINARY类型要求的数据长度,VARBINARY类型的长度最多为255个字节,允许的最大值是“255,对于大多数用途,使用VARBINARY这种可变长度的类型是更合适的,而不用让字段字段太大。
在MySQL中,存储16进制字符串是非常容易的,如果你正在处理byte数组,你可以直接使用BINARY或VARBINARY来存储,只要你能确保转换成byte array,你就可以把它们存储在VARBINARY类型的字段里。下面的代码样例示范了怎么向VARBINARY类型的字段里存储一个byte array.
// create a connection to MySQL
$conn = mysqli_connect(‘localhost’,’root’,”,’db’);
// create a query string
$sql = “INSERT INTO tbl_name (byte_arr) VALUES (?)”;
// prep a statement
$stmt = mysqli_prepare($conn, $sql);
// define a byte array
$byteArr = array(1,2,3,4,5,6,7,8,9);
// bind the parameters
$parameters = ‘s’; // this means the parameter type is string
mysqli_stmt_bind_param($stmt, $parameters, $byteArr);
// execute the statement
mysqli_stmt_execute($stmt);
// 执行这段代码后,byteArray 就会被储存到VARBYTE 字段里,可以使用 HEX(byte_arr) 来显示它的16进制字符串,该函数返回储存在BINARY字段里的值,并以每个字节上的十六进制表示,用两个十六进制数字表示,唯一例外的是空字符串,它会被表示为NULL 。
另外,一些SQL管理软件,比如phpMyAdmin,MySQL Workbench等,都提供了一个可视化界面,因此可以很方便地在里面存储BINARY和VARBINARY 类型的值,以及查看其16进制形式的结果。
综上所述,MySQL提供了一种非常方便的方式来存储16进制字符串,使用BINARY和VARBINARY类型的字段来存储呢,然后使用HEX函数来查看它的16进制字符串,最后可以使用 相应的SQL管理软件来进行操作。