当前位置: 首页 > news >正文

湘西建网站成都网络营销推广

湘西建网站,成都网络营销推广,wordpress调用post,php网站怎么做测试工具Blob 是 MySQL 中的数据类型,可以帮助我们以二进制格式存储对象。出于安全原因或 MySQL 中的某些其他目的,它最常用于存储文件、图像等媒体文件。它可以存储和保存可变数量的数据,MySQL 中可以使用四种类型的 blob,即 LONGBLOB、M…

Blob 是 MySQL 中的数据类型,可以帮助我们以二进制格式存储对象。出于安全原因或 MySQL 中的某些其他目的,它最常用于存储文件、图像等媒体文件。它可以存储和保存可变数量的数据,MySQL 中可以使用四种类型的 blob,即 LONGBLOB、MEDIUMBLOB、BLOB 和 TINYBLOB。所有这些类型的不同之处在于所需的存储空间和可以存储的最大长度。这些数据类型值通常被视为字节字符串或二进制字符串。

BLOB 值包含二进制字符集和排序规则。存储在此类列值中的字节具有数值,无论何时在 MySQL 中执行排序和比较都基于该数值。在本文中,我们将了解 BLOB 数据类型以及如何将表的列声明为 BLOB,我们将进一步讨论 BLOB 值在严格模式的不同设置下的行为,并查看与 BLOB 值相关的示例。

BLOB 数据类型

MySQL 中表的最大行大小为 65535,代表行的内部能力,即使存储引擎对行有更大的能力支持。该行的最大大小不包括其中的 BLOB 或 TEXT 数据类型列。除了用于行缓冲区,BLOB 值数据存储在内存的不同区域中,并且对于不同的存储引擎,对此类值的内存分配是不同的。每个存储引擎使用不同的方法来处理这种数据类型的数据。

所有 blob 数据类型的存储要求如下:

  • TINYBLOB – 长度+ 1 个字节,其中长度< 2^8
  • BLOB – 长度+ 2 个字节,其中长度< 2^16
  • MEDIUMBLOB – 长度+ 3 个字节,其中长度< 2^24
  • LONGBLOB – 长度+ 4 个字节,其中长度< 2^32

其中长度代表 blob 数据类型列包含的字符串的原始长度。

关于 BLOB 数据类型,您应该了解一些事情,如下所列 -

  • BLOB 数据类型是可变长度列,因此它被视为 VARBINARY 列。但是,它在某些方面与 VARBINARY 不同。每当 BLOB 列用于索引时,都需要提及将用于索引的前缀的长度,并且不能将默认值分配给 BLOB 列。
  • 每当 MySQL 中的严格模式被禁用并且我们尝试在 BLOB 列中插入超过列最大长度的值时,就会从插入的原始值中截断可以容纳该列的值,并且只插入截断的值随着警告的产生。
  • 如果在 Mysql 中启用了严格模式,则可以防止截断超过列最大长度的值,并引发错误,指出插入的值超出了定义的列长度。
  • 每当我们对 BLOB 列执行排序时,只考虑第一个 max_sort_length 字节进行排序。max_sort_length 变量的默认值为 1024。但是,我们可以进一步更改 max_sort_length 的值并增加它以在基于 BLOB 列对数据进行排序和分组时考虑该值的多个字节。
  • BLOB 的类型决定了列可以具有的最大大小,但是可以在客户端和服务器之间传输的值的实际最大可能大小取决于通信中使用的缓冲区大小和可用内存。可以通过简单地更改 max_allowed_pa​​cket 变量的值来更改缓冲区大小的最大容量。此变量的值需要在服务器以及客户端大小进行更改才能正常工作。

MySQL BLOB 示例

我们将创建一个名为 gallery 的表,其中包含 id、name 和 image 列。图像列将是 BLOB 数据类型。我们可以使用以下查询来创建我们的表 -

CREATE TABLE gallery (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR (255) NOT NULL,
image BLOB NOT NULL
);

输出:

MySQL BLOB 1

在 PHP 中,我们可以使用 PDO 在具有 blob 数据类型列的表中插入值。我们将看到一个 PHP 程序,该程序将展示我们如何在数据库中插入和检索 blob 值,如下所示:

<?phpclass galleryBlob {const DB_HOST = 'localhost';const DB_NAME = 'db';const DB_USER = 'root';const DB_PASSWORD = 'root';public function __construct() {$conStr = sprintf("mysql:host=%s;dbname=%s;charset=utf8", self::DB_HOST, self::DB_NAME);try {$this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);} catch (PDOException $e) {echo $e->getMessage();}}public function insertImage($filePath, $name) {$blob = fopen($filePath, 'rb');$sql = "INSERT INTO gallery(name,image) VALUES(:name,:image)";$stmt = $this->pdo->prepare($sql);$stmt->bindParam(':name', $name);$stmt->bindParam(':image', $blob, PDO::PARAM_LOB);return $stmt->execute();}public function selectImage($id) {$sql = "SELECT name,image FROM gallery WHERE id = :id;";$stmt = $this->pdo->prepare($sql);$stmt->execute(array(":id" => $id));$stmt->bindColumn(1, $name);$stmt->bindColumn(2, $image, PDO::PARAM_LOB);$stmt->fetch(PDO::FETCH_BOUND);return array("name" => $name,"image" => $image);}public function __destruct() {$this->pdo = null;}}$sampleImage = new galleryBlob();
$sampleImage->insertImage('sample.jpg', "image/jpg");
$a = $sampleImage->selectImage(1);
header("Content-Type:" . $a['name']);
echo $a['image'];
?>

上面代码保存文件名为 educba.php 并在浏览器上运行时的输出如下,因为这张图片是我插入的,名为 sample.jpg-

MySQL BLOB 2

它显示了我们存储在 SQL 表库中的图像。让我们在 MySQL 中检索记录并检查画廊表的内容——

select id, name from gallery;

输出:

MySQL BLOB 3

当我们尝试使用以下查询语句检索 blob 值时,由于 jpg 文件存储在 blob 类型的图像列中,因此输出太大,这使得结果集庞大且在终端上不可读,因为 jpg 文件在终端上无法解析.

select * from gallery;

输出:

输出

结论

MySQL 中使用 blob 类型来存储媒体文件,如图像、pdf 文件、视频、报告等。使用此类型时要采取的预防措施如上所述。

http://www.mmbaike.com/news/65390.html

相关文章:

  • 微信公众号微网站建设免费注册网页网址
  • 什么网站帮人做网页国际财经新闻
  • 门户网站建设方案中信息公开seo排名优化教程
  • 国外做耳机贸易的平台网站2022年五月份热点事件
  • 广东如何做网站设计seo优化工作
  • 网站建设登记表官网优化 报价
  • html网页设计颜色代码北京seo推广服务
  • 软件工程师证书有哪些网页seo是什么意思
  • 阿里巴巴的网站架构软文推广有哪些
  • php网页设计代码重庆seo技术教程
  • 进度跟踪网站开发外贸平台有哪些?
  • 做网站平台需要什么条件赛事资讯赛马资料
  • 做网站导航栏素材图天津百度推广公司电话
  • 做网站 被谷歌收录百度客户端
  • h5网站怎么做api对接线上销售平台如何推广
  • 服装网站建设策划书的基本结构新闻发布会稿件
  • 百度云可以做网站吗百度的人工客服
  • 云梦做网站seo查询网站是什么
  • 企业的网站开发费用如何入账今日新闻头条内容
  • 延安网站制作长沙seo计费管理
  • 提高审美网站税收大数据
  • 个人工商注册查询网站东莞seo搜索
  • 地方门户信息网站建设方案平台运营
  • 网站怎么推广出去比较好百度搜索推广是什么
  • 如今做那个网站能致富武汉关键词seo
  • 做网站怎么还用身份证深圳推广
  • 网站修改联系方式武汉seo优化排名公司
  • 上海市城乡和住房建设厅网站搜外网 seo教程
  • 消防微型建设标准的网站是多少免费学生html网页制作成品
  • 网站开发兼容ie培训学校资质办理条件