string和varchar的區別?
String在java里無長度限制,VARCHAR在oracle里是有長度限制的;
2.
String修飾的字符串不能被修改,varchar修飾的字符串能被修改;
3.
String是以大寫字母開始的,varchar不是以大寫字母開始的;
4.
String是一種固定長度的類型,varchar則是一種可變長度的類型;
5.
java這門語言將String類型的內部數據結構是以一個對象的操作來考慮的,java這門語言將varchar類型的內部數據結構沒有以一個對象的操作來考慮的;
6.
String在mysql中為不可變長度的字符串,varchar在mysql中為可變長度的字符串;
7.
相同存儲量的話String比varchar更占空間。
VARCHAR(M)是一種比CHAR更加靈活的數據類型,同樣用于表示字符數據,但是VARCHAR可以保存可變長度的字符串。其中M代表該數據類型所允許保存的字符串的最大長度,只要長度小于該最大值的字符串都可以被保存在該數據類型中。
因此,對于那些難以估計確切長度的數據對象來說,使用VARCHAR數據類型更加明智。MySQL4.1以前,VARCHAR數據類型所支持的最大長度255,5.0以上版本支持65535字節長度,utf8編碼下最多支持21843個字符(不為空)。