标签:
以前要用sql语句的时候都是直接搜命令用,平时也没怎么去重视记住它们,面试的时候面对sql语句却发现怎么也写不好。所以现在就还是把常用的罗列,在需要的时候能够方便的查找,同时也可以随时巩固加深。
1.整数类型
(1).按需求来选用合适的类型可以优化表占用的空间:
TINYINT 1Byte
SMALLINT 2Byte
MEDIUMINT 3Byte
INT 4Byte
INTEGER 4Byte
BIGINT 8Byte
(2). 使用整数类型时可以搭配zerofill参数,将不足位空间由0来填补。而它的AUTO_INCREAMENT属性可以+1自增字段。
2.浮点类型
(1). MySQL: 数据类型(M,D) M为精度,是数据总长度,小数点不占位置。D为标度,小数点后的长度。
eg:FLOAT(6,2),按此要求则1234.56是符合要求的。
注意:定义浮点数若非必要不要使用这种会影响迁移的精度指定方法。对定点数DECIMAL是可以选择的。定点数在MySQL中以字符串形式存储,精度比浮点数要高不会出现误差,对数据的精度要求比较高选择定点数是比较安全。
3.日期和时间类型
(1).YEAR(1),DATE(4),TIME(3),DATETIME(8),TIMESTAMP(4)
TIME类型:
1)."D HH:MM:SS": ‘2 11:30:50‘ ==> (2*24 + 11):30:50
2)."HHMMSS": ‘345454‘ ==>34:54:54
3).CURRENT_TIME和NOW()输入当前系统时间。
4.字符串类型
(1).CHAR(0~255)创建表后长度固定。虽然占用空间较大但对长度变化不大和查询速度要求较高的字符串类型,最好选择它。
VARCHAR(0~65536)长度可变,指定为某个最大范围,占用空间为字符串实际长度+1。
(2).TEXT:只能保存字符串数据,如新闻的内容等。TINYTEXT(0~255BYTE),TEXT(0~65535BYTE),MEDIUMTEXT(0~167772150BYTE),LONGTEXT(0~4294967295BYTE)
(3).SET和 ENUM:对取值在一定范围的离散值很有效。
SET最大64个成员,可以取多个,而ENUM(max65535)只能从成员中选择一个。
5.二进制类型
(1).BINARY(M byte),VARBINARY(M)变长二进制字符串,BIT(M位二进制最大值64)
(2).BLOB:特殊二进制类型。保存数据量很大的二进制数据如图片,MP3,PDF文档等。可以将它们存储在文件系统中,然后在数据库中保存文件的路径,比直接存储在数据库中简单但访问速度较慢,但通常都是存储路径。
标签:
原文地址:http://www.cnblogs.com/mingshsu/p/4869817.html