国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

MySQL 中 Blob 和 Text 數(shù)據(jù)類(lèi)型詳解

數(shù)據(jù)庫(kù) MySQL
blob(binary large object) 是一個(gè)可以存儲(chǔ)二進(jìn)制文件的容器,主要用于存儲(chǔ)二進(jìn)制大對(duì)象,例如可以存儲(chǔ)圖片,音視頻等文件。

 [[443202]]

前言:

前面文章我們介紹過(guò)一些常用數(shù)據(jù)類(lèi)型的用法,比如 int、char、varchar 等。一直沒(méi)詳細(xì)介紹過(guò) blob 及 text 類(lèi)型,雖然這兩類(lèi)數(shù)據(jù)類(lèi)型不太常用,但在某些場(chǎng)景下還是會(huì)用到的。本篇文章將主要介紹 blob 及 text 數(shù)據(jù)類(lèi)型的相關(guān)知識(shí)。

1. blob 類(lèi)型

blob(binary large object) 是一個(gè)可以存儲(chǔ)二進(jìn)制文件的容器,主要用于存儲(chǔ)二進(jìn)制大對(duì)象,例如可以存儲(chǔ)圖片,音視頻等文件。按照可存儲(chǔ)容量大小不同來(lái)分類(lèi),blob 類(lèi)型可分為以下四種:

類(lèi)型

可存儲(chǔ)大小

用途

TINYBLOB

0 - 255字節(jié)

短文本二進(jìn)制字符串

BLOB

0 - 65KB

二進(jìn)制字符串

MEDIUMBLOB

0 - 16MB

二進(jìn)制形式的長(zhǎng)文本數(shù)據(jù)

LONGBLOB

0 - 4GB

二進(jìn)制形式的極大文本數(shù)據(jù)

 

其中最常用的就是 blob 字段類(lèi)型了,最多可存儲(chǔ) 65KB 大小的數(shù)據(jù),一般可用于存儲(chǔ)圖標(biāo)或 logo 圖片。不過(guò)數(shù)據(jù)庫(kù)并不適合直接存儲(chǔ)圖片,如果有大量存儲(chǔ)圖片的需求,請(qǐng)使用對(duì)象存儲(chǔ)或文件存儲(chǔ),數(shù)據(jù)庫(kù)中可以存儲(chǔ)圖片路徑來(lái)調(diào)用。

2. text 類(lèi)型

text 類(lèi)型同 char、varchar 類(lèi)似,都可用于存儲(chǔ)字符串,一般情況下,遇到存儲(chǔ)長(zhǎng)文本字符串的需求時(shí)可以考慮使用 text 類(lèi)型。按照可存儲(chǔ)大小區(qū)分,text 類(lèi)型同樣可分為以下四種:

類(lèi)型

可存儲(chǔ)大小

用途

TINYTEXT

0 - 255字節(jié)

一般文本字符串

TEXT

0 - 65 535字節(jié)

長(zhǎng)文本字符串

MEDIUMTEXT

0 - 16 772 150字節(jié)

較大文本數(shù)據(jù)

LONGTEXT

0 - 4 294 967 295字節(jié)

極大文本數(shù)據(jù)

不過(guò)在日常場(chǎng)景中,存儲(chǔ)字符串還是盡量用 varchar ,只有要存儲(chǔ)長(zhǎng)文本數(shù)據(jù)時(shí),可以使用 text 類(lèi)型。對(duì)比 varchar ,text 類(lèi)型有以下特點(diǎn):

  • text 類(lèi)型無(wú)須指定長(zhǎng)度。
  • 若數(shù)據(jù)庫(kù)未啟用嚴(yán)格的 sqlmode ,當(dāng)插入的值超過(guò) text 列的最大長(zhǎng)度時(shí),則該值會(huì)被截?cái)嗖迦氩⑸删妗?/li>
  • text 類(lèi)型字段不能有默認(rèn)值。
  • varchar 可直接創(chuàng)建索引,text 字段創(chuàng)建索引要指定前多少個(gè)字符。
  • text 類(lèi)型檢索效率比 varchar 要低。

