zoukankan      html  css  js  c++  java
  • mysql 一些属性

    1)定义id,设置int,涉及的属性有:

    BINARY二进制

    UNSIGNED无符号数

    UNSIGNED ZEROFILL

    在列字段中使用UNSIGNED ZEROFILL属性,如:

    插入int(4),你插入1,显示0001,插入负数显示为0000,因为mysql自动增加UNSIGNED属性 UNSIGNED不能为负数,当你插入负数时就显示0。

    timestamp的两个属性:

    CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP  

    使用情况分别如下:

    1. CURRENT_TIMESTAMP 

    当要向数据库执行insert操作时,如果有个timestamp字段属性设为 CURRENT_TIMESTAMP,则无论这个字段有没有set值都插入当前系统时间 

     

    2. ON UPDATE CURRENT_TIMESTAMP

    当执行update操作是,并且字段有ON UPDATE CURRENT_TIMESTAMP属性。则字段无论值有没有变化,它的值也会跟着更新为当前UPDATE操作时的时间。

     

    2)char与varchar的区别

    char (13)长度固定, 如'www.jb51.net' 存储需要空间 12个字符

    varchar(13) 可变长 如'www.jb51.net' 需要存储空间 13字符,

    从上面可以看得出来char 长度是固定的,不管你存储的数据是多少他都会都固定的长度。而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置。所以实际应用中用户可以根据自己的数据类型来做。
    char是一种固定长度的类型,varchar则是一种可变长度的类型
      char(M)类型的数据列里,每个值都占用M个字节,如果 某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个 值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).

     

    从上面可以看出来,由于某种原因char 固定长度,所以在处理速度上要比varchar快速很多,但是对费存储空间,所以对存储不大,但在速度上有要求的可以使用char类型,反之可以用varchar类型来实例。

     

    建议:对于简单定长的字符,如门牌号102 302之类,有char(3)比varchar(3)好。

     

    3、ENUMSET枚举类型能比较好限制存储的类型和大小。

  • 相关阅读:
    ingress-nginx-controller 504 gateway time-out 问题
    ansible的shell模板使用awk包含引号的问题
    Python selenium模块报错解决
    redis密码破解(multiprocessing的Pool多进程模式)-join方法小坑
    redis密码破解(Python使用multiprocessing分布式进程)
    redis密码破解(python使用redis模块)
    redis密码破解(python使用socket模块)
    修改云主机快照方式为live snapshot
    虚拟机重启错误,libvirtError:internal error:process exited while connecting to monitor
    如何解决高并发秒杀的超卖问题
  • 原文地址:https://www.cnblogs.com/chq3272991/p/5756144.html
Copyright © 2011-2022 走看看