• www.co88com|www.co88com唯一官网

  • 发布时间:2016-01-15 15:43 | 作者:yc | 来源:互联网 | 浏览:1200 次
  • www.co88com|www.co88com唯一官网

    MariaDB支撑的数据类型:

    (1)字符型:

    参阅Mysql手册:http://dev.mysql.com/doc/refman/5.7/en/string-types.html

    类型有:CHAR,VARCHAR,BINARY,VARBINARY,BLOB,TEXT,ENUM,SET

    类型

    巨细

    用场

    CHAR

    0-255字节

    定长字符串

    VARCHAR

    0-255字节

    变长字符串

    BINARY

    准许长度0-M个字节的定长字节符串

    VARBINARY

    准许长度0-M个字节的定长字节符串,值的长度+1个字节

    TINYBLOB

    0-255字节

    不逾越255个字符的二进制字符串

    TINYTEXT

    www.co88com|www.co88com唯一官网0-255字节

    短文本字符串

    BLOB

    0-65535字节

    二进制措施的长文本数据

    TEXT

    0-65535字节

    长文本数据

    MED IUMBLOB

    0-字节

    二进制措施的中等长度文本数据

    MED IUMTEXT

    0-字节

    中等长度的文本数据

    LOGNGBLOB

    0-字节

    二进制措施的极大年夜文本数据

    LONGTEXT

    0-字节

    极大年夜文本数据

    ENUM

    0-66635个成员

    罗列类型,字符目标

    SET

    0-64个成员

    字符串目标

    CHAR vs VARCHAR

    CHAR是定长字符串

    MariaDB先容

    MariaDB数据库解决体系是MySQL的一个分支,主要由开源社区在保护,选用GPL授权准许MariaDB的意图是彻底兼容MySQL,包括API和敕令行,使之能轻松变成MySQL的替代品在存储引擎方面,运用XtraDB(英语:XtraDB)来替代MySQL的InnoDB

    MariaDB依据营业的Maria存储引擎,调换了MySQL的MyISAM存储引擎,它运用了Percona的 XtraDB,InnoDB的变体,分支的开拓者期望提供拜访行将到来的MySQL 5.4 InnoDB功用这个版别还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎-----baidu百科

    MariaDB根底:

    要是你懂得运用Mysql,信托你能够直接上手MariaDB,二者的根本操作是相同的要是你对数据库有必定了懂得,颠末下面的进修能够敏捷入门MariaDB界说的字符串长度固定为声明时CHAR(#)的长度#(0-255),存储时占用固定巨细的#空间,输入字符串短缺声明的长度,则用空格补齐;

    VARCHAR是变长字符串存储时占用实践声明规模内实践输入长度的空间,其余加一个字节纪录长度

    Value

    CHAR(4)

    Storage Required

    VARCHAR(4)

    Storage Required

    ''

    ' '

    4bytes

    ''

    1byte

    'ab'

    'ab '

    4bytes

    'ab'

    3bytes

    'abcd'

    'abcd'

    4 bytes

    'abcd'

    5bytes

    'abcdefgh'

    'abcd'

    4bytes

    'abcd'

    5bytes

    TEXTvs BLOB

    关于字段长度哀求逾越255 个的环境下,MySQL提供了 TEXT 和 BLOB 两种类型依据存储数据的巨细,它们都有不相同的子类型这些大年夜型的数据用于存储文本块或丹青、声音文件等二进制数据类型

    TEXT 和 BLOB 类型在分类和比较上存在差异BLOB类型差别巨细写,而TEXT 不差别巨细写巨细修饰符不用于各类BLOB 和TEXT 子类型比指定类型支撑的最大年夜规模大年夜的值将被主动截短

    ENUM类型

    ENUM 类型因开户送体验金为只准许在召集中得到一个值,有点类似于单选项在处置惩罚彼此排拆的数据时大略让人懂得,比方人类的性别ENUM类型字段能够从召集中得到一个值或运用null 值,除此之外的输入将会使MySQL 在这个字段中刺进一个空字符串其余要是刺进值的巨细写与召集中值的巨细写不匹配,MySQL会主动运用刺进值的巨细写变换成与召集中巨细写合营的值

    ENUM 类型在体系内部能够存储为数字,而且从1 起头用数字做索引一个ENUM 类型最多能够包括65536 个元素,其间一个元素被MySQL 保存,用来存储同伴信息,这个同伴值用索引0 或许一个空字符串注解

    MySQL 以为 ENUM 类型召集中出现的值是合法输入,除此之外其它任何输入都将掉利这阐明颠末查找包括空字符串或对应数字索引为0 的行就能够很大略地找到同伴纪录的方位

    SET类型

    SET 类型与 ENUM 类型类似但不相同SET 类型能够从预界说的召集中得到任意数量的值而且与ENUM 类型相同的是任何妄图在SET 类型字段中刺进非预界说的值都邑使MySQL 刺进一个空字符串要是刺进一个即有合法的元素又有分歧法的元素的纪录,MySQL将会保存合法的元素,除掉落分歧法的元素

    一个 SET 类型最多能够包括 64 项元素在 SET 元素中值被存储为一个分袂的“位”序列,这些“位”注解与它相对应的元素“位”是创立有序元素召集的一种大略而有用的措施而且它还去除了重复的元素,以是SET 类型中弗成能包括两个相同的元素

    要是想从 SET 类型字段中找出分歧法的纪录只需查找包括空字符串或二进制值为0 的行

    把稳:字符型内容运用时,要运用引号!

    (2)数值型:

    参阅Mysql手册:http://dev.mysql.com/doc/refman/5.7/en/numeric-types.html

    正确数值:INTEGER, SMALLINT, DECIMAL, andNUMERIC

    整型:TINYINT,SMALLINT, MEDIUMINT, INT, BIGINT

    Type

    Storage

    Minimum Value

    Maximum Value

    (Bytes)

    (Signed/Unsigned)

    (Signed/Unsigned)

    TINYINT

    1

    -128

    127

    0

    255

    SMALLINT

    2

    -32768

    32767

    0

    65535

    MEDIUMINT

    3

    -

    0

    INT

    4

    -

    0

    BIGINT

    8

    -

    0

    十进制:DECIMAL值的正确精度是极其紧张的值,例如与金钱有关的数据;salary DECIMAL(5,2) 注解5(precision)代表将被用于存储值的总的小数位数,而2(scale)代表将被用于存储小数点后的位数以是注解规模是:-999.99到999.99

    近似数值:FLOAT, REAL, and DOUBLE PRECISION

    浮点数:

    FLOAT 数值类型用于注解单精度浮点数值,而 DOUBLE 数值类型用于注解双精度浮点数值与整数相同,这些类型也带有附加参数:一个显现宽度唆使器和一个小数点唆使器比方句子 FLOAT(7,3) 规则显现的值不会逾越 7 位数字,小数点后边带有 3 位数字关于小数点后边的位数逾越准许规模的值,MySQL 会主动将它四舍五入为最靠近它的值,再刺进它

    把稳:数值型内容运用时,不能运用引号!

    (3)日期和时候类型:DATE,TIME, DATETI863888ME, TIMESTAMP, and YEAR

    在处置惩罚日期和时候类型的值时,MySQL 带有 5 个不相同的数据类型可供遴选它们能够被分红大略的日期、时候类型,和混杂日期、时候类型依据哀求的精度,子类型在每个分类型中都能够运用,而且 MySQL 带有内置功用能够把多元化的输入格局变为一个规范格局

    类型

    字节

    规模

    格局

    用场

    DATE

    4

    1000-01-01/9999-12-31

    YYYY-MM-DD

    日期值

    TIME

    3

    '-838:59:59'/'838:59:59'

    HH:MM:SS

    时候值或继承时候

    YEAR

    1

    1901/2155

    YYYY

    年份值

    DATETIME

    8

    1000-01-0100:00:00/9999-12-31 23:59:59

    YYYY-MM-DD HH:MM:SS

    混杂日期和时候值

    TIMESTAMP

    4

    1970-01-01 00:00:00/2037

    YYYYMMDD HHMMSS

    混杂日期和时候值,时候戳

    DATE、TIME 和 YEAR 类型

    MySQL 用 DATE 和 YEAR 类型存储大略的日期值,运用 TIME 类型存储时候值这些类型能够描画为字符串或不带分隔符的整数序列要是描画为字符串,DATE 类型的值该当运用连字号作为分隔符分隔,而 TIME 类型的值该当运用冒号作为分隔符分隔

    需求把稳的是,没有冒号分隔符的 TIME 类型值,将会被 MySQL 懂得为继承的时候,而不是时候戳

    MySQL 还对日期的年份中的两个数字的值,或是 SQL 句子中为 YEAR 类型输入的两个数字进行最大年夜极限的通译因为统统 TEAR 类型的值必须用 4 个数字存储MySQL 妄图将 2 个数字的年份变换为 4 个数字的值把在 00-69 规模内的值变换到 2000-2069 规模内把 70-99 规模内的值变换到 1970-1979 以内要是 MySQL 主动变换后的值并不契合咱们的需求,请输入 4 个数字注解的年份

    DATEYIME 和 TIMESTAMP 类型

    除了日期和时候数据类型,MySQL 还支撑 DATEYIME 和TIMESTAMP 这两种混杂类型它们能够把日期和时候作为单个的值进行存储这两种类型一样平常用于主动存储包括当前日期和时候的时候戳,并可在需求实行很多半据库营业和需求树立一个调试和反省用场的审计盯梢的利用法度榜样中体现精彩效果要是咱们对 TIMESTAMP 类型的字段没有清晰赋值,或是被赋与了 null 值MySQL 会主动运用体系当前的日期和时候来添补它

    参阅:http://dev.mysql.com/doc/refman/5.7/en/

    http://mrxiong.blog.51cto.com///

    如有同伴,敬请矫正!

    感谢!

  • 相关内容

友情链接: