zoukankan      html  css  js  c++  java
  • mysql数据类型

    1.整型(整数类型)

    create table t2(id int(5) unsigned zerofill);

    注意:

      ①int后面的5表示的是显示宽度(就是你select * from t2;时看到的数字最大长度为5),而不是数据库存储时的宽度,一般在创建表格时整形后都不写数字就写int就完事了.

      ②unsigned表示这个字段为无符号整数对照下面的表,无符号与有符号数字范围不同,不写unsigned就是默认有符号整数.

      ③zerofill就是你显示时,如果宽度比你规范的5要短,数字前面就用0来填充,保证位数够5位

      ④当你输入的值超过该字段范围时(有符号或者无符号的数字范围),他会以最大值(输入的值比范围大)或者最小值(输入的值比范围小)来代替你输入的数字来存储,并且,此时你规定的显示宽度失效.

      ⑤当你写int时,此时是有符号,默认显示宽度是11,即int(11),写成int unsigned时是无符号,此时默认显示宽度是10,根据下图对照有无符号时最大数字长度.

         ⑥除整形以外所有宽度都是数据库的存储宽度

      ⑦整型包括tinyint,smallint,mediumint,int,inteager,bigint

    2.浮点型

    注意:

      ①浮点型包括float,double,decimal

    float:

    create table t2(id float(M,D) unsigned zerofill);

    M是浮点数总宽度(除小数点以外,数字总个数),M最大值为255

    D是小数点后数字个数,D最大值为30

    如果D最长了,那么整数部分最长为225个数字

    double同float

    decimal:

    M最大为65,

    D最大为30,

    小数精度:decimal>double(15位小数左右)>float(7位小数左右)

    t8:float

    t9:double

    t10:decimal

    decimal底层是用字符串来存储,所以精度高

    3.日期类型

    year,date,time,datetime,timestamp

    datetime与timestamp区别:

      ①范围不同:datetime是1001-9999,timestamp是1970-2038

      ②大小不同:datetime占8个字节,timestamp占4个字节

    4.字符类型:

    char:定长(固定长度存储)存取速度快,但是占地方,用的较多,现在硬盘大小已经不是问题了.

    varchar:变长(你来多长,我存多长,但是要1byte字节标记后面多长)存取速度慢,但是省地方

    注意:

      ①char(5),宽度5指的是字符的个数

      ②select char_length(name) from t4 ; 查询某个字段中内容的长度,但是如果在该字段后面有空格时,他也不会算到长度里面去,如果你写的时候是'任务   '后面的空格在计算时不会算上,如果你想把它长度算上,就输入:

    SET sql_mode='PAD_CHAR_TO_FULL_LENGTH';即可

      ③当你使用where做筛选时,例如where name='任务',mysql会自动去掉后面的所有空格,再比较,而'   任务'前面有空格或者'任    务'中间有空格都不会被去掉,从而造成筛选查不到.

       ④如果你输入select name from t13 where name like '李杰';时,字符串后面的空格数量一定要和你输入数据库时的数量一致,否则查不到

      ⑤在一张表中,不要把char和varchar混用

    5.枚举类型:

    enum:多个选一个

    set:多个选一个或者多个

    create table consumer(
    id int,
    name char(16),
    sex enum('male','female','other'),
    level enum('vip1','vip2','vip3'),
    hobbies set('play','music','read','run')
    );


    insert into consumer values
    (1,'egon','male','vip2','music,read'); 因为hobbies是多选,这里可以选music和read两个

    insert into consumer values
    (1,'egon','xxxxx','vip2','music,read'); 这里xxx是没有的会报错

  • 相关阅读:
    API从网站中解放出来,也许会带来web3.0
    ASP.NET中MD5和SHA1加密的几种方法
    搜狐博客推出开放平台 1月3日举办开发者论坛
    Open Source PDF Libraries in C#
    .Net线程常见问题和误解解答集锦
    降低车辆油耗的十大不变法门
    知己知彼,百战不殆管理软件这个行业
    求职指南:英文求职简历十大忌讳
    .net中实现运行时从字符串动态创建对象
    用 .NET 开发的轻量级 UI 测试自动化.NET教程,.NET Framework
  • 原文地址:https://www.cnblogs.com/shengjunqiye/p/12767549.html
Copyright © 2011-2022 走看看