从零开始学日语 介绍:sql数据库问题 !!高手请进!

来源:百度文库 编辑:高考问答 时间:2024/04/27 22:27:52
我在SQL数据库里面设置字段 name 长度为20 通过程序朝数据库里面写入一个不足20的字(手动直接写也是一样!),结果数据库里面不足20位的后面补入空格,这样给我的读取造成一定的麻烦,我想问问高手,怎么让数据库象ACCESS数据库一样,写入几位是几位,不要把不足的补上空格!!谢谢,怎么设置数据库?我的想法可以实现么?

name 字段的数据类型改位 varchar(20)

(现在是char(20))

char 和 varchar 的区别:

例如:
char(20) 数据字符数必须在20个以内,没有到达以空格填充。
varchar(20) 数据字符数必须在20个以内,没有到达自动改变字段数据长度。

优点和缺点:

char类型 字段同长度 服务器查询时方便,速度快。(适合小数据)
varchar类型 字段不同长度 节约容量。 (适合大的数据)

是的,你现在的数据类型是char吧,换成varchar就好了

char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar 是变长字符数据,所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。

把name的数据类型由char(20)改成varchar(20)

Varchar与char的区别 :
Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节
char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节
Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。

由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!