資料庫中char和nchar的區別,分別什麼時候用,什麼意思,求解釋

2021-03-27 18:10:57 字數 1095 閱讀 1695

1樓:會飛的小兔子

1、位元組不同

char型別是一個位元組char(8)只能存8字母;

nchar型別是雙位元組nchar(8)能存8個漢字;

2、佔據空間不同

char、char儲存定長資料很方便,char欄位上的索引效率級高,比如定義char(10);

那麼不論儲存的資料是否達到了10個位元組,都要佔去10個位元組的空間;

3、使用條件不同

如果資料量非常大,又能100%確定長度且儲存只是ansi字元,那麼char;能確定長度又不一定是ansi字元或者,那麼用nchar;

對於超大資料,如文章內容,使用ntext;其他的通用nvarchar。

2樓:匿名使用者

對於程式中的string型欄位,sqlserver中有char、varchar、nchar、nvarchar四種型別來對應(暫時不考慮text和ntext),開建立資料庫中,對這四種型別往往比較模糊,這裡做一下對比。

1.有var字首的,表示是實際儲存空間是變長的,varchar,nvarchar

所謂定長就是長度固定的,當輸入的資料長度沒有達到指定的長度時將自動以英文空格在其後面填充,使長度達到相應的長度;而變長字元資料則不會以空格填充,比較例外的是,text儲存的也是可變長。

2.n表示unicode字元,即所有字元都佔兩個位元組,nchar,nvarchar

字元中,英文字元只需要一個位元組儲存就足夠了,但漢字眾多,需要兩個位元組儲存,英文與漢字同時存在時容易造成混亂,unicode字符集就是為了解決字符集這種不相容的問題而產生的,它所有的字元都用兩個位元組表示,即英文字元也是用兩個位元組表示。

3.基於以上兩點來看看欄位容量

char,varchar

最多8000個英文,4000個漢字

nchar,nvarchar

可儲存4000個字元,無論英文還是漢字

4.使用(個人偏好)

a.如果資料量非常大,又能100%確定長度且儲存只是ansi字元,那麼char

b.能確定長度又不一定是ansi字元或者,那麼用nchar;

c.對於超大資料,如文章內容,使用ntext

d.其他的通用nvarchar

有「學生課程」資料庫,資料庫中包括表

使用t sql語言完成下列操作1 建立 學生 課程 資料庫 將資料檔案和日誌有一個 學生 課程 資料庫,資料庫中包括三個表 1 學生 表1.最討厭這種不加思考發一大堆問題上來,可悲現在的學校,可嘆現在的學生,只會依賴,不會自己研究一下麼 我也知道是資料庫哇 這樣的回答也算是滿意答案,真是的。發問題的...

資料庫連線語句,C 中連線資料庫的語句?

資料庫連線字串已經在配置檔案定義了,呵呵,實際應用和學校有點區別的。呃,你開啟configurationmanager,看看onlineshopconnectionstring就明白了。c 中連線資料庫的語句?c 資料庫連線 系統引用using using access資料庫需要。using sql...

如何在mysql資料庫中資料庫,如何在MYSQL資料庫中新建一個資料庫

1 開啟電腦的sql軟體 輸入使用者名稱和密碼,連線上mysql主機地址,將mysql啟動。2 進入mysql裡面後,用滑鼠右鍵點選主機,然後會彈出選單欄,點選裡面的 建立資料庫 也可以使用快捷鍵ctrl d。3 接著會出現 建立資料庫 的視窗,為建立的資料庫取名,並選擇 基字符集 為 utf 8 ...