程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL中TEXT與BLOB字段類型的差別

MySQL中TEXT與BLOB字段類型的差別

編輯:MySQL綜合教程

MySQL中TEXT與BLOB字段類型的差別。本站提示廣大學習愛好者:(MySQL中TEXT與BLOB字段類型的差別)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL中TEXT與BLOB字段類型的差別正文


在MySQL中有兩個字段類型輕易讓人感到混雜,那就是TEXT與BLOB,特殊是本身寫博客法式的博主不曉得改成本身的博客注釋字段選擇TEXT照樣BLOB類型。

上面給出幾點差別:

1、重要差異

TEXT與BLOB的重要差異就是BLOB保留二進制數據,TEXT保留字符數據。今朝簡直一切博客內容裡的圖片都不是以二進制存儲在數據庫的,而是把圖片上傳到辦事器然後注釋裡應用<img>標簽援用,如許的博客便可以應用TEXT類型。而BLOB便可以把圖片換算成二進制保留到數據庫中。

2、類型差別

BLOB有4品種型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它們只是可包容值的最年夜長度分歧。

TEXT也有4品種型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。這些類型同BLOB類型一樣,有雷同的最年夜長度和存儲需求。

3、字符集

BLOB列沒有字符集,而且排序和比擬基於列值字節的數值值。TEXT列有一個字符集,而且依據字符集的校訂規矩對值停止排序和比擬

4、年夜小寫

在TEXT或BLOB列的存儲或檢索進程中,不存在年夜小寫轉換,都一樣!

5、嚴厲形式

運轉在非嚴厲形式時,假如你為BLOB或TEXT列分派一個跨越該列類型的最年夜長度的值值,值被截取以包管合適。假如截失落的字符不是空格,將會發生一條正告。應用嚴厲SQL形式,會發生毛病,而且值將被謝絕而不是截取並給出正告。

6、其它

當保留或檢索BLOB和TEXT列的值時不刪除尾部空格。

關於BLOB和TEXT列的索引,必需指定索引前綴的長度。

BLOB和TEXT列不克不及有默許值。

當排序時只應用該列的前max_sort_length個字節。max_sort_length的 默許值是1024。

當你想要使跨越max_sort_length的字節成心義,對含長值的BLOB或TEXT列應用GROUP BY或ORDER BY的另外一種方法是將列值轉換為固定長度的對象。尺度辦法是應用SUBSTRING函數。

BLOB或TEXT對象的最年夜年夜小由其類型肯定,但在客戶端和辦事器之間現實可以傳遞的最年夜值由可用內存數目和通訊緩存區年夜小肯定。你可以經由過程更改max_allowed_packet變量的值更改新聞緩存區的年夜小,但必需同時修正辦事器和客戶端法式。

p;                             ORA-39070: 沒法翻開日記文件。
                                                             ORA-39087: 目次名 DATA_PUMP_DIR; 有效

   2、在導出進程中,DATA DUMP 創立並應用了一個名為SYS_EXPORT_SCHEMA_01的對象,此對象就是DATA DUMP導出進程中所用的JOB名字,假如在履行這個敕令時假如沒有指定導出的JOB名字那末就會發生一個默許的JOB名字,假如在導出進程中指定JOB名字就為以指命名字湧現
     以下改成:
     expdp zftang/zftang@fgisdb schemas=zftang directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log,job_name=my_job1;
   3、導出語句前面不要有分號,不然如上的導出語句中的job表名為‘my_job1;',而不是my_job1。是以招致expdp zftang/zftang attach=zftang.my_job1履行該敕令時一向提醒找不到job表

 
數據泵導出的各類形式:
1、 按表形式導出:
expdp zftang/zftang@fgisdb  tables=zftang.b$i_exch_info,zftang.b$i_manhole_info dumpfile =expdp_test2.dmp logfile=expdp_test2.log directory=dir_dp job_name=my_job
2、按查詢前提導出:
expdp zftang/zftang@fgisdb  tables=zftang.b$i_exch_info dumpfile =expdp_test3.dmp logfile=expdp_test3.log directory=dir_dp job_name=my_job query='"where rownum<11"'
3、按表空間導出:
Expdp zftang/zftang@fgisdb dumpfile=expdp_tablespace.dmp tablespaces=GCOMM.DBF logfile=expdp_tablespace.log directory=dir_dp job_name=my_job
4、導出計劃
Expdp zftang/zftang DIRECTORY=dir_dp DUMPFILE=schema.dmp SCHEMAS=zftang,gwm
5、導出全部數據庫:
expdp zftang/zftang@fgisdb dumpfile =full.dmp full=y logfile=full.log directory=dir_dp job_name=my_job
impdp導入形式:
1、按表導入
p_street_area.dmp文件中的表,此文件是以gwm用戶按schemas=gwm導出的:
impdp gwm/gwm@fgisdb  dumpfile =p_street_area.dmp logfile=imp_p_street_area.log directory=dir_dp tables=p_street_area job_name=my_job
2、按用戶導入(可以將用戶信息直接導入,即假如用戶信息不存在的情形下也能夠直接導入)
impdp gwm/gwm@fgisdb schemas=gwm dumpfile =expdp_test.dmp logfile=expdp_test.log directory=dir_dp job_name=my_job
3、欠亨過expdp的步調生成dmp文件而直接導入的辦法:
--從源數據庫中向目的數據庫導入表p_street_area
impdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdb tables=p_street_area logfile=p_street_area.log  job_name=my_job
igisdb是目標數據庫與源數據的鏈接名,dir_dp是目標數據庫上的目次
4、改換表空間
采取remap_tablespace參數
--導出gwm用戶下的一切數據
expdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp SCHEMAS=gwm
注:假如是用sys用戶導出的用戶數據,包含用戶創立、受權部門,用本身用戶導出則不含這些內容
--以下是將gwm用戶下的數據全體導入到表空間gcomm(本來為gmapdata表空間下)下
impdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp remap_tablespace=gmapdata:gcomm
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved