MySql简单入门二——数据库中的数据类型

来源:互联网 发布:javascript php 编辑:程序博客网 时间:2024/06/04 19:06

数据库中的数据类型

一.数字型
整型
TINYINT              1字节       byte
SMALLINT         2字节     short
MEDIUMINT      3字节
(常用)INT       4字节     int
BIGINT               8字节       long

浮点型
FLOAT     单精度4字节     float
DOUBLE     8字节         double
DECIMAL     没有精度损失

DOUBLE 和 DECIMAL 区别?
DOUBLE类型在运算时会有精度的缺失。
DECIMAL 就是解决精度缺失问题的。(底层使用字符串来保存数字)

单纯想表示小数属性时,使用double。
需要频繁参与运算的小数,使用decimal。


二.字符串类型
注意: 字符串类型要使用单引号包裹.
短字符串类型
CHAR/VARCHAR (最大长度255字节)


            问题:char和varchar有什么区别?                char定长字符串.varchar表示变长字符串.                同时指定长度为10。当存储 abc                char =》  'abc       '                varchar => 'abc'                结论: 开发中varchar用的最多。 char只在表示固定长度的枚举中使用。例如 :性别(用01,02表示)

长字符串类型(流类型)
TEXT/CLOB 保存文本(字符流) –> 当要保存的内容超过255字节时使用. java中的writer 字符
BLOB 保存字节(字节流) –> 开发中用不到 java中的stream 字节

    Character Large Object     binary Large Object    区别:        text:只能存储字符数据.        BLOB:可以存储字符和多媒体信息(图片 声音 图像)

三.日期和时间类型
date     只记录日期     2015-01-14
time     只记录时间     11:36:25
year    只记录年     2015
datatime    又记录日期 又记录 时间     2015-01-14 11:36:25
timestamp    同上     2015-01-14 11:36:25

问题: datatime 和 timestamp 区别?    这两种类型记录的数据是一模一样.    区别在于插入的时候,如果插入datatime类型时,没有传值,那么该类型默认值就是null; 如果插入timestamp类型时,没有传值,那么该类型默认值就是当前时间;
0 0
原创粉丝点击