(二)MYSQL数据表设计

1、字段——列;记录——行

2、SQL在Windows不区分大小写,在Linux/Unix区分大小写

一、数据类型(4种)

1、数值型

(1)整型(整数)

* 非常小的整型      1字节    -128--127            0-- 255(无符号)          TINYINT

* 较小的整型          2字节    -32768--32767  0--65535                           SMALLINT

* 中等大小的整型  3字节                                 0--16777215                      MEDIUMINT

* 标准的整数型       4字节    -2147483648--2147483647                       INT

* 大整数型               8字节                                                                             BIGINT

(2)浮点型(小数)

*  float(M,D)            4字节                   共M位,保留D位

*  double(M,D)          8字节

*  定点数(以字符串形式存放)  decimal(M, D)        M+2字节

2、字符型

(1)

* char(m)               255  固定长度      指定m长度

* varchar(m)          255  可变长度

——————————————————————————————————————————

 char(4)                        varchar(4)    varchar 永远是内容+1字节

''空的     4 字节          ''            1字节

'ab'         4字节           'ab'        3字节

'abcd'     4 字节          'abcd'     5字节

'abcdefg'4字节           'abcdefg'5字节     超过了截断

————————————————————————————————————————————

varchar 会删除空格

(2)保存较大数据:

* text  文本数据  (例如文章、日记)  2 ^16- 1

MEDIUMTEXT 中型文本  2 ^32- 1

LONGTEXT 长文本  2 ^64- 1

* blob  二进制数据 (例如照片,电影,压缩包)

MEDIUMBLOB

LONGBLOB

(3)

* ENUM  枚举  1或2字节(占用字节少)

ENUM("one", "two", "three", "four")   涉及这一列,只能有这四个中的一个,占字节少是因为用的下标

一次只能用一个值

* SET  集合  1,2,3,4,8字节    

一次可以用多个集合中的值,中间使用“,”分开

 3、日期型

* DATE                YYYY-MM-DD

* TIME                 hh:mm:ss

* DATETIME      YYYY-MM-DD hh:mm:ss

* TIMESTAMP    YYYYMMDDhhmmss

* YEAR                  YYYY

PHP中时间戳是 1970-1-1 0:0:0,是一整数(便于参与运算)

建议:创建表时最好不要使用这些中的时间格式(因为需要转成时间戳才能运算),而是用整数保存时间  time();  用 php 做程序时,日期相关的用int

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容