狂猛欧美激情性xxxx大豆行情,日产精品久久久一区二区,日本欧美v大码在线,av蓝导航精品导航

sql數(shù)據(jù)庫(kù)中的text數(shù)據(jù)類型的具體含義是什么?

首頁(yè) > 身份戶籍2021-01-07 04:57:34

mysql數(shù)據(jù)庫(kù)text是什么意思

mysql中text,longtext,mediumtext字段類型的意思,以及區(qū)別

MySQL支持大量的列類型,它可以被分為3類:數(shù)字類型、日期和時(shí)間類型以及字符串(字符)類型。本節(jié)首先給出可用類型的一個(gè)概述,并且總結(jié)每個(gè)列類型的存儲(chǔ)需求,然后提供每個(gè)類中的類型性質(zhì)的更詳細(xì)的描述。概述有意簡(jiǎn)化,更詳細(xì)的說明應(yīng)該考慮到有關(guān)特定列類型的附加信息,例如你能為其指定值的允許格式。

由MySQL支持的列類型列在下面。下列代碼字母用于描述中:

M 指出最大的顯示尺寸。最大的合法的顯示尺寸是 255 。
D 適用于浮點(diǎn)類型并且指出跟隨在十進(jìn)制小數(shù)點(diǎn)后的數(shù)碼的數(shù)量。最大可能的值是30,但是應(yīng)該不大于M-2。
方括號(hào)(“[”和“]”)指出可選的類型修飾符的部分。

注意,如果你指定一個(gè)了為ZEROFILL,MySQL將為該列自動(dòng)地增加UNSIGNED屬性。

TINYINT[(M)] [UNSIGNED] [ZEROFILL]
一個(gè)很小的整數(shù)。有符號(hào)的范圍是-128到127,無符號(hào)的范圍是0到255。

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
一個(gè)小整數(shù)。有符號(hào)的范圍是-32768到32767,無符號(hào)的范圍是0到65535。

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
一個(gè)中等大小整數(shù)。有符號(hào)的范圍是-8388608到8388607,無符號(hào)的范圍是0到16777215。

INT[(M)] [UNSIGNED] [ZEROFILL]
一個(gè)正常大小整數(shù)。有符號(hào)的范圍是-2147483648到2147483647,無符號(hào)的范圍是0到4294967295。

INTEGER[(M)] [UNSIGNED] [ZEROFILL]
這是INT的一個(gè)同義詞。

BIGINT[(M)] [UNSIGNED] [ZEROFILL]

一個(gè)大整數(shù)。有符號(hào)的范圍是-9223372036854775808到9223372036854775807,無符號(hào)的范圍是0到

18446744073709551615。注意,所有算術(shù)運(yùn)算用有符號(hào)的BIGINT或DOUBLE值完成,因此你不應(yīng)該使用大于9223372036854775807(63位)的有符號(hào)大整數(shù),除了位函數(shù)!注意,當(dāng)兩個(gè)參數(shù)是INTEGER值時(shí),-、+和*將使用BIGINT運(yùn)算!這意味著如果你乘2個(gè)大整數(shù)(或來自于返回整數(shù)的函數(shù)),如果結(jié)果大于9223372036854775807,你可以得到意外的結(jié)果。一個(gè)浮點(diǎn)數(shù)字,不能是無符號(hào)的,對(duì)一個(gè)單精度浮點(diǎn)數(shù),其精度可以是<=24,對(duì)一個(gè)雙精度浮點(diǎn)數(shù),是在25 和53之間,這些類型如FLOAT和DOUBLE類型馬上在下面描述。FLOAT(X)有對(duì)應(yīng)的FLOAT和DOUBLE相同的范圍,但是顯示尺寸和小數(shù)位數(shù)是未定義的。在MySQL3.23中,這是一個(gè)真正的浮點(diǎn)值。在更早的MySQL版本中,F(xiàn)LOAT(precision)總是有2位小數(shù)。該句法為了ODBC兼容性而提供。

FLOAT[(M,D)] [ZEROFILL]
一個(gè)小(單精密)浮點(diǎn)數(shù)字。不能無符號(hào)。允許的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。M是顯示寬度而D是小數(shù)的位數(shù)。沒有參數(shù)的FLOAT或有<24 的一個(gè)參數(shù)表示一個(gè)單精密浮點(diǎn)數(shù)字。

DOUBLE[(M,D)] [ZEROFILL]
一個(gè)正常大小(雙精密)浮點(diǎn)數(shù)字。不能無符號(hào)。允許的值是-1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308。M是顯示寬度而D是小數(shù)位數(shù)。沒有一個(gè)參數(shù)的DOUBLE或FLOAT(X)(25 < = X < = 53)代表一個(gè)雙精密浮點(diǎn)數(shù)字。

DOUBLE PRECISION[(M,D)] [ZEROFILL]

REAL[(M,D)] [ZEROFILL]
這些是DOUBLE同義詞。

DECIMAL[(M[,D])] [ZEROFILL]
一個(gè)未壓縮(unpack)的浮點(diǎn)數(shù)字。不能無符號(hào)。行為如同一個(gè)CHAR列:“未壓縮”意味著數(shù)字作為一個(gè)字符串被存儲(chǔ),值的每一位使用一個(gè)字符。小數(shù)點(diǎn),并且對(duì)于負(fù)數(shù),“-”符號(hào)不在M中計(jì)算。如果D是0,值將沒有小數(shù)點(diǎn)或小數(shù)部分。DECIMAL值的最大范圍與DOUBLE相同,但是對(duì)一個(gè)給定的DECIMAL列,實(shí)際的范圍可以通過M和D的選擇被限制。如果D被省略,它被設(shè)置為0。如果M被省掉,它被設(shè)置為10。注意,在MySQL3.22里,M參數(shù)包括符號(hào)和小數(shù)點(diǎn)。

