数据库字段设置长度有什么要求吗

数据库字段设置长度有什么要求吗,第1张

本人这个领域工作10多年,没有听说过数据库字段最好要设置成2的N次方这种说法。相信现在的数据库系统和CPU缓存机制早就做了优化,上层设计数据模型的时候根本无须考虑这些,尽管根据业务需要来定义字段长度吧。

MYSQL,datetime类型长度填8位。

日期型(DATETIME)数据是表示日期数据,用字母D表示。日期的默认格式是{mm/dd/yyyy},其中mm表示月分,dd表示日期,yyyy表示年度,固定长度为8位。日期范围为介于100到9999年的日期或时间数值。

扩展资料:

MySQL主要分为三种类型:字符串,日期和数字(每种类型实际上都有一个二进制类型,但并不常用)。

*字符串分为定长char和不定长度varchar,char以声明的长度为准,而varchar的长度与值的长度和字符集有关。

*数字和日期均为固定长度的字段。不同的类型具有不同的长度。例如,Datetime是5.6.4之后的5个字节,之前的是8个字节;timestamp是4个字节,因为其存储整数,小数部分的长度通常与位数有关。

实现的方法和详细的 *** 作步骤如下:

1、首先,打开sql查询器,并连接相应的数据库表,例如store表,如下图所示。

2、其次,完成上述步骤后,单击工具栏的“查询”选项,然后输入如下代码,如下图所示。

3、最后,完成上述步骤后,单击“运行”选项来查询所需结果,如下图所示。这样,以上的问题就解决了。

char [ ( n ) ]

固定长度字符数据类型,非Unicode字符数据,长度为n个字节。

n 的取值范围为 1至 8,000,存储大小是n个字节。如果输入的

字符串长度不足N 则在右边用空格补足

例:

declare @str char(5)

set @str='ab'

select @str

select DATALENGTH(@str)

/

ab(三个空格)

----------------------

5

/

varchar [ ( n | max ) ]

可变长度的字符数据类型,非Unicode字符数据。n的取值范围为

1 至 8,000或者max,max指示最大存储大小是 2^31-1(2^31为的次方)个字节。

存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。

例:

declare @str varchar(5)

set @str='ab'

select @str

select DATALENGTH(@str)

/

ab(没有空格)

----------------------

2

/

如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。

如果在使用 CAST 和 CONVERT函数时未指定n,则默认长度为 30。

将为使用 char或varchar 的对象指派数据库的默认排序规则,

除非使用 COLLATE子句指派了特定的排序规则。

该排序规则控制用于存储字符数据的代码页。

如果站点支持多语言,请考虑使用Unicodenchar 或 nvarchar 数据类型,

以最大限度地消除字符转换问题。如果使用char或 varchar,建议执行以下 *** 作:

如果列数据项的大小一致,则使用char。

如果列数据项的大小差异相当大,则使用varchar。

如果列数据项大小相差很大,而且大小可能超过 8,000字节,请使用varchar(max)。

当执行 CREATETABLE或 ALTER TABLE 时,如果SETANSI_PADDING 为 OFF,则定义为NULL的 char 列将作为 varchar处理。

当排序规则代码页使用双字节字符时,存储大小仍然为n个字节。根据字符串的不同,n个字节的存储大小可能小于n 个字符。

字符数据类型(nchar长度固定,nvarchar长度可变)和 Unicode数据使用 UNICODEUCS-2字符集。

nchar [ ( n ) ]

n 个字符的固定长度的Unicode字符数据。n值必须在 1到 4,000之间(含)。

存储大小为两倍 n 字节。

例:

declare @str1 nchar(5)

set @str1='ab'

select @str1

select DATALENGTH(@str1)

/

ab(三个空格)

---------------

10

/

declare @str2 nchar(5)

set @str2='我爱你小三'

select @str2

select DATALENGTH(@str2)

/

我爱你小三

------------------

10

/

nvarchar [ ( n | max ) ]

可变长度 Unicode 字符数据。n值在 1到 4,000之间(含)。

max 指示最大存储大小为 2^31-1字节。存储大小是所输入字符个数的两倍+ 2 个字节。

所输入数据的长度可以为 0 个字符。

例:

declare @str1 nvarchar(5)

set @str1='ab'

select @str1

select DATALENGTH(@str1)

/

ab(无空格)

---------------

4

/

declare @str2 nvarchar(5)

set @str2='我爱你小三'

select @str2

select DATALENGTH(@str2)

/

我爱你刘桦

------------------

10

/

如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用CAST函数指定 n,则默认长度为 30。

如果列数据项的大小可能相同,请使用nchar。

如果列数据项的大小可能差异很大,请使用nvarchar。

sysname 是系统提供的用户定义数据类型,除了不可为空值外,

在功能上与 nvarchar(128)相同。sysname用于引用数据库对象名。

为使用 nchar或nvarchar 的对象分配的是默认的数据库排序规则,

但可使用 COLLATE子句分配特定的排序规则。

SET ANSI_PADDINGON永远适用于 nchar 和 nvarchar。SETANSI_PADDINGOFF不适用于 nchar 或nvarchar 数据类型。

以上就是关于数据库字段设置长度有什么要求吗全部的内容,包括:数据库字段设置长度有什么要求吗、请教关于MYSQL数据库中的字段长度,谢谢、SQL查询中,如何判断一个字符串字段的内容的长度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9675426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存