下面我們來(lái)具體測(cè)試下 text 類(lèi)型的使用方法:

  1. # 創(chuàng)建測(cè)試表 字符集是 utf8 
  2. mysql> show create table tb_text\G 
  3. *************************** 1. row *************************** 
  4.        Table: tb_text 
  5. Create TableCREATE TABLE `tb_text` ( 
  6.   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵'
  7.   `a` tinytext, 
  8.   `b` text, 
  9.   `c` varchar(255) DEFAULT NULL
  10.   PRIMARY KEY (`id`) 
  11. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 
  12.  
  13. # 創(chuàng)建索引測(cè)試 發(fā)現(xiàn)text類(lèi)型必須指定前綴長(zhǎng)度 
  14. mysql> alter table tb_text add index idx_a (a); 
  15. ERROR 1170 (42000): BLOB/TEXT column 'a' used in key specification without a key length 
  16. mysql> alter table tb_text add index idx_b (b);  
  17. ERROR 1170 (42000): BLOB/TEXT column 'b' used in key specification without a key length 
  18. mysql> alter table tb_text add index idx_c (c); 
  19. Query OK, 0 rows affected (0.04 sec) 
  20. Records: 0  Duplicates: 0  Warnings: 0 
  21. mysql> alter table tb_text add index idx_b (b(10)); 
  22. Query OK, 0 rows affected (0.06 sec) 
  23. Records: 0  Duplicates: 0  Warnings: 0 
  24.  
  25. # 插入數(shù)據(jù)測(cè)試(repeat函數(shù)用于生成重復(fù)數(shù)據(jù)) 
  26. # 正常插入 
  27. mysql> insert into tb_text  (a,b,c) values (repeat('hello',3),repeat('hello',3),repeat('hello',3)); 
  28. Query OK, 1 row affected (0.01 sec) 
  29. # 插入英文字符超標(biāo) 
  30. mysql> insert into tb_text  (a) values (repeat('hello',52)); 
  31. Query OK, 1 row affected, 1 warning (0.01 sec) 
  32. mysql> show warnings; 
  33. +---------+------+----------------------------------------+ 
  34. Level   | Code | Message                                | 
  35. +---------+------+----------------------------------------+ 
  36. | Warning | 1265 | Data truncated for column 'a' at row 1 | 
  37. +---------+------+----------------------------------------+ 
  38. 1 row in set (0.00 sec) 
  39. # 插入中文超標(biāo) 
  40. mysql>  insert into tb_text  (a) values (repeat('你好',100)); 
  41. Query OK, 1 row affected, 1 warning (0.02 sec) 
  42. mysql> show warnings; 
  43. +---------+------+----------------------------------------+ 
  44. Level   | Code | Message                                | 
  45. +---------+------+----------------------------------------+ 
  46. | Warning | 1265 | Data truncated for column 'a' at row 1 | 
  47. +---------+------+----------------------------------------+ 
  48. 1 row in set (0.00 sec) 
  49. # 查看數(shù)據(jù) 發(fā)現(xiàn)數(shù)據(jù)有所截取 tinytext 類(lèi)型最多存儲(chǔ)255字節(jié)數(shù)據(jù) 
  50. mysql> select * from tb_text; 
  51. +----+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+-----------------+ 
  52. | id | a                                                                                                                                                                                                                                                               | b               | c               | 
  53. +----+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+-----------------+ 
  54. |  1 | hellohellohello                                                                                                                                                                                                                                                 | hellohellohello | hellohellohello | 
  55. |  2 | hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello | NULL            | NULL            | 
  56. |  3 | 你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你好你                                                                                      | NULL            | NULL            | 
  57. +----+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+-----------------+ 
  58. rows in set (0.00 sec) 

通過(guò)以上測(cè)試,我們注意到,text 類(lèi)型可存儲(chǔ)容量是以字節(jié)為單位而不是字符。例如 tinytext 最多存儲(chǔ) 255 個(gè)字節(jié)而不是 255 個(gè)字符,在 utf8 字符集下,一個(gè)英文字母或數(shù)字占用一個(gè)字節(jié),而一個(gè)中文漢字占用三個(gè)字節(jié)。也就是說(shuō) tinytext 最多存儲(chǔ) 255/3=85 個(gè)漢字,text 最多存儲(chǔ) 65535/3=21845 個(gè)漢字。而 varchar(M) 中的 M 指的是字符數(shù),一個(gè)英文、數(shù)字、漢字都是占用一個(gè)字符,即 tinytext 可存儲(chǔ)的大小并不比 varchar(255) 多。

總結(jié):

本篇文章介紹了 blob 及 text 字段類(lèi)型相關(guān)知識(shí)。雖然數(shù)據(jù)庫(kù)規(guī)范中一般不推薦使用 blob 及 text 類(lèi)型,但由于一些歷史遺留問(wèn)題或是某些場(chǎng)景下,還是會(huì)用到這兩類(lèi)數(shù)據(jù)類(lèi)型的。這篇文章僅當(dāng)做個(gè)記錄了,使用到的時(shí)候可以參考下。

責(zé)任編輯:武曉燕 來(lái)源: MySQL技術(shù)
相關(guān)推薦

2009-05-11 14:36:56

數(shù)據(jù)類(lèi)型建庫(kù)策略MySQL

2020-10-26 07:16:10

MySQLSchema數(shù)據(jù)

2010-08-13 14:58:01

FlexNumber數(shù)據(jù)類(lèi)型

2010-05-21 15:33:54

MySQL text

2010-10-15 13:28:34

MySql數(shù)據(jù)類(lèi)型

2010-05-24 15:56:53

MySQL數(shù)據(jù)類(lèi)型

2024-03-14 11:54:37

C++數(shù)據(jù)類(lèi)型

2010-06-04 11:15:23

MySQL自增主鍵

2017-02-27 08:34:09

JavaScript數(shù)據(jù)引用

2016-08-18 14:13:55

JavaScript基本數(shù)據(jù)引用數(shù)據(jù)

2011-08-04 09:56:30

Objective-C 變量 數(shù)據(jù)類(lèi)型

2022-06-20 08:26:39

Spring容器類(lèi)型轉(zhuǎn)換

2017-07-10 13:38:07

MySQL數(shù)據(jù)類(lèi)型整數(shù)類(lèi)型

2010-07-22 17:57:40

2010-10-08 14:45:43

mysql中int

2010-11-08 10:27:58

SQL Server檢

2011-05-26 13:54:04

Json

2009-06-18 15:53:37

Hibernate B

2010-06-13 18:00:56

MySQL數(shù)據(jù)類(lèi)型

2010-06-02 11:24:57

MySQL數(shù)據(jù)庫(kù)主鍵
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

伊人国产在线看一| 91豆花视频在线播放| 91在线国产福利| 成人性生活视频| 最近免费中文字幕视频2019| 久久精品久久久| 国产伦视频一区二区三区| 国产精品乱码一区二区三区软件| 国产丝袜在线播放| 91欧美激情另类亚洲| 天堂资源在线亚洲| 老司机在线免费视频| 在线中文字幕不卡| 老司机凹凸av亚洲导航| 密臀av一区二区三区| 亚洲一二三四久久| 色综合综合网| 国产精品自拍偷拍视频| 狠狠色丁香婷婷综合影院| 日韩欧美不卡在线| 大桥未久av一区二区三区| 五月婷婷一区| 欧美一级日韩一级| 精品亚洲成a人| 视频午夜在线| 日韩久久精品一区| 电影av在线| 最新欧美日韩亚洲| 精品福利二区三区| 亚洲日本视频在线| 97视频中文字幕| 欧美日韩一二三四| 2020国产在线视频| 日本精品在线视频| 国产日韩欧美三区| 国产精品99久久久久久久久久久久| 中文字幕永久在线不卡| 日本韩国在线视频爽| 正义之心1992免费观看全集完整版| 精品1区2区在线观看| 日韩一级二级| 91久久精品国产| 中文字幕乱码久久午夜不卡| 国产亚洲观看| 又黄又爽毛片免费观看| 欧美色区777第一页| 九九精品视频在线看| 日韩欧美久久| 亚洲精品天堂成人片av在线播放| 国产精品日韩在线| 在线中文字幕一区二区| 日本精品三区| 国产精品视频一区二区三区综合| 中文精品一区二区三区| 国产这里只有精品| 欧美日韩一级片网站| www.日韩大片| 午夜日韩视频| 欧美四级在线| 欧美精品第一页| 日本sm残虐另类| free欧美| 日本不卡免费播放| 中文字幕久久一区| 欧美日韩成人一区二区三区 | 日本一区二区三区视频| 91蝌蚪视频在线观看| 国产69久久精品成人| 中文子幕无线码一区tr | 欧美一区2区视频在线观看| 丝袜a∨在线一区二区三区不卡| 国内激情视频在线观看| www.1024| 日韩精品一区二区三区丰满| 原创国产精品91| 精品视频全国免费看| 欧美搞黄网站| 精品久久久久久久久中文字幕| 午夜激情久久久| 福利91精品一区二区三区| 韩日欧美一区二区| 在线播放一区二区三区| 国产欧美日韩卡一| 在线电影一区| 欧美日韩色网| 青青免费在线视频| 日本www高清视频| 国产日韩欧美亚洲一区| 欧美一级免费看| 欧美一二三四在线| 亚洲成人综合网站| 国产69精品久久久久毛片 | av在线播放不卡| 免费在线观看成人av| 国产在线不卡| 亚洲精品偷拍| 亚洲三级国产| 亚洲男人都懂第一日本| 99re6这里只有精品| 国产精品久久久久77777丨| 国产精品一区二区美女视频免费看 | 成人晚上爱看视频| 久久免费偷拍视频| 精品国产乱码久久久久久天美| 亚洲国产午夜| 欧美韩一区二区| 澳门成人av| 精品国产午夜| 日韩电影免费网站| 不卡中文字幕| 欧美激情无毛| 免费成人av在线| av午夜一区麻豆| 亚洲少妇30p| 亚洲国产精品精华液网站| 国产精品久久久久久久午夜片| 精品色蜜蜜精品视频在线观看| 欧美三级在线视频| 中文字幕在线视频日韩| 国内精品400部情侣激情| 国产日本欧美视频| 99精品视频网站| 久久久久欧美| 黄页免费在线观看视频| 五月婷婷丁香综合网| 国产在线91| 成人网18免费看| 欧美黄网在线观看| 国产精品yjizz| 精品人伦一区二区三区| 日日骚久久av| 亚洲国产成人精品久久久国产成人一区 | 欧美aaa大片视频一二区| 日本在线一二三区| 国产拍精品一二三| 国产91色在线| 国产精品一区二区3区| 狠狠色综合色区| 男女无套免费网站| 亚洲伦乱视频| 激情欧美一区| 久久亚洲图片| 亚洲一区二区三区精品在线| 中文字幕欧美亚洲| 视频在线观看成人| 韩国三级在线观看久| 亚洲另类av| 亚洲黄页一区| 欧亚一区二区三区| 国产精品18久久久久久麻辣| 国产成人三级视频| 日本片在线看| 国产精品xvideos88| 成人av资源在线| 亚洲精品久久久久久久久久久久久 | 国产精品灌醉下药二区| 亚洲一区二区三区美女| 亚洲国产精品久久久男人的天堂| 欧美日韩免费区域视频在线观看| 欧美日韩中文一区| 91国语精品自产拍在线观看性色 | 欧美日韩免费观看视频| 欧美日韩亚洲一区| 日韩毛片一二三区| 欧美成人午夜影院| 37pao成人国产永久免费视频| 成人国产精品| 99久久久免费精品国产一区二区| 亚洲va韩国va欧美va| 国产精品99久久久久久www| eeuss在线观看| 欧美在线看片| 亚洲国产va精品久久久不卡综合| 琪琪第一精品导航| 美女被人操视频在线观看| 国产探花在线精品一区二区| 亚洲免费毛片网站| 国产伦精品一区二区三区视频孕妇| 手机福利在线| 日本午夜精品一区二区三区电影| 91精品国产欧美日韩| 最新不卡av| yellow在线观看网址| 91视频观看免费| 欧美专区国产专区| 日本我和搜子同居的日子高清在线 | 78精品国产综合久久香蕉| 男女污污视频在线观看| 国产69久久| 国产一区二区三区免费在线观看| 伊人夜夜躁av伊人久久| 日韩欧美一区二区三区久久| 最新中文字幕一区二区三区| 亚洲欧美日韩中文播放| 在线亚洲国产精品网| a毛片在线观看| 福利视频网站一区二区三区| 婷婷中文字幕综合| 日韩精品一区二区在线| 亚洲美女视频网|