• 我的MYSQL学习心得(二) 数据类型宽度


    显示宽度

    MYSQL中的整数型数据类型都可以指定显示宽度,而SQLSERVER不行

    创建一个表

    CREATE TABLE tb_emp( id BIGINT(1))

    id字段的数据类型为BIGINT(1),注意到后面的数字1,这表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数。

    例如,假设声明一个INT类型的字段 YEAR INT(4) 

    该声明指明,在year字段中的数据一般只显示4位数字的宽度。

    在SQLSERVER里是会报错的

    CREATE TABLE abc
    (id INT(11))
    消息 2716,级别 16,状态 1,第 1 行
    第 1 个列、参数或变量: 不能对数据类型 int 指定列宽。

    显示宽度和数据类型的取值范围是无关的。显示宽度只是指明MYSQL最大可能显示的数字个数,数值的位数小于指定的宽度时会有空格填充

    如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能显示出来。

    例如,向year字段插入一个数值19999,当使用select查询的时候,MYSQL显示的将是完整带有5位数字的19999,而不是4位数字的值

    如果不指定显示宽度,则MYSQL为每一种类型指定默认的宽度值

    tips:显示宽度只用于显示,并不能限制取值范围和占用空间,例如:INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是INT整型

    所允许的最大值。

  • 相关阅读:
    between and 相关
    SQL获取所有用户名,数据库名、所有表名、所有字段名及字段类型
    性能优化探讨与分析:
    设置自动收缩数据库
    服务器注册
    多表查询及区别
    sql孤立用户解决方法
    委托、事件、观察者模式
    非托管资源
    C# 预处理器指令
  • 原文地址:https://www.cnblogs.com/shanheyongmu/p/6185747.html
Copyright © 2020-2023  润新知