zoukankan      html  css  js  c++  java
  • Mysql手册—基本规范与数据类型

    第十章      本章主要介绍了一些语法规范,如

    对于表,函数,字段,在Linux上大小写敏感,Windows和MacOS上却不敏感;

    Mysql是如何识别函数的及用户在定义自定义函数时命名要求:通过函数名与左括号标识,中间无空格,用户自定义函数名不得与内嵌函数名重名,

    用户变量的命名,声明与赋值,注意用户变量不能与Mysql关键字和保留字重合。

    进制转换之类的。

    表达式定义等等

    注释方法:#,--,/*  */

    第十二章,Mysql数据类型

    支持:数字类型,日期时间类型,字符类型,空间(spatial)类型和JSON类型

      数字类型:

        ZEROFILL,是unsigned,自动左边填0.

        SERIAL,是 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE的别名

        BIT[(M)],位,1<=M<=64;当M被忽略时,M=1,即此时BIT为0 or 1.

        TINYINT[(M)] [UNSIGNED] [ZEROFILL] ,是个微整型,范围在[-128,127]之间,当为UNSIGNED时最大为255;1<=M<=8之间。

        BOOL,BOOLEAN,同义于TINYINT(1),0被视为false,非零被视为true. 然而,the values TRUE and FALSE are merely aliases for 1 and 0。

        SMALLINT[(M)] [UNSIGNED] [ZEROFILL] ,是个小整型,范围在[-32768,32767]之间,当为UNSIGNED时最大为65535;1<=M<=16之间。

        MEDIUMINT[(M)][UNSIGNED] [ZEROFILL],是个中整型,范围在[-8388608,8388607]之间,当为UNSIGNED时最大为16777215;1<=M<=24.

        INT[(M)] [UNSIGNED] [ZEROFILL],是个整型,范围在[-2147483648,2147483647]之间,当为UNSIGNEDJ时最大为4294967295;1<=M<=32.

      INTEGER,与INT同义。

      BIGINT[(M)] [UNSIGNED] [ZEROFILL],是个大整型,1<=M<=64.

      小数:

      DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL],数字的最大位数为M,有D个小数。M<=65,D<=30.. If D is omitted, the default is 0. If M is omitted, the default is 10.

      FLOAT[(M[,D])] [UNSIGNED] [ZEROFILL] ,单精度,7位小数,在计算时Mysql按照DOUBLE型计算。

      DOUBLE[(M[,D])] [UNSIGNED] [ZEROFILL] ,双精度,15位小数,在计算时Mysql按照DOUBLE型计算。

    日期时间型

      DATE,是一个日期型,范围在[1000-01-01,9999-12-31],格式类型为YYYY-MM-DD。

      DATETIME[(fsp)],是个日期时间型,范围在[1000-01-01 00:00:00.000000,9999-12-31 23:59:59.999999],格式类型为YYYY-MM-DD HH:MM:SS[.fraction]。

      TIMESTAMP[(fsp)],是个时间戳,范围在[1970-01-01 00:00:01.000000,2038-01-19 03-14-07.999999]

      TIME[(fsp)],是个时间型,范围在[-838:59:59.000000,838:59:59.000000],格式类型为HH:MM:SS[.fraction] If omitted, the default precision is 0

      YEAR[(4)],是个4位的数值类型,范围在[1901,2155],格式为YYYY,可用字符串和数值为其赋值。

    字符类型:

      [NATINAL] CHAR[(M)] [CHARACTER SET charset_name] [COLLATE collate_name] ,固定长度M的字符串,若不足M则右侧用空格填充;对于CHAR类型,其M<=255.若char(0),只能表示两个值:''或NULL。

      [NATIONAL] VARCHAR(M) [CHARACTER SET charset_name] [COLLATE collation_name],是可度长度的字符串,M<=65535Bytes,如果编码为utf8,则最多能存储21844个字符(每个占3个字节);在存储时,varchar用长度+data形式。长度为1or2 bytes[超过255为2]。

      BINARY[(M)],存放二进制数据,M表示其存储的最大长度(Byte为单位),与char类似。

       VARBINARY(M),与varchar 类似  

      TINYBLOB,最大长度为255,用一个字节(1byte)表示其存储长度;

      TINYTEXT,与TINYBLOB相似,最大为255。

      BLOB[(M)],TEXT[(M)],最大长度为65535【2^16-1】,使用2Bytes表示其长度,如果指定了M值则创建M个长度存放数据减少不必要的空间浪费。

      MEDIUMBLOB,MEDIUMTEXT,最大长度为16,777,215 (224 − 1) bytes,用3个byte表示其长度。

      LONGBLOB,LONGTEXT,最大长度为4,294,967,295 or 4GB (232 − 1) characters;

      ENUM('VALUE1','VALUE2',...),表示数据只允许这里中的一个;ENUM中最大有65535个元素;每个Enum元素都对应一个索引,索引从1开始。

    可使用 SHOW COLUMNS,查看所有可能值:如

       SET('value1','value2',...) [CHARACTER SET charset_name] [COLLATE collation_name],set中最多不超过64个元素。

    对于SET使用,可如下:

      

     

  • 相关阅读:
    linux下tomcat权限的问题
    树莓派安装Tomcat服务器
    Javascript基础——Object对象和Object原型对象
    electron
    ES6-21:编程风格、ECMAScript规格
    番外篇01:angularJS最佳实战
    ES6-18:class类及其继承
    ES6-10:Promise
    ES6-09:新增API—Proxy、Reflect
    ES6-08:新增数据结构—Set、WeakSet、Map、weakMap
  • 原文地址:https://www.cnblogs.com/itdev/p/5791705.html
Copyright © 2011-2022 走看看