1樓:支紫文
char型別之所以叫定長字串,是因為一旦確定了n的最大字元數,不管存的資料是多少,該資料佔用的空間就是n個字元。例如:name char(10),存入「張三丰」,存了3個字元,剩餘的空間會用空格補全。
因此char型別可能會浪費空間。
但在儲存長度固定的資料時,char型別相比varchar型別速度要快一些,因為char型別只需判斷乙個資料是否能存入該列中,而不需要將剩餘的空間留給別的資料使用!
2樓:威武又順心的桃花
型別與varchar型別的區別。
char和varchar存的數量是不同的,char型別最多能存255個字元,varchar型別最多能存65535個字元。
char型別如果存的資料量小於最大長度,剩餘的空間會使用空格填充,因此可能會浪費空間,所以char型別適合儲存長度固定的資料,這樣既不會浪費空間,效率還比varchar略高。
varchar型別如果存到資料量小於最大長度,剩餘的空間會留給別的資料使用,所以varchar型別適合儲存長度不固定的資料,這樣雖然沒有char儲存效率高,但至少不會浪費空間。
這個兩個型別的範圍設定的適合,也會一種優化資料庫的好方法。
varchar是什麼資料型別
3樓:茶杯評數碼
varchar(m)是一種比char更加靈活的資料型別,同樣用於表示字元資料。
varchar可以儲存可變長度的字串。其中m代表該資料型別所允許儲存的字串的最大長度,只要長度小於該最大值的字串都可以被儲存在該資料型別中。
因此,對於那些難以估計確切長度的資料物件來說,使用varchar資料型別更加明智。以前,varchar資料型別所支援的最大長度255,以上版本支援65535位元組長度,utf8編碼下最多支援21843個字元(不為空)。
varchar型欄位的另乙個突出的好處是它可拿兄毀以比char型欄位佔用更少的記憶體和硬碟空間。當資料庫很塵帆大時,這種記憶體和磁碟空間的節省會變得非常重要。。
varchar的特點:
1、使用比消備固定長度型別(char)佔用更少儲存空間(除了使用row_format=fixed建立的myisam表)。
2、使用額外的1-2位元組來儲存值長度,列長度<=255使用1位元組儲存,其它情況使用2位元組儲存。例如varchar(10)會佔用11位元組儲存空間,varchar(500)會佔用502位元組儲存空間。
3、節約空間,所以效能會有幫助。在更新的時候會產生額外的工作。最大長度遠大於平均長度,很少發生更新的時候適合使用varchar,因為碎片更少了。
0以上版本,取值或設定值都會儲存字串末尾的空格,之前的版本都會把字串末尾的空格刪除掉。
資料庫中char和varchar的區別
4樓:豬八戒網
資料庫中char和varchar的區別為:長度不同、效率不同、儲存不同。
一、長度不同。
1、char型別:char型別的長度是固定的。
2、varchar型別:varchar型別的長度是可變的。
二、效率不同。
1、char型別:char型別緩拿啟每次修改的資料長度相同,效率更高。
2、varchar型別:varchar型別每次修改的資料長度不同,效率更低。
三、儲存不同。
1、char型別:char型別儲存的時候是初始預計字串再加上擾如一敏春個記錄字串長度的位元組,佔用空間較大。
char是資料型別嗎
5樓:蘇嘉愛娛樂
char是:c/c++整型資料型別。
char用於c或c++中定義字元型變數,只佔乙個位元組,取值範圍為 -128 ~ 127(-2^7~2^7-1)。
c語言中如int、long、short等不指定signed或unsigned時都稿櫻神預設為signed,但char在標準中不指定為signed或unsigned,編譯器可以編譯為帶符號的,也可以編譯為不帶符鍵虧號的。
型別:c/c++整型資料之一。
關於char還有乙個特殊的語言就是char *,它在c/c++中有專門的語義,既不同於signed char *,也不同於unsigned char *,專門用於指以'\0'為結束的字元頌搜串。
整型資料分類:
1、char:字元型資料,屬於整型資料的一種,佔用乙個位元組。
2、unsigned char:無符號字元型資料,屬於整型資料的一種,佔用乙個位元組。
3、short:短整型資料,屬於整型資料的一種,佔用兩個位元組。
4、unsigned short:無符號短整型資料,屬於整形資料的一種,佔用兩個位元組。
5、int:整型資料,屬於整型資料的一種,佔用四個位元組。
6、unsigned int:無符號整型資料,屬於整型資料的一種,佔用四個位元組。
7、long:長整型資料,屬於整型資料的一種,佔用四個位元組。
8、unsigned long:無符號長整型資料,屬於整形資料的一種,佔用四個位元組。
以上內容參考:百科-char
資料庫中char和varchar的區別
char的長度是不可變的,而varchar的長度是可變的,也就是說,定義一個char 10 和varchar 10 如果存進去的是 csdn 那麼char所佔的長度依然為10,除了字元 csdn 外,後面跟六個空格,而varchar就立馬把長度變為4了,取資料的時候,char型別的要用trim 去掉...
c,c 可以修改char型別值嗎
原因 char p hello p 2 w 這裡的p是一個指向常量字串的指標 他可以相當與 const char p hello 根據定義 指向常量字串的指標不能更改指標指向的內容,但是可以改變本身的值,既是執行 p 2 w 錯誤 p bcvcbvv 正確 char pp hello 這個相當與指標...
java中char型別是怎麼進行比較的,也就是說在比較的時候是不是要轉換成其他資料型別再比較呢
public class chartest static char c1 a static char c2 c public static void main string args system.out.println c1 c2 測試結果 false system.out.println c1 ...