MySQL数据类型

a>.字符型
  1>.固定长度的字符类型,换句话说就是定义了一个字符长度,如果你存储的字节长度不足时,系统会自动给你用“0”进行占位操作,当字符类型的长度超过我们预定义的长度时,就会报错。用char(#number[最多存储255个字符])关键字来定义。(也就是说,char(10),就表示你每个字符串存储的长度应该是10,比如你的单个字符串长度是7,那么还有3个空位系统自动会用“0”进行占位。也就没有字符存储的大小是一致的。)

2>.自动变化长度的字符类型,即varchar(#bumber[最多存储65535个字符,即2个字节])。和上面的char(#number)用法相似,只不过唯一不同的是存储的字符的长度是可变化的。也就是说,varchar(10),就表示你每个字符串的长度应该是10,如果你的单个字符串长度是6,那么它就会以6个长度来存取的你的数据,而不会去可以给你填满其他的占位符,它是以你实际长度为准的。注意,char(#number)和varchar(#num)存储数据的时候都不区分大小写。如果你强烈要求要区分大小写的话也是可以的,和char(#number)类似的一种方法叫做binary(#number),他们唯一不同就是char(#number)不区分大小写,而binary(#number)是区分大小写的。同理,和varchar(#number)对应的就是varbinary(#number)。

3>.其实char(#number),var(#number),binary(#number),varbinary(#number)它们的存储数据的大小是有上限的。如果你写博客,里面的正文数据长度一定是很大的。这个时候这四种定义类型就不再合适了,这个时候就有了面向对象存储的概念,就是不讲数据放在一个表中了,而是将数据放在一个指定的文件,而在表中存储的只是一个指针。当用户用到该数据时,就会去调用这个指针所对应的文件。而这种存储方式也是区分大小写的,相比之前学习的四种定义类型,test和blob数据类型存储的容量更大,test的类型拥有char(#number),binary(#number)的特点,而blob数据类型拥有varchar(#number),varbinary(#number)。而test和blob又被细分了4类,例如blob分为TinyBlob(最多存储255个字符,即一个字节),Blob(最多存储64kb,需要减去2个字节的空间),MediumBlob(最多存储16MB的空间,需要减去3个字节),LongBlob(最多存储4G的空间,需要减去4个字节)。test分为TinyText(最多存储255个字符,即一个字节与char索引方式是不同的,TinyText不能使用全字段索引而char确实可以的),Text(最多存储65535个字符,需要减去2个字节),MediumText(最多存储16777215个字符,需要减去3个字节),LongText(最多存储4294967295个字符,表示可以存储4个G)等等。

4>.字符型(char、varchar和text)常用的属性修饰符:

A>.NOT NULL(非空约束)
    B>.NULL(允许为空)
    C>.default ‘string’(默认值,不适用于text类型)
    D>.CHARACTER SET 字符集
      mysql>show variables like '%char%'; #查看默认的字符集
      mysql>show character set; #查看数据库支持的字符集
    E>.collation '规则':排序规则
      msyql>show collation; #查看数据库支持的排序规则

5>.binary,varbinaray和blob字符常用的属性修饰符

A>.NOT NULL
    B>.NULL
    C>.default 不适用与blob

b>.数值型

1>.精确数值型

精确数值型有两类,即整形(integer)和十进制(decimal)。在金融领域中,一般都用十进制存储数值型。而integer类型来讲,它有好几种变化形式分别用来表示所能够存储的范围大小的,比如:

A>.只占用一个字节的tinyint(微整型,取值范围是-128127或者0255);

B>.占用两个字节的samllint(小整型,取值范围是-3276832767或者065535);

C>.占用三个字节的mediuint(中等整型,取值范围-83886088388607或者016777215);

D>.占用四个字节的int(整型,取值范围-21474836482147483647或者04294967295);

E>.占用八个字节的bingint(大整形,取值范围是-92233720368547758089223372036854775807或者018446744073709551615)等等。
整形的常用属性修饰符:
     A>.AUTO_INCREMENT:自动增长(前提:非空,且唯一,支持索引,非负值[UNSIGNED],注意:TRUNCATE 用来清空表中数据)
     B>.LEST_INSERT_ID():可以查看上次增长的数值,当插入多行时,只记录第一行
     C>.UNSIGNED:无符号
     D>.NULL
     E>.NOT NULL
     F>.DEFAULT
2>.近似数值型

近似数值型又分为单精度浮点型(float)和双精度浮点型(double)。

浮点型常用修饰符:(使用g,f来定义总共有多少数字和小数点后有多少数字)
      A>.NULL
      B>.NOT NULL
      C>.UNSIGNSD
      D>.DEFAULT

3>.位

按位(bit)实现数据存储的。这种方式不建议使用。

c>.日期时间型

1>我们在数据库中可能需要存储日期或时间,日期时间型其实本质上被我们存储为数值或字符。

A>.其中我们可以用占用三个字节的date(日期型)来存储时间;

B>.用占用三个字节的time(时间型)来存储时间;

C>.用占用八个字节的datetime(日期时间型)来存储日期和时间;

D>.当然,你也可以存储在四个字节的timestamp(时间戳,存储自1970年1月1号0点0分0秒至你所指定的时间为止所经过的秒数。);

E>.对了还有一个字节来记录年的year类型。即Year(2)和year(4),前者表示方法是:“0099”,默认值是:“00”;后者表示方法是:“19012155”,默认为“0000”。

2>.日期时间型常用的修饰符
    A>.NULL
    B>.NOT NULL
    C>.DEFAULT

d>.布尔型

MySQL其实没有真正意义上的布尔型,而是使用的tinyint(微整型),而且只显示一位来表示的,要么是0,要么是1.

e>NULL

表示什么也没有存,注意空白字符不等于空哟,数字0也不代表空。

f>.内置类型(事实上ENUM和SET也是属于字符型哟)

1>.MySQL也有两种常见的内置类型,即ENUM(枚举)和SET(集合)。

2>.枚举类型是指将所有的情况的列举出来,我们从中挑选处一种即可。比如今天是星期几,我们通过枚举方法列出所有的可能性,将星期一至星期日的其中情况都枚举出来,这样用户输入的星期八则是不合法的。集合类型是指在一个范围内有很多元素,你可以把这些元素任意拼凑,怎么拼都行,但是每个元素必须是在给定范围内的,不能超出限定范围。就好比你是某学校的大一新生的班主任,现在你要对你的学生进行分组处理。其中每个组的每一个成员必须都是你的班级的学生,而不能讲其他班级的学生拉倒你的班级进行分组。

3>.ENUM和SET的修饰符
    A>.NULL
    B>.NOT NULL
    C>.DEFAULT ‘’

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容

  • bit 整型 bit数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或...
    mank阅读 1,266评论 0 2
  • 1、MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大...
    garvin阅读 545评论 0 1
  • 本文基于MySQL5.6版本进行描述从大的方面来讲,MySQL的数据类型分为4种 数值类型 日期和时间 字符串类型...
    黑哥儿666阅读 747评论 0 0
  • 怎么在git 上建立一个自己私有的项目呢,那么下面我们来一起看看吧!首先你要有一个git账号(不然你想建立在哪呢)...
    __Seven阅读 566评论 0 0
  • 灵魂的蛞蝓正在竹席上蠕动 想找回下辈子的梦 我们多少人,是没了重的蜗牛 在铁了心的城市 用湿黏的无助 来默默承受水...
    南的哲尾猫阅读 225评论 1 5