数据类型:
一.数据类型:
MySQL中的数据类型有很多,主要分为三类:数值类型,字符串类型,日期时间类型。
比如单独写一个tinyint代表有符号范围,tinyint unsigned即加了个unsigned此时代表无符号范围
double(5,2):5表示整个数字长度即整数位个数加小数位个数,2表示小数位个数,此时整数位个数为3。
实例:比如年龄可用tinyint,用int也可以,但占内存。
然而年龄没有负数,则用无符号范围更加合适即tinyint unsigned,而且正数范围还扩大了。
比如分数,可能有小数,最多一位,此时用float或者double即可。若用double,首先小数位个数为1,整数最大为100即整数
位个数最多为3,即double(4,1)。
细节1:对于定长字符串char,如char(10)代表最多只能存10个字符,不足10个字符,也占用10个字符空间。(超出10报错)
如A虽然只有一个字符,但占10个字符空间,剩下9个字符用空字符补齐。
细节2:对于变长字符串varchar,如varchar(10)也代表最多只能存10个字符,不足10个字符时按照实际长度存储。
比如:A为一个字符,不足10个字符,此时只占1个字符空间。
细节3:char的性能比varchar要高,因为char无需根据输入的内容长度去判断所占字符空间,而varchar需要。
比如char(10)无论输入多少都占10个字符空间,而varchar(10)不一定占10个字符空间。
但vaarchar比char更节省空间,因为char可能存在有字符空间没被利用但也占了内存的情况,而varchar不会,
varchar是根据实际长度存储,不会浪费内存。
细节4:对于视频,音频等常用blob,tinyblob等用blob修饰的存储,因为是二进制形式。
而企业开发中,如图片,视频,音频等不会直接存储在数据库当中,而是存储在专业的文件服务器当中。
细节5:如存储长篇小说等,可用tinytext,text等用text修饰的存储。
实例:如手机号固定11位,则可用char存储,指定长度为11位。
用户名长度不固定,则可用varchar存储。
细节1:date按照年,月,日的顺序(不包含时,分,秒)。
细节2:time只包含时,分,秒。
细节3:datetime包含年,月,日,时,分,秒。
细节4:timestamp包含年,月,日,时,分,秒->范围中年份最多到2038年。
实例:如生日,可用date型。数据操作时间可用datetime型。
以上类型有的会自动出现下拉框:
如: