3.mysql中的数据类型

unsigned 无符号

类型大小范围(有符号)范围(无符号)unsigned约束用途
TINYINT 1 字节 (-128,127) (0,255) 小整数值
INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
FLOAT 4 字节float(255,30)255一共有多少位,30小数点保留位数 (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度 浮点数值
DOUBLE 8 字节double(255,30) (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度 浮点数值

 

1.数值
    tinyint int
   create table int_t (
        ti tinyint,            # ****
        i  int,                # *****
        tiun tinyint unsigned,
        iun int unsigned
  );
   create table fd_t(
          f float,     # 精度问题 小数点后5位 # *****
          d double,     # 精度更高但也不准确
          f2 float(5,2),# 在精确位四舍五入
          d2 double(5,2)# 在精确位四舍五入
  )
   create table dec_t(
      dec1 decimal,#默认整数
      dec2 decimal(30,20)
  )
2.时间
    内置函数  now()当前时间
   datetime 打卡时间/日志/论坛博客类的评论\文章/*****
   date     员工生日/入职日期/离职日期/开班时间   *****
   time     上课时间/下课时间/规定上班时间   竞赛数据
   year
   timestamp 由于表示范围的问题,导致用的少了
   create table time_t2(
       dt datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,   # 表示的范围更大,还能拥有timestamp的特点
       d date,
       t time,
       y year,
       ts timestamp   # 不能为空,默认值是当前时间,update时在修改的时候同时更新时间
   )
3.字符串

char varchar

    char    0-255    定长存储 存储速度更快 占用更多的空间  *****
       char(12)
      alex --> 'alex       ' --> 12的长度
   varchar 0-65535 变长存储 存储速度慢 占用的空间小 ****
       varchar(12)
       'alex' --> 'alex4' --> 5的长度
       
手机号码/身份证号码 : char
用户名/密码 : 有一定范围弹性 char
评论 : varchar

时间和空间
  时间换空间
  空间换时间

   create table ch_t(
      c char,
      c2 char(5),
      vc2 varchar(5)
  )

1564489737309

posted @ 2019-09-07 11:05  God_with_us  阅读(207)  评论(0编辑  收藏  举报