zoukankan      html  css  js  c++  java
  • mysql基础知识--读书笔记3

    MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER、SMALLINT、DECIMAL 和NUMERIC),以及近似数值数据类型(FLOAT、REAL 和DOUBLE PRECISION)

    对于整型数据,MySQL 还支持在类型名称后面的小括号内指定显示宽度,例如int(5)表
    示当数值宽度小于5 位的时候在数字前面填满宽度,如果不显示指定宽度则默认为int(11)。
    一般配合zerofill 使用,顾名思义zerofill 就是用“0”填充的意思,也就是在数字位数不够的空间用字符“0”填满,

    mysql> alter table tablename modify id int zerofill;

     设置了宽度限制后,如果插入大于宽度限制的值,按照类型的实际精度进行保存,这是,宽度格式(int(5))实际已经没有意义.

    所有的整数类型都有一个可选属性UNSIGNED(无符号).

    对于任何想要使用AUTO_INCREMENT 的列,应该定义为NOT NULL,并定义为PRIMARY KEY 或定义为UNIQUE 键。例如,可按下列
    任何一种方式定义AUTO_INCREMENT 列:
    CREATE TABLE AI (ID INT AUTO_INCREMENT NOT NULL PRIMARY KEY);
    CREATE TABLE AI(ID INT AUTO_INCREMENT NOT NULL ,PRIMARY KEY(ID));
    CREATE TABLE AI (ID INT AUTO_INCREMENT NOT NULL ,UNIQUE(ID));

    对于小数的表示,MySQL 分为两种方式:浮点数和定点数。浮点数包括float(单精度)
    和double(双精度),而定点数则只有decimal 一种表示。定点数在MySQL 内部以字符串形
    式存放,比浮点数更精确,适合用来表示货币等精度高的数据。

    如果不写精度和标度,则会按照实际精度值显示,如果有精度和标度,则会自动将四舍五入后的结果插入,系统不会报错;定点数如果不写精度和标度,则按照默认值decimal(10,0)来进行操作,并且如果数据超越了精度和标度值,系统则会报错。

    CHAR 和VARCHAR 类型

    在检索的时候,CHAR 列删除了尾部的空格,而VARCHAR 则保留这些空格。

  • 相关阅读:
    496. 下一个更大元素 I
    240. 搜索二维矩阵 II
    java反射之ObjectAnalyzer
    PHP导出excel文件的多种方式
    git获取公钥和私钥以及常用的命令
    PHP PSR-2 代码风格规范
    phpStrom安装PHP_CodeSniffer检查代码规范
    常见PHP安全网站漏洞及防范措施
    Oracle中创建主键并在Spring data JPA中使用
    JPA自定义查询中报错:缺失右括号
  • 原文地址:https://www.cnblogs.com/haimian/p/6067428.html
Copyright © 2011-2022 走看看