MySQL的数据类型

文章目录

MySQL数据类型

RDBMS:关系型数据库管理系统 例:MySQL

常见的信息的种类

  • 数值型:体重、身高、成绩、工资
  • 字符型:姓名、工作单位、通信地址
  • 枚举型:兴趣爱好、性别、专业
  • 日期时间型:出生日期、注册时间

字符类型

定长:char(字符个数)

  • 最大字符个数255

  • 不够指定字符个数时在右边用空格补全

  • 字符个数超出时,无法写入数据

变长:varchar(字符个数)

  • 按数据实际大小分配存储空间
  • 字符个数超出时,无法写入数据
  • 最大字符个数65532

大文本类型:text/blob

  • 字符数大于65535存储时使用

数值类型

整数型

只能存储整数

类型 名称 有符号范围 无符号范围
tinyint 微小整数 -128~127 0~255
smallint 小整数 -32768~32767 0~35535
mediumint 中整型 -223~223-1 0~2^24-1
int 大整型 -2^31 ~ 2^31-1 0~2^32-1
bigint 极大整型 -2^63 ~ 2^63-1 0- 2^64-1
unsigned 使用无符号存储范围

MySQL的数据类型

创建t2表,当不使用unsigned,默认使用有符号范围,当我们加入unsigned参数时,使用无符号范围,可以参考实际情况,来确定是使用有符号范围还是无符号范围

浮点型

浮点型

  • 格式一:字段名 类型
  • 格式二:字段名 类型(总宽度,小数位数)
类型 名称 有符号范围 无符号范围
float 单精度 0~2^32-1 0~2^32-1
double 双精度 0~2^64-1 0~2^64-1

MySQL的数据类型

这里我使用了两种定义方式来演示,当类型后没有去定义他的宽度和小数位数时。这时候默认他的范围为最大0~2^32-1。

当我们定义了他的宽度时,他的宽度就会决定他的范围。当我们输入的数据大于小数位数,就会进行四舍五入,留下两位小数

日期时间类型

类型

  • 日期时间 :datetime

    • 范围:1000-01-01 00:00:00~ 9999-12-31 23:59:59

    • 格式:yyyymmddhhmmss

  • 日期时间:timestamp

    • 范围:1970-01-01 00:00:00 ~ 2038-01-19 00:00:00

    • 格式:yyyymmddhhmmss

  • 日期: date

    • 范围: 0001-01-01 ~ 9999-12-31
    • 格式:yyyymmdd
  • 年: year

    • 范围:1901 ~ 2155
    • 格式:yyyy
  • 时间:time

    • 格式:HH:MM:SS

MySQL的数据类型

创建相应的时间类型,要严格按照格式输入,否则就会出错,也不要超出相应的存储范围。

使用时间函数获取数据给类型复制

时间函数

MySQL服务内置命令

可以使用时间函数给字段赋值

类型 用途
curtime() 获取当前的系统时间
curdate() 获取当前的系统日期
now() 获取当前系统的日期和时间
year() 获取年
month() 获取月
day() 获取日
date() 获取日期
time() 获取时间

使用方法:

select 函数名称 ;

MySQL的数据类型

再次给t6表赋值

insert into t6 values("tom",2000,curtime(),curdate(),now());
insert into t6 values("jim",now(),now(),now(),now());
#当全使用now()赋值时,只存储和自己类型匹配的

MySQL的数据类型

获取当前系统的年

select year( now() );
select year(20110808); #获取指定日期的年

MySQL的数据类型

接上述类型:

  • 关于日期时间字段

    • 当未给timestanp字段赋值时,自动以当前系统时间赋值,而datetime值为NULL(空)

      mysql> create table t7(
          -> meetting datetime,
          -> party timestamp
          -> );
       insert into t7 values( now(), now() );
        #测试:只给meetting赋值
       insert into t7 (meetting)  values(20201028233058) ;
       #测试:只给party赋值
      insert into t7 (party)  values(20211205223508) ;
      #查看结果有什么不同
      selec * from t7
      

    MySQL的数据类型

  • year类型

    • 要求使用四位数赋值

    • 当使用两位数赋值时:

      01~69视为 2001~2069

      70-99视为1970~1999

枚举类型

字段值只能在列举的范围内进行选择

enim:单选

  • 格式:字段名 enum(值1,值2,值N)
  • 仅能选择一个值
  • 字段值必须在列表里选择

set:多选

  • 格式:字段名 set(值1,值2,值N)
  • 选择一个或者多个值
  • 字段值必须在列表里选择

MySQL的数据类型

上一篇:Micrcroft App Center


下一篇:Android用户界面设计:“.NET研究”创建列表视图程序