设为首页 收藏本站
查看: 676|回复: 0

[经验分享] MySQL的数据类型及其常用修饰符详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-28 11:07:43 | 显示全部楼层 |阅读模式
MySQL的数据类型及其常用修饰符详解
================================================================================
概述:

================================================================================
Mysql的数据类型
    在mysql数据库当中,每一个库都是有多张表来组成的,每一个表都是由行和列来组成的。列通常将其称为字段。所谓建表就是声明列的过程,数据是以文件的形式保存在系统上的。因此,不同的列类型,占用的空间不一样。选列的原则:够用又不浪费即可;
★在选择数据类型时考虑如下因素:
  • 占据空间
  • 储存范围

★在声明列的时候,为什么要声明某个字段的数据类型?
数据类型有如下意义:
  • 确定该字段的值的类型;
  • 可以确定该字段所占据的空间;
  • 可以确定该字段是定长还是变长的;
  • 该字段如何进行比较以及排序;
  • 该字段是否能够索引;

★数据类型大概柯分为:
  • 数值型、字符型、日期时间型、枚举型、布尔型

1.数值型
★数值型分为整型和浮点型:
☉整型
  • 整型包括:TINYINT、SMALLINT、MEDIUINT、INT、BIGINT

wKioL1g3mobgsiRQAAEOuN_LocM545.jpg
☉浮点型
  • 包括单精度和双精度浮点型

  • float(l.f):其中l表示浮点型的长度,不包含正负符号和小数点。f表示小数点后面数字的位数。

2.字符型
★字符型:包括CHAR、VARCHAR、BINARY、VARBINARY、TEXT、BLOB等类型
wKiom1g3mqOxypGaAACjNfEmuW8532.jpg
3.日期时间型
★日期时间型:包括DATE、TIME、DATETIME、TIMESTAMP
wKiom1g3mrPRp64CAABsxlmpJZs268.jpg
4.枚举型和布尔型
★枚举型ENUM:
  • 就是列出某个字段的所有可能取得值。储存范围是0-65535bytes。如ENUM('F','M')。

★布尔型:
  • 只有两种取值,1表示true,0表示false

Mysql的字段修饰符
   在声明字段的时候,可以为这些字段添加额外的修饰符,不同的数据类型,其修饰符也是不一样的。
★字段修饰符如下表:
       数据类型
     常见的修饰符
   

            
             整型

  • UNSIGNED:无符号,表示非负(UNSIGNED要定义在NULL或NOT NULL之前);
  • NULL:允许为空;
  • NOT NULL:允许非空;
  • DEFAULT N:定义默认值;
  • AUTO_INCREMNET:自动增长,自动增长的字段必须是整型、非空、非负、唯一键或主键。



       浮点型float
  • UNSIGNED,NULL,NOT NULL,DEFAULT N




            字符型
     (char,varchar和text)
  • NULL,NOT NULL,DEFAULT 'string'
  • CHARACTER SET 字符集:设置字符集。
  • show character set可以查看mysql支持的所有字符集;
  • show variables like ‘%charac%’可以查看mysql支持的默认字符集。
  • collation '排序规则':设定排序规则;
  • show collation可以查看mysql支持的所有排序规则;

            字符型
    (binary、varbinary和blob)

NULL,NOT NULL,DEFAULT(但不适用于BLOB类型)
               日期时间型NULL,NOT NULL,DEFAULT ‘string’
          枚举型(ENUM)NULL,NOT NULL,DEFAULT 'string'






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-306646-1-1.html 上篇帖子: Centos7--lnmp+jemalloc优化nginx与mysql 下篇帖子: mysq解决sleep进程过多的办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表