zoukankan      html  css  js  c++  java
  • MySQL基本数据类型

    一、整型

    分类:TINYINT, SMALLINT, MEDUIMINT, INT, BIGINT

    TINYINT
    默认情况下是带有符号的,超出限制只存最大可接受值
    create table test1(id TINYINT);
    insert into test1 values(-129,256);
    mysql> insert into test1 values(-129),(256);
    ERROR 1264 (22003): Out of range value for column 'id' at row 1
    mysql> insert into test1 values(-128),(256);
    ERROR 1264 (22003): Out of range value for column 'id' at row 2
    mysql> insert into test1 values(-128),(127);
    Query OK, 2 rows affected (0.00 sec)
     
    约束条件之unsigned 无符号
    create table test2(id tinyint unsigned);
    
     
    INT
    默认情况下也是带符号的
    整型默认情况下都是带符号的
    针对整型 括号内的宽度到底是干嘛的?
    create table test3(id int(8));
    insert into test3 values(123456789);
    特例:只有整型括号里面的数字不是表示限制位数,id int(8)
    如果数字没有超过8位,那么默认用空格填充至8位
    如果数字超出8位,那么有几位就存几位(但是还是要遵守最大范围)
    create table test4(id int(8) unsigned zerofill);  #用0填充至8位
    
    mysql> create table test4(id int(8) unsigned zerofill);
    Query OK, 0 rows affected (0.06 sec)
    
    mysql> insert into test4 values(1);
    Query OK, 1 row affected (0.01 sec)
    
    mysql> select * from test4;
    +----------+
    | id       |
    +----------+
    | 00000001 |
    +----------+
    1 row in set (0.00 sec)
    
    总结:针对整型字段,括号内无需指定宽度,因为它默认的宽度已经足够显示所有的数据了。

    二、字符型

    分类:char 、varchar
    char:
    定长,char(4),数据超过4个字符直接报错,不够4个字符空格补全
    varchar:
    变长,varchar(4) 数据超过4个字符直接报错,不够有几个存几个
    
    create table test5(name char(4));
    create table test6(name varchar(4));
    
    insert into test5 values('a');
    insert into test6 values('a');
    
    #一个小方法,char_length统计字段长度
    select char_length(name) from test5;
    

    char 与varchar对比:

    char 
    缺点:浪费空间
    优点:存取都很简单,直接按照固定的字符串存取数据即可,存按照5个字符存,取也直接按照5个字符取
    
    varchar
    优点:节省空间
    缺点:存取较为麻烦,存的时候需要制作报头,取的时候也需要先读取报头,之后才能读取真实数据;
    
    以前用char比较多,现在用varchar的比较多;
    

      

  • 相关阅读:
    java 三目运算符
    增强for 可以用于ArrayList
    shell SORT
    BASH if/while/until loop
    设置临时环境变量
    2015年创业中遇到的技术问题:121-130
    2015年创业中遇到的技术问题:121-130
    JDK8新特性之Lambda表达式
    使用Html5开发Android和iOS应用:HBuilder、Html5Plus、MUI
    使用Html5开发Android和iOS应用:HBuilder、Html5Plus、MUI
  • 原文地址:https://www.cnblogs.com/xiehong/p/14721982.html
Copyright © 2011-2022 走看看