mysql数值类型

Posted wwchihiro

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数值类型相关的知识,希望对你有一定的参考价值。

一.字符类型:

1.普通字符类型   一般用于存储:姓名  家庭地址   籍贯

 关键指令        最大字符长度                 特性

 char     255(个字符)       定长 (固定长度)

 varchar  65532 (个字符 )   变长  (必须给一个值)

相同点:

       超出最大固定格式字符无法写入数据。

不同点:

       Char:定长输入不够指定字符数时在右边用空格自动补齐,

             不检查效率高,不给值有默认值1.(工作用的最多)

       Varchar:变长按输入的字符数实际大小分配存储空间,检

            查效率底,必须给一个值。(一般用在邮箱 、qq号)

2.大文本类型   一般存储 :视频、音频、图片

关键指令         最大字符长度               

text       大于65535

blob       大于65535

 

二、数值类型:整型 18 21 101 、浮点型 2.78 33.66 

1.数值类型  : 年龄  成绩   身高  体重  工资

   整型:根据存储数字的范围又 划分为如下类型。

     整型分:  无符号 : +11 等于 11 (+号可忽略不记)

                   有符号 : -17       

          范围分:

         指令    有符号存储范围         无符号存储范围   

        tinyint :微小整数      -128~127      0-255(unsigned)

        smallint :小整数

        mediumint:中整数

        int  :大整数                  0~224-1

        bigint :极大整数

        备注:如果不让出现负数要加unsigned。

数值类型的宽度,是显示宽度,不能够控制给字段赋值,字段值的大小由类型决定。

 

三、浮点型   (能存储带小数点的数) 19.23    21.75

定义格式 :float (n,m)    n:表示总位数。

                   double(n,m)    m:表示小数位数。

当字段值与类型不匹配时,字段值作为0处理;

数值超出范围时,仅保存最大/最小值。

 

四、日期时间类型  

一般用于:注册时间  上课时间   开会时间  生日  入职日期

年的指令: year     YYYY       2017        占用1个字节

日期的指令:date    YYYYMMDD   20170619   占用4个字节

时间的指令:time    HH:MM:SS   160258     占用3个字节

日期时间的指令:datetime  YYYYMMDDHHMMSS  201706191602

占用8个字节 如果不给datetime字段赋值时,默认值为null

日期时间的指令:timestamp  YYYYMMDDHHMMSS 20170619160258

占用4个字节 如果不给timestamp字段赋值时,自动以当前系统时间赋值

mysql> create table t14(name char(10), # 姓名类型10个字符长度

    -> age tinyint(2) unsigned,  # 年龄类型是整数不能是复数

    -> pay float(7,2),  #

    -> s_year year,    #年

    -> birthday date,   #生日日期

    -> up_class time,  #时间

    -> meetting datetime  #日期+时间

-> );                       #创建表

mysql> desc t14;

 

datetime与timestamp  的区别

1.赋值的类型不一样。

2.赋值的方式不一样。

timestamp 当不给赋值的时候他自动获取系统时间。

Datetime 当不给赋值的时候他默认为NULL(空)

 

五、使用时间函数给日期时间类型字段赋值

now()  #获取系统的当前时间。

year() #获取指定日期里的 年。

date() #获取日期

month() #获取月

day()   #获取几号

time()  #获取时间

 

六、枚举类型   性别   专业   科目  爱好

(字段值只能在列举的范围内选择)

单选的指令:enum (值列表:值1,值2,值n)  

多选的指令:set  (值列表:值1,值2,值n)   

 

例题:

mysql> create table t9(

    -> name char(5),  #名字 字符型,宽度5

    -> sex enum("boy","girl","no"), #性别 只能选一个 男 女 不允许为空

    -> homeaddr varchar(20), #描述信息

    -> age tinyint unsigned, #年龄 无符号的微小型整数

-> likes set("game","film","music","book","it"),

                                               #爱好可以选择多个

    -> pay float(7,2), #学费

    -> s_year year, # 出生年份

    -> birthday date, #生日 日期

    -> up_time time, #上课时间

    -> meettint datetime #

-> );

 

字段约束条件:功能限制如何给字段赋值

字段约束条件有四块:

Null   字段是否允许赋空值   空  默认允许赋空值  

not null  不允许为空

Key    索引类型

Default   字段的默认值,默认值的值是null(空)

          不给字段赋值值使用默认值给字段赋值

            设置默认值: default   值(要匹配要求)

Extra   额外设置(自动增长)

以上是关于mysql数值类型的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 数值类型

MySQL 数据类型

MYSQL 的数据类型

MySQL 数据类型

MySQL 数据类型

Mysql支持的数据类型