NUMERIC(M,D) [ZEROFILL]
這是DECIMAL的一個(gè)同義詞。

DATE
一個(gè)日期。支持的范圍是'1000-01-01'到'9999-12-31'。MySQL以'YYYY-MM-DD'格式來顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列。

DATETIME
一個(gè)日期和時(shí)間組合。支持的范圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式來顯示DATETIME值,但是允許你使用字符串或數(shù)字把值賦給DATETIME的列。

TIMESTAMP[(M)]
一個(gè)時(shí)間戳記。范圍是'1970-01-01 00:00:00'到2037年的某時(shí)。MySQL以YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD格式來顯示TIMESTAMP值,取決于是否M是14(或省略)、12、8或6,但是允許你使用字符串或數(shù)字把值賦給TIMESTAMP列。一個(gè)TIMESTAMP列對(duì)于記錄一個(gè)INSERT或UPDATE操作的日期和時(shí)間是有用的,因?yàn)槿绻悴蛔约航o它賦值,它自動(dòng)地被設(shè)置為最近操作的日期和時(shí)間。你以可以通過賦給它一個(gè)NULL值設(shè)置它為當(dāng)前的日期和時(shí)間。
TIME
一個(gè)時(shí)間。范圍是'-838:59:59'到'838:59:59'。MySQL以'HH:MM:SS'格式來顯示TIME值,但是允許你使用字符串或數(shù)字把值賦給TIME列。

YEAR[(2|4)]
一個(gè)2或4位數(shù)字格式的年(缺省是4位)。允許的值是1901到2155,和0000(4位年格式),如果你使用2位,1970-2069( 70-69)。MySQL以YYYY格式來顯示YEAR值,但是允許你把使用字符串或數(shù)字值賦給YEAR列。(YEAR類型在MySQL3.22中是新類型。)

CHAR(M) [BINARY]
一個(gè)定長(zhǎng)字符串,當(dāng)存儲(chǔ)時(shí),總是是用空格填滿右邊到指定的長(zhǎng)度。M的范圍是1 ~ 255個(gè)字符。當(dāng)值被檢索時(shí),空格尾部被刪除。CHAR值根據(jù)缺省字符集以大小寫不區(qū)分的方式排序和比較,除非給出BINARY關(guān)鍵詞。NATIONAL CHAR(短形式NCHAR)是ANSI SQL的方式來定義CHAR列應(yīng)該使用缺省字符集。這是MySQL的缺省。CHAR是CHARACTER的一個(gè)縮寫。

[NATIONAL] VARCHAR(M) [BINARY]
一個(gè)變長(zhǎng)字符串。注意:當(dāng)值被存儲(chǔ)時(shí),尾部的空格被刪除(這不同于ANSI SQL規(guī)范)。M的范圍是1 ~ 255個(gè)字符。 VARCHAR值根據(jù)缺省字符集以大小寫不區(qū)分的方式排序和比較,除非給出BINARY關(guān)鍵詞值。 VARCHAR是CHARACTER VARYING一個(gè)縮寫。

TINYBLOB

TINYTEXT
一個(gè)BLOB或TEXT列,最大長(zhǎng)度為255(2^8-1)個(gè)字符。
BLOB

TEXT
一個(gè)BLOB或TEXT列,最大長(zhǎng)度為65535(2^16-1)個(gè)字符。

MEDIUMBLOB

MEDIUMTEXT
一個(gè)BLOB或TEXT列,最大長(zhǎng)度為16777215(2^24-1)個(gè)字符。
LONGBLOB

LONGTEXT
一個(gè)BLOB或TEXT列,最大長(zhǎng)度為4294967295(2^32-1)個(gè)字符。

ENUM('value1','value2',...)
枚舉。一個(gè)僅有一個(gè)值的字符串對(duì)象,這個(gè)值式選自與值列表'value1'、'value2', ...,或NULL。一個(gè)ENUM最多能有65535不同的值。

SET('value1','value2',...)
一個(gè)集合。能有零個(gè)或多個(gè)值的一個(gè)字符串對(duì)象,其中每一個(gè)必須從值列表'value1', 'value2', ...選出。一個(gè)SET最多能有64個(gè)成員。
你好,mysql當(dāng)中的text是文本的哦

SQL數(shù)據(jù)庫(kù)中數(shù)據(jù)類型ntext和text的區(qū)別

ntext和text一樣用來保存大量的文字?jǐn)?shù)據(jù),不過text用單字節(jié)保存數(shù)據(jù) ,ntext固定用雙字節(jié)保存數(shù)據(jù). ntext保存的是Uncode的字符 ,
ntext支持跨語(yǔ)言平臺(tái)。

ntext:

可變長(zhǎng)度 Unicode 數(shù)據(jù)的最大長(zhǎng)度為 230 -
1 (1,073,741,823) 個(gè)字符。存儲(chǔ)大小是所輸入字符個(gè)數(shù)的兩倍(以字節(jié)為單位)。ntext 在 SQL-92 中的同義詞是 national
text。

ntext中存數(shù)據(jù)是按雙字節(jié)存的 ,顯示不了NTEXT你換一下recordset打開方式就行了

text:

