数据库字段类型设计

数据库字段类型设计,第1张

一、整型:

1、tinyint:tinyint 是-128到128 。当属性设置为unsigned的时候。最大值就是255了。现在知道为什么需要设置为unsigned属性了。原来是为了最大限度的使用给予的存储空间。如果不设置。那么假如你的值都是正数的。那么-128这一百多个数字就相当于是浪费了。默认tinyint会自动设置为tinyint(3)

2、int,占四个字节,取值范围是-2^31到2^31-1(大约正负二十亿)int 类型phpmyadmin默认会设置int(10)

3、bigint,占八个字节,取值范围是-2^63到2^63-1

二、时间类型

1、Date:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”;

2、TimeStamp:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”;

3、DateTime:也是存储既有日期又有时间的数据。存储和显示的格式跟TimeStamp一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”; (一般用这个)

1、尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED

2、大小(VARCHAR的长度只分配真正需要的空间)

3、使用枚举或整数代替字符串类型

4、类型(尽量使用TIMESTAMP而非DATETIME,在精度要求高的应用中,建议使用定点数来存储数值,以保证结果的准确性。能用decimal就不要用float)

5、单表不要有太多字段,建议在20以内

6、值(是否允许为空、是否有默认值,尽量避免使用NULL字段,很难查询优化且占用额外索引空间)

7、用整型来存IP

8、合理的字段名(符合3NF,避免不必要的数据冗余,参考 3NF)

9、创建并使用正确的索引

10、将字段设置为not null 还出于另外一种考虑:mysql表的列中包含null的话,那么该列不会包含在所有中。也就是使用索引是无效的。所有,考虑今后会使用索引的字段,就要设置字段属性是not null。

11、如果你要保存NULL,手动去设置它,而不是把它设为默认值。

12、考虑到这个字段今后会作为查询关键字使用like的形式进行搜索。那么要将该字段定义成索引。这样使用like查询就会更快。

用户名当然不能是int,int表示整数,用户名一般是汉字或者英文,也不能使用text,text是文本文件,当有大量的文字,并且超过255个时候才会用,比如一本书的简介,一般默认是8kb,用char,或者varchar,char时你要设定长度,有时候如果长度不足,会浪费资源,大多说使用varchar,这个可以自动伸缩字节的长度,不浪费空间与资源。

还有其他的你再问,我具体的给你回答。

access数据库中查询条件不为空,应在“查询设计”中,“条件”中输入“Is Not Null”。

以access2013为示例,步骤如下:

1、运行access2013,创建一个示例用”教职员“表。添加几条数据,其中”姓氏“、”名字“包含有空值。

2、点击“创建”选项卡,点击“查询设计”。

3、添加“教职员”表。

4、选择“姓氏”字段,

5、点击“条件”,输入“Is Not Null”,注意输入法应为英语,并且无需引号。

6、为了对比,再添加一个“名字“字段,不添加条件。

7、点击“运行”按钮,运行这个查询。

8、可以看到,”姓氏“字段中没有空值,“名字”字段中包含了空值。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存