朋友,据我所知varchar字段类型已经够用了,char类型其长度是固定的,在创建表时就指定了,
但是varchar类型的长度是可变的,在建表的时候就制定了最大长度,其最大值可以取:0~65535之间的任意值(长度可以再0到最大值之间) 而且在这个最大范围内,使用多少则分配多大的空间,例如varchar(100),并不是每条记录都要占用100个字节哦!! 最后强调:varchar类型实际占用的空间为字符串的实际长度加1 如varchar(10):字段 ‘123’,他占的内存字节是4(3+1),而char(10)则占用了10个字节。 全手工,希望朋友采纳
对于大篇幅的文本字段,一般推荐用text和blob数据类型定义字段, 有时候不必在于一点空间的消耗,只要我们在数据库优化做好就够了
需要定义成字符型,一般可用char、varchar、nchar、nvarchar等,具体需要看实际需求。
这几种类型的比较:
CHAR
CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。
VARCHAR
存储变长数据,但存储效率没有CHAR高,如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么"+1"呢?这一个字节用于保存实际使用了多大的长度。
从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。
NCHAR、NVARCHAR
这两种从名字上看比前面三种多了个"N"。和char、varchar比较起来,nchar、nvarchar最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。
所以一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar
不能准确的翻译,而使用拼音或缩写也不直观,不如直接使用英文。
2、在简历的、快速开法的(低成本仅供演示的)项目中,往往对数据字典没什么特别的要求,也无需考虑稳定性、迁移性等。使用中文可以方便修改逻辑结构模型,方便SQL语句设计,而且将来可以随时改为英文字段名。
优点:
1、不必考虑命名规范
2、很清晰的知道我们要 *** 作的字段,看起来简直一目了然。--当然如果数据库被其他人进入也是一目了然,安全性差一点。
3、页面显示的时候无需转换。
4、添加、更改字段属性,无需调整永久字段。 --关于这一点,我并没有理解。若有人明白,请帮助下我,万分感谢。
缺点:
1、编写时中文的“,”和英文的“,”,中文的全角半角等切换太麻烦,很容易出问题。
2、看起来有点Low,也容易出现打错列名。--介于智能输入法的智能提示及我们国家语文的博大精深。
3、中文储存预英文储存有差异,所以一些系统视图中可能会有一些性能或者维护上的影响。合并列的时候很麻烦。
4、兼容性差。如多语言环境下、多种数据库情况下,兼容性差。在Java中,是不支持中文列名的,它会直接导致你的 *** 作不成功。
总的来说,选用中文表名列名弊远大于利。所以为了避免不必要的麻烦和莫名其妙的错误,其他场景下还是选用英文为好。
但我们需要注意的是:
1、一定要命名规范。
2、要避免一些名称与关键字冲突。
3、考虑界面友好,页面显示一定要显示中文。
以上就是关于mssql或mysql数据库中怎么存储大段文字呢(1000个中文字符以上)全部的内容,包括:mssql或mysql数据库中怎么存储大段文字呢(1000个中文字符以上)、数据库中对于存储汉字和各种符号的字段应该定义为什么类型、数据库名是中文,需要注意什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)