服務(wù)器代碼頁(yè)中的可變長(zhǎng)度非 Unicode 數(shù)據(jù)的最大長(zhǎng)度為 231-1 (2,147,483,647)
個(gè)字符。當(dāng)服務(wù)器代碼頁(yè)使用雙字節(jié)字符時(shí),存儲(chǔ)量仍是 2,147,483,647 字節(jié)。存儲(chǔ)大小可能小于 2,147,483,647 字節(jié)(取決于字符串)。

char、varchar、text和nchar、nvarchar、ntext的區(qū)別

1、CHAR。CHAR存儲(chǔ)定長(zhǎng)數(shù)據(jù)很方便,CHAR字段上的索引效率級(jí)高,比如定義char(10),那么不論你存儲(chǔ)的數(shù)據(jù)是否達(dá)到了10個(gè)字節(jié),都要占去10個(gè)字節(jié)的空間,不足的自動(dòng)用空格填充。

2、VARCHAR。存儲(chǔ)變長(zhǎng)數(shù)據(jù),但存儲(chǔ)效率沒有CHAR高。如果一個(gè)字段可能的值是不固定長(zhǎng)度的,我們只知道它不可能超過10個(gè)字符,把它定義為
VARCHAR(10)是最合算的。VARCHAR類型的實(shí)際長(zhǎng)度是它的值的實(shí)際長(zhǎng)度+1。為什么“+1”呢?這一個(gè)字節(jié)用于保存實(shí)際使用了多大的長(zhǎng)度。從空間上考慮,用varchar合適;從效率上考慮,用char合適,關(guān)鍵是根據(jù)實(shí)際情況找到權(quán)衡點(diǎn)。

3、TEXT。text存儲(chǔ)可變長(zhǎng)度的非Unicode數(shù)據(jù),最大長(zhǎng)度為2^31-1(2,147,483,647)個(gè)字符。

4、
NCHAR、NVARCHAR、NTEXT。這三種從名字上看比前面三種多了個(gè)“N”。它表示存儲(chǔ)的是Unicode數(shù)據(jù)類型的字符。我們知道字符中,英
文字符只需要一個(gè)字節(jié)存儲(chǔ)就足夠了,但漢字眾多,需要兩個(gè)字節(jié)存儲(chǔ),英文與漢字同時(shí)存在時(shí)容易造成混亂,Unicode字符集就是為了解決字符集這種不兼
容的問題而產(chǎn)生的,它所有的字符都用兩個(gè)字節(jié)表示,即英文字符也是用兩個(gè)字節(jié)表示。nchar、nvarchar的長(zhǎng)度是在1到4000之間。和
char、varchar比較起來,nchar、nvarchar則最多存儲(chǔ)4000個(gè)字符,不論是英文還是漢字;而char、varchar最多能存儲(chǔ)
8000個(gè)英文,4000個(gè)漢字。可以看出使用nchar、nvarchar數(shù)據(jù)類型時(shí)不用擔(dān)心輸入的字符是英文還是漢字,較為方便,但在存儲(chǔ)英文時(shí)數(shù)量
上有些損失。

對(duì)于什么時(shí)候用varchar和nvarchar沒有說一定的.
也就是說一個(gè)漢字既可以存在varchar中,也可以存在nvarchar中.
那么對(duì)于漢字或者Unicode
數(shù)據(jù)到底存在varchar和nvarchar有什么區(qū)別呢?
下面例子說明一下:一個(gè)漢字占varchar(2),只占nvarchar(1),
而字母只占varchar(1),那么在數(shù)據(jù)庫(kù)字段求長(zhǎng)度的時(shí)候,用varchar你就不一定知道它確切的知道它到底有幾個(gè)字,如果用nvarchar,
那么漢字也是nvarchar(1),字母也是nvarchar(1),那么已經(jīng)很明顯了.
區(qū)別2:varchar的檢索快于nvarchar,雖然是這樣但微軟下一個(gè)版本將統(tǒng)一nvarchar,聽說的

管理 ntext、text 和 image
數(shù)據(jù)

Microsoft? SQL Server? 的 ntext、text 和 image 數(shù)據(jù)類型在單個(gè)值中可以包含非常大的數(shù)據(jù)量(最大可
   達(dá)
2 GB)。單個(gè)數(shù)據(jù)值通常比應(yīng)用程序在一個(gè)步驟中能夠檢索的大;某些值可能還會(huì)大于客戶端的可用虛擬內(nèi)存。因此,
  
在檢索這些值時(shí),通常需要一些特殊的步驟。
  
   如果 ntext、text 和 image 數(shù)據(jù)值不超過 Unicode
串、字符串或二進(jìn)制串的長(zhǎng)度(分別為 4,000 個(gè)字符、8,000 個(gè)字
   符和 8,000 個(gè)字節(jié)),就可以在 SELECT、UPDATE 和
INSERT 語(yǔ)句中引用它們,其引用方式與較小的數(shù)據(jù)類型相同。例
   如,包含短值的 ntext 列可以在 SELECT 語(yǔ)句的選擇列表中引用,這與
nvarchar 列的引用方式相同。引用時(shí)必須遵守一
   些限制,例如不能在 WHERE 子句中直接引用 ntext、text 或 image
列。這些列可以作為返回其它數(shù)據(jù)類型(例如
   ISNULL、SUBSTRING 或 PATINDEX)的某個(gè)函數(shù)的參數(shù)包含在 WHERE
子句中,也可以包含在 IS NULL、IS NOT NULL 或
   LIKE 表達(dá)式中。
  
   處理較大的數(shù)據(jù)值
  
但是,如果 ntext、text 和 image 數(shù)據(jù)值較大,則必須逐塊處理。Transact-SQL 和數(shù)據(jù)庫(kù) API 均包含使應(yīng)用程序可以
  
逐塊處理 ntext、text 和 image 數(shù)據(jù)的函數(shù)。
  
   數(shù)據(jù)庫(kù) API 按照一種通用的模式處理長(zhǎng) ntext、text 和
image 列:
  
   若要讀取一個(gè)長(zhǎng)列,應(yīng)用程序只需在選擇列表中包含 ntext、text 或 image
列,并將該列綁定到一個(gè)程序變量,該變量
   應(yīng)足以容納適當(dāng)?shù)臄?shù)據(jù)塊。然后,應(yīng)用程序就可以執(zhí)行該語(yǔ)句,并使用 API
函數(shù)或方法將數(shù)據(jù)逐塊檢索到綁定的變量中。
  
  
   若要寫入一個(gè)長(zhǎng)列,應(yīng)用程序可使用參數(shù)標(biāo)記 (?) 在相應(yīng)位置代替
ntext、text 或 image 列中的值,以執(zhí)行 INSERT
   或 UPDATE 語(yǔ)句。參數(shù)標(biāo)記(對(duì) ADO
而言則為參數(shù))被綁定到一個(gè)足以容納數(shù)據(jù)塊的程序變量上。應(yīng)用程序進(jìn)入循環(huán),在
   循環(huán)中先將下一組數(shù)據(jù)移到綁定的變量中,然后調(diào)用 API
函數(shù)或方法寫入數(shù)據(jù)塊。這一過程將反復(fù)進(jìn)行,直到整個(gè)數(shù)據(jù)值
   發(fā)送完畢。
   使用 text in row
   在 Microsoft
SQL Server 2000 中,用戶可以在表上啟用 text in row 選項(xiàng),以使該表能夠在其數(shù)據(jù)行中存儲(chǔ) text、
   ntext 或
image 數(shù)據(jù)。
  
   若要啟用該選項(xiàng),請(qǐng)執(zhí)行 sp_tableoption 存儲(chǔ)過程,將 text in row 指定為選項(xiàng)名并將 on
指定為選項(xiàng)值。BLOB(二進(jìn)
   制大對(duì)象:text、ntext 或 image 數(shù)據(jù))行中可以存儲(chǔ)的默認(rèn)最大大小為 256 字節(jié),但是值的范圍可以從
24 到 7000。
   若要指定默認(rèn)值以外的最大大小,請(qǐng)指定該范圍內(nèi)的整數(shù)作為選項(xiàng)值。
  
   如果應(yīng)用下列條件,則將
text、ntext 或 image 字符串存儲(chǔ)在數(shù)據(jù)行中:
  
   啟用 text in row。
  
  
  
字符串的長(zhǎng)度比 @OptionValue 所指定的限制短
  
  
   數(shù)據(jù)行中有足夠的可用空間。
   當(dāng) BLOB
字符串存儲(chǔ)在數(shù)據(jù)行中時(shí),讀取和寫入 text、ntext 或 image 字符串可以與讀取或?qū)懭胱址投M(jìn)制字符串
   一樣快。SQL Server
不必訪問單獨(dú)的頁(yè)以讀取或?qū)懭?BLOB 字符串。
  
   如果 text、ntext 或 image
字符串比行中所指定的限制或可用空間大,則將指針存儲(chǔ)在該行中。在行中存儲(chǔ) BLOB 字符
   串的條件仍然適用,但是:數(shù)據(jù)行中必須有足夠的空間容納指針。

  
   有關(guān)更多信息,請(qǐng)參見 sp_tableoption。
  
   使用文本指針
   如果未指定 text in
row 選項(xiàng),text、ntext 或 image 字符串將存儲(chǔ)在數(shù)據(jù)行外;只有這些字符串的文本指針駐留在數(shù)
  
據(jù)行中。文本指針指向由內(nèi)部指針生成的樹的根節(jié)點(diǎn),而這些內(nèi)部指針映射到實(shí)際存儲(chǔ)(text、ntext 或 image 數(shù)據(jù)的)
   字符串段的頁(yè)。

  
   SQL Server 2000 中的行文本指針與 SQL Server 早期版本中的文本指針不同。行文本指針的行為就象 BLOB
數(shù)據(jù)的文件
   句柄;早期的文本指針功能則象 BLOB 數(shù)據(jù)的地址。因此,在使用行文本指針時(shí),請(qǐng)記住下列特性:
  
  
  

   重要 雖然游標(biāo)中允許有行文本,但卻不允許有行文本指針。如果嘗試聲明包含行文本指針的游標(biāo),SQL Server 將返回錯(cuò)
  
誤信息(8654、16、1、"A cursor plan could not be generated for the given statement
because it contains
   textptr(inrow lob)."、1033)。
  
   數(shù)字
  
對(duì)于每個(gè)數(shù)據(jù)庫(kù),每個(gè)事務(wù)最多允許 1024 個(gè)活動(dòng)行文本指針。
  
   鎖定
   當(dāng)用戶獲取活動(dòng)文本指針時(shí),SQL Server
2000 在第一個(gè)用戶控制文本指針時(shí)鎖定數(shù)據(jù)行,并確保沒有其他用戶修改或刪
   除該行。鎖在文本指針變?yōu)闊o效時(shí)被釋放。若要使文本指針無效,請(qǐng)使用
sp_invalidate_textptr。
  
   當(dāng)事務(wù)的隔離級(jí)別是未提交讀或者數(shù)據(jù)庫(kù)為"只讀"模式時(shí),文本指針不能用于更新 BLOB
值。
  
   當(dāng)數(shù)據(jù)庫(kù)為"單用戶"模式時(shí),SQL Server 2000 不鎖定數(shù)據(jù)行。
  
  
為舉例說明,給出下面的表:
  
   CREATE TABLE t1 (c1 int, c2 text)
   EXEC
sp_tableoption 't1', 'text in row', 'on'
   INSERT t1 VALUES ('1', 'a')
  

   下面的事務(wù)將會(huì)成功:
  
   INSERT t1 VALUES ('1','This is text.')
   SET
TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
   GO
   BEGIN TRAN
  
DECLARE @ptr varbinary(16)
   SELECT @ptr = textptr(c2)
   FROM t1
  
WHERE c1 = 1
   READTEXT t1.c2 @ptr 0 5
   COMMIT TRAN
   GO
  

   下面的事務(wù)將會(huì)失敗:
  
   SET TRANSACTION ISOLATION LEVEL READ
UNCOMMITTED
   GO
   BEGIN TRAN
   DECLARE @ptr varbinary(16)
  
SELECT @ptr = textptr(c2)
   FROM t1
   WHERE c1 = 1
   WRITETEXT t1.c2
@ptr 'xx'
   COMMIT TRAN
   GO
  
   持續(xù)時(shí)間
  
行文本指針僅在事務(wù)內(nèi)有效。提交事務(wù)時(shí),文本指針變?yōu)闊o效。
  
   在某個(gè)事務(wù)內(nèi),當(dāng)發(fā)生下列任一操作時(shí),行文本指針可能無效:
  

   會(huì)話結(jié)束。
  
  
   刪除該事務(wù)中的數(shù)據(jù)行。(其它事務(wù)無法刪除數(shù)據(jù)行,因?yàn)樵撔邪i。)
  
  

   文本指針?biāo)诘谋淼募軜?gòu)已更改。使文本指針無效的架構(gòu)更改操作包括:創(chuàng)建或除去聚集索引,改變或除去表,截?cái)啾恚?br />   通過
sp_tableoption 更改 text in row 選項(xiàng),以及執(zhí)行 sp_indexoption。
   使用前面的示例,下列腳本在 SQL
Server 早期版本中有效,但在 SQL Server 2000 中將生成錯(cuò)誤。
  
   DECLARE @ptrval
varbinary(16)
   PRINT 'get error here'
   SELECT @ptrval =
TEXTPTR(c2)
   FROM t1
   WHERE c1 = 1
   READTEXT t1.c2 @ptrval 0
1
  
   在 SQL Server 2000 中,必須在事務(wù)內(nèi)使用行文本指針:
  
   BEGIN TRAN
  
DECLARE @ptrval varbinary(16)
   SELECT @ptrval = TEXTPTR(c2)
   FROM
t1
   WHERE c1 = 1
   READTEXT t1.c2 @ptrval 0 1
   COMMIT
  
  
NULL 文本
   可以在由 INSERT 生成的 NULL 文本上獲得行文本指針。而在以前,只有將 BLOB 更新為 NULL
后才能獲得文本指針。
  
   例如,下列代碼在 SQL Server 7.0 中無效,但在 SQL Server 2000
中有效。
  
   SET TRANSACTION ISOLATION LEVEL READ COMMITTED
   GO
  
INSERT INTO t1 VALUES (4, NULL)
   BEGIN TRAN
   DECLARE @ptrval
VARBINARY(16)
   SELECT @ptrval = TEXTPTR(c2)
   FROM t1
   WHERE c1 =
4
   WRITETEXT t1.c2 @ptrval 'x4'
   COMMIT
  
   在 SQL Server 7.0
中,必須執(zhí)行下列操作:
  
   INSERT INTO t1 VALUES (4, NULL)
   UPDATE t1
  
SET c2 = NULL
   WHERE c1 = 4
   DECLARE @ptrval VARBINARY(16)
  
SELECT @ptrval = TEXTPTR(c2)
   FROM t1
   WHERE c1 = 4
   WRITETEXT
t1.c2 @ptrval 'x4'
  
   下表匯總差別。
  
   差別 行文本指針 非行文本指針
   數(shù)字
對(duì)于每個(gè)數(shù)據(jù)庫(kù),每個(gè)事務(wù)最多允許 1024 個(gè)活動(dòng)行文本指針。 無限制。
   鎖定 將數(shù)據(jù)行一直 S 鎖定到指針變?yōu)闊o效為止。
  
當(dāng)事務(wù)為"未提交讀"或數(shù)據(jù)庫(kù)為"單用戶"或"只讀"模式時(shí)不獲取鎖。
   不鎖定數(shù)據(jù)行。
   持續(xù)時(shí)間
事務(wù)或會(huì)話結(jié)束、刪除行或更改表的架構(gòu)時(shí)變?yōu)闊o效。 刪除行時(shí)變?yōu)闊o效。
   NULL 文本 插入 NULL 文本后可立即獲取。 只有更新后才能獲取。

  
  
   通過數(shù)據(jù)庫(kù) API 使用 ntext、text 和 image 數(shù)據(jù)
   這一部分概述數(shù)據(jù)庫(kù) API 處理
ntext、text 和 image 數(shù)據(jù)的方式:
  
   ADO
   ADO 可以將 ntext、text 或 image
列或參數(shù)映射為 Field 或 Parameter 對(duì)象。使用 GetChunk 方法逐塊檢索數(shù)據(jù),使
   用 AppendChunk
方法逐塊寫數(shù)據(jù)。有關(guān)更多信息,請(qǐng)參見管理 Long 數(shù)據(jù)類型。
  
   OLE DB
   OLE DB 使用
ISequentialStream 接口支持 ntext、text 和 image 數(shù)據(jù)類型。ISequentialStream::Read
方法逐塊讀取
   長(zhǎng)數(shù)據(jù),ISequentialStream::Write 方法將長(zhǎng)數(shù)據(jù)逐塊寫入數(shù)據(jù)庫(kù)。有關(guān)更多信息,請(qǐng)參見 BLOB 和 OLE
對(duì)象。
  
   ODBC
   ODBC 具有一種稱為"執(zhí)行中的數(shù)據(jù)"的功能,可用于處理長(zhǎng)數(shù)據(jù)的 ODBC
數(shù)據(jù)類型:SQL_WLONGVARCHAR (ntext)、
   SQL_LONGVARCHAR (text) 和 SQL_LONGVARBINARY
(image)。這些數(shù)據(jù)類型被綁定到某個(gè)程序變量上。這樣一來,就可以調(diào)
   用 SQLGetData 逐塊檢索長(zhǎng)數(shù)據(jù),調(diào)用 SQLPutData
逐塊發(fā)送長(zhǎng)數(shù)據(jù)。有關(guān)更多信息,請(qǐng)參見管理 text 和 image 列。
  
   DB-Library
   DB-Library
應(yīng)用程序也是將 ntext、text 和 image 列綁定到程序變量上。DB-Library 函數(shù) dbtxtptr 用于獲取指向數(shù)
  
據(jù)庫(kù)中長(zhǎng)列出現(xiàn)位置的指針,dbreadtext 則用來逐塊讀取長(zhǎng)數(shù)據(jù)。dbwritetext、dbupdatetext 和 dbmoretext
之類的函
   數(shù)用于逐塊寫入長(zhǎng)數(shù)據(jù)。
  
  
  
   說明 不支持使用 DB-Library 訪問行文本

mysql中text,longtext,mediumtext字段類型的意思,以及區(qū)別

另外mysql中mediumblob,longblob字段類型的意思和區(qū)別

text字段類型是允許存放65535字節(jié)內(nèi)的文字字符串字段類型。

longtext字段類型是允許存放2147483647字節(jié)內(nèi)的文字字符串字段類型。

mediumtext字段類型是允許存放16777215字節(jié)內(nèi)的文字字符串字段類型。

mysql中text,longtext,mediumtext字段類型區(qū)別為:字節(jié)限制不同、I/O不同、行遷移不同。

一、字節(jié)限制不同

1、text字段類型:text字段類型的字節(jié)限制為65535字節(jié)。

2、longtext字段類型:longtext字段類型的字節(jié)限制為2147483647字節(jié)。

3、mediumtext字段類型:mediumtext字段類型的字節(jié)限制為16777215字節(jié)。

二、I/O不同

1、text字段類型:text字段類型比longtext、mediumtext字段類型更不容易造成多余的I/O。

2、longtext字段類型:longtext字段類型比text、mediumtext字段類型更容易造成多余的I/O。

3、mediumtext字段類型:mediumtext字段類型比text字段類型更容易造成多余的I/O,比longtext字段類型更不容易造成多余的I/O。

三、行遷移不同

1、text字段類型:text字段類型比longtext、mediumtext字段類型更容易進(jìn)行行遷移。

2、longtext字段類型:longtext字段類型比text、mediumtext字段類型更不容易進(jìn)行行遷移。

3、mediumtext字段類型:mediumtext字段類型比text字段類型更不容易進(jìn)行行遷移,比longtext字段類型更容易進(jìn)行行遷移。

MySQL支持大量的列類型,它可以被分為3類:數(shù)字類型、日期和時(shí)間類型以及字符串(字符)類型。本節(jié)首先給出可用類型的一個(gè)概述,并且總結(jié)每個(gè)列類型的存儲(chǔ)需求,然后提供每個(gè)類中的類型性質(zhì)的更詳細(xì)的描述。概述有意簡(jiǎn)化,更詳細(xì)的說明應(yīng)該考慮到有關(guān)特定列類型的附加信息,例如你能為其指定值的允許格式。

由MySQL支持的列類型列在下面。下列代碼字母用于描述中:

M
指出最大的顯示尺寸。最大的合法的顯示尺寸是 255 。
D
適用于浮點(diǎn)類型并且指出跟隨在十進(jìn)制小數(shù)點(diǎn)后的數(shù)碼的數(shù)量。最大可能的值是30,但是應(yīng)該不大于M-2。
方括號(hào)(“[”和“]”)指出可選的類型修飾符的部分。

注意,如果你指定一個(gè)了為ZEROFILL,MySQL將為該列自動(dòng)地增加UNSIGNED屬性。

TINYINT[(M)] [UNSIGNED] [ZEROFILL]
一個(gè)很小的整數(shù)。有符號(hào)的范圍是-128到127,無符號(hào)的范圍是0到255。

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
一個(gè)小整數(shù)。有符號(hào)的范圍是-32768到32767,無符號(hào)的范圍是0到65535。

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
一個(gè)中等大小整數(shù)。有符號(hào)的范圍是-8388608到8388607,無符號(hào)的范圍是0到16777215。

INT[(M)] [UNSIGNED] [ZEROFILL]
一個(gè)正常大小整數(shù)。有符號(hào)的范圍是-2147483648到2147483647,無符號(hào)的范圍是0到4294967295。

INTEGER[(M)] [UNSIGNED] [ZEROFILL]
這是INT的一個(gè)同義詞。

BIGINT[(M)] [UNSIGNED] [ZEROFILL]

一個(gè)大整數(shù)。有符號(hào)的范圍是-9223372036854775808到9223372036854775807,無符號(hào)的范圍是0到

18446744073709551615。注意,所有算術(shù)運(yùn)算用有符號(hào)的BIGINT或DOUBLE值完成,因此你不應(yīng)該使用大于9223372036854775807(63位)的有符號(hào)大整數(shù),除了位函數(shù)!注意,當(dāng)兩個(gè)參數(shù)是INTEGER值時(shí),-、+和*將使用BIGINT運(yùn)算!這意味著如果你乘2個(gè)大整數(shù)(或來自于返回整數(shù)的函數(shù)),如果結(jié)果大于9223372036854775807,你可以得到意外的結(jié)果。一個(gè)浮點(diǎn)數(shù)字,不能是無符號(hào)的,對(duì)一個(gè)單精度浮點(diǎn)數(shù),其精度可以是<=24,對(duì)一個(gè)雙精度浮點(diǎn)數(shù),是在25 和53之間,這些類型如FLOAT和DOUBLE類型馬上在下面描述。FLOAT(X)有對(duì)應(yīng)的FLOAT和DOUBLE相同的范圍,但是顯示尺寸和小數(shù)位數(shù)是未定義的。在MySQL3.23中,這是一個(gè)真正的浮點(diǎn)值。在更早的MySQL版本中,F(xiàn)LOAT(precision)總是有2位小數(shù)。該句法為了ODBC兼容性而提供。

FLOAT[(M,D)] [ZEROFILL]
一個(gè)小(單精密)浮點(diǎn)數(shù)字。不能無符號(hào)。允許的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。M是顯示寬度而D是小數(shù)的位數(shù)。沒有參數(shù)的FLOAT或有<24 的一個(gè)參數(shù)表示一個(gè)單精密浮點(diǎn)數(shù)字。

DOUBLE[(M,D)] [ZEROFILL]
一個(gè)正常大小(雙精密)浮點(diǎn)數(shù)字。不能無符號(hào)。允許的值是-1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308。M是顯示寬度而D是小數(shù)位數(shù)。沒有一個(gè)參數(shù)的DOUBLE或FLOAT(X)(25 < = X < = 53)代表一個(gè)雙精密浮點(diǎn)數(shù)字。

DOUBLE PRECISION[(M,D)] [ZEROFILL]

REAL[(M,D)] [ZEROFILL]
這些是DOUBLE同義詞。

DECIMAL[(M[,D])] [ZEROFILL]
一個(gè)未壓縮(unpack)的浮點(diǎn)數(shù)字。不能無符號(hào)。行為如同一個(gè)CHAR列:“未壓縮”意味著數(shù)字作為一個(gè)字符串被存儲(chǔ),值的每一位使用一個(gè)字符。小數(shù)點(diǎn),并且對(duì)于負(fù)數(shù),“-”符號(hào)不在M中計(jì)算。如果D是0,值將沒有小數(shù)點(diǎn)或小數(shù)部分。DECIMAL值的最大范圍與DOUBLE相同,但是對(duì)一個(gè)給定的DECIMAL列,實(shí)際的范圍可以通過M和D的選擇被限制。如果D被省略,它被設(shè)置為0。如果M被省掉,它被設(shè)置為10。注意,在MySQL3.22里,M參數(shù)包括符號(hào)和小數(shù)點(diǎn)。

NUMERIC(M,D) [ZEROFILL]
這是DECIMAL的一個(gè)同義詞。

DATE
一個(gè)日期。支持的范圍是'1000-01-01'到'9999-12-31'。MySQL以'YYYY-MM-DD'格式來顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列。

DATETIME
一個(gè)日期和時(shí)間組合。支持的范圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式來顯示DATETIME值,但是允許你使用字符串或數(shù)字把值賦給DATETIME的列。

TIMESTAMP[(M)]
一個(gè)時(shí)間戳記。范圍是'1970-01-01 00:00:00'到2037年的某時(shí)。MySQL以YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD格式來顯示TIMESTAMP值,取決于是否M是14(或省略)、12、8或6,但是允許你使用字符串或數(shù)字把值賦給TIMESTAMP列。一個(gè)TIMESTAMP列對(duì)于記錄一個(gè)INSERT或UPDATE操作的日期和時(shí)間是有用的,因?yàn)槿绻悴蛔约航o它賦值,它自動(dòng)地被設(shè)置為最近操作的日期和時(shí)間。你以可以通過賦給它一個(gè)NULL值設(shè)置它為當(dāng)前的日期和時(shí)間。
TIME
一個(gè)時(shí)間。范圍是'-838:59:59'到'838:59:59'。MySQL以'HH:MM:SS'格式來顯示TIME值,但是允許你使用字符串或數(shù)字把值賦給TIME列。

YEAR[(2|4)]
一個(gè)2或4位數(shù)字格式的年(缺省是4位)。允許的值是1901到2155,和0000(4位年格式),如果你使用2位,1970-2069( 70-69)。MySQL以YYYY格式來顯示YEAR值,但是允許你把使用字符串或數(shù)字值賦給YEAR列。(YEAR類型在MySQL3.22中是新類型。)

CHAR(M) [BINARY]
一個(gè)定長(zhǎng)字符串,當(dāng)存儲(chǔ)時(shí),總是是用空格填滿右邊到指定的長(zhǎng)度。M的范圍是1 ~ 255個(gè)字符。當(dāng)值被檢索時(shí),空格尾部被刪除。CHAR值根據(jù)缺省字符集以大小寫不區(qū)分的方式排序和比較,除非給出BINARY關(guān)鍵詞。NATIONAL CHAR(短形式NCHAR)是ANSI SQL的方式來定義CHAR列應(yīng)該使用缺省字符集。這是MySQL的缺省。CHAR是CHARACTER的一個(gè)縮寫。

[NATIONAL] VARCHAR(M) [BINARY]
一個(gè)變長(zhǎng)字符串。注意:當(dāng)值被存儲(chǔ)時(shí),尾部的空格被刪除(這不同于ANSI SQL規(guī)范)。M的范圍是1 ~ 255個(gè)字符。 VARCHAR值根據(jù)缺省字符集以大小寫不區(qū)分的方式排序和比較,除非給出BINARY關(guān)鍵詞值。 VARCHAR是CHARACTER VARYING一個(gè)縮寫。

TINYBLOB

TINYTEXT
一個(gè)BLOB或TEXT列,最大長(zhǎng)度為255(2^8-1)個(gè)字符。
BLOB

TEXT
一個(gè)BLOB或TEXT列,最大長(zhǎng)度為65535(2^16-1)個(gè)字符。

MEDIUMBLOB

MEDIUMTEXT
一個(gè)BLOB或TEXT列,最大長(zhǎng)度為16777215(2^24-1)個(gè)字符。
LONGBLOB

LONGTEXT
一個(gè)BLOB或TEXT列,最大長(zhǎng)度為4294967295(2^32-1)個(gè)字符。

ENUM('value1','value2',...)
枚舉。一個(gè)僅有一個(gè)值的字符串對(duì)象,這個(gè)值式選自與值列表'value1'、'value2', ...,或NULL。一個(gè)ENUM最多能有65535不同的值。

SET('value1','value2',...)
一個(gè)集合。能有零個(gè)或多個(gè)值的一個(gè)字符串對(duì)象,其中每一個(gè)必須從值列表'value1', 'value2', ...選出。一個(gè)SET最多能有64個(gè)成員。

SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)類型有哪些,請(qǐng)?jiān)敿?xì)解釋一下

》SQL Server 中的數(shù)據(jù)類型歸納為下列類別:

精確數(shù)字
Unicode 字符串

近似數(shù)字

二進(jìn)制字符串

日期回和時(shí)間

其他數(shù)據(jù)類型

字符串

》在答 SQL Server 中,根據(jù)其存儲(chǔ)特征,某些數(shù)據(jù)類型被指定為屬于下列各組:

大值數(shù)據(jù)類型:varchar(max)、nvarchar(max) 和
varbinary(max)
大型對(duì)象數(shù)據(jù)類型:text、ntext、image、varchar(max)、nvarchar(max)、varbinary(max)
和 xml

》精確數(shù)字

bit(位)

tinyint(1個(gè)字節(jié))

smallint(2個(gè)字節(jié),-32767~32767)

int(4個(gè)字節(jié),-20億~20億)

bigint(8個(gè)字節(jié))

numeric

decimal

smallmoney

money

》近似數(shù)字

float
real

》日期和時(shí)間

date
smalldatetime(精確到分鐘)

datetime

datetime2

time

datetimeoffset(時(shí)間差)

》字符串

char
varchar

text

》Unicode 字符串

nchar
nvarchar

ntext

》二進(jìn)制字符串

binary
varbinary

image
MySQL數(shù)據(jù)類型

在 MySQL 中,有復(fù)三制種主要的類型:Text(文本)、Number(數(shù)字)和 Date/Time(日期/時(shí)間)類型。

話不多說,直接上圖。

Text 類型:

Number 類型:

-from shulanxt

Date 類型:

SQL中的數(shù)據(jù)類型漢語(yǔ)意思是什么?

bigint rnbinary rnbit rnchar rndatetime rndecimal rnfloat rnimage rnint rnmoney rnnchar rnntext rnnumeric rnnvarchar rnreal rnsmalldatetime rnsmallint rnsmallmoney rnsql_variant rntext rntimestamp rntinyint rnuniqueidentifier rnvarbinary rnvarchar
都是來定義的

相關(guān)推薦:

公職人員離婚(公職人員離婚會(huì)受到哪些影響)

離婚辦理分戶(離婚后如何辦理戶口分戶)

離婚租房分戶(離婚后租房住戶口怎么辦)

取保候?qū)忛_戶籍證明嗎(取保候?qū)徯枰獞艏C明嗎)

離婚女方搬家(在離婚之后 女方需要把戶口遷出去嗎)

熱門標(biāo)簽

主站蜘蛛池模板: 沁阳市| 杭锦后旗| 法库县| 仪陇县| 玉树县| 临湘市| 理塘县| 莒南县| 砀山县| 孝昌县| 济南市| 颍上县| 秦皇岛市| 共和县| 内江市| 日照市| 石家庄市| 会泽县| 苍溪县| 哈尔滨市| 平安县| 永城市| 商都县| 简阳市| 绍兴市| 皋兰县| 九江市| 永登县| 军事| 醴陵市| 固安县| 望城县| 资源县| 平谷区| 郑州市| 龙里县| 顺义区| 通州区| 竹北市| 延吉市| 海口市|