mysql数据库的字段数据类型有哪些_mysql数据类型详解

mysql数据库的字段数据类型有哪些_mysql数据类型详解mysql数据类型有:1、数值类型;2、日期和时间类型;3、字符串类型是CHAR、VARCHAR、BINARY【二进制数据类型】、BLOB、TEXT【文本类型】、ENUM【枚举类型】和SET【数据集合】。mysql数据类型有:MySQL支持的数据类型在几类:数值类型,日期和时间类型和字符串(字符)类型。数据类型:注意:在定义字段是我们经常使用numint(10)unsigned这种写法…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

mysql数据类型有:1、数值类型;2、日期和时间类型;3、字符串类型是CHAR、VARCHAR、BINARY【二进制数据类型】、BLOB、TEXT【文本类型】、ENUM【枚举类型】和SET【数据集合】。

0e99747636bf3403297ae9fd145c6110.png

mysql数据类型有:

MySQL支持的数据类型在几类:数值类型,日期和时间类型和字符串(字符)类型。

数据类型:

1c86dbc6173b17f4081ca9bb814aa4c3.png

dc0658f8c31ec96aac6d313d260ed099.png

注意:在定义字段是我们经常使用 num int(10) unsigned 这种写法,其中的 int(10) 并不是表示该字段会存储10个长度的数字。

int(M) 表示的是数字显示的格式,并且只能在字段属性设置了zerofill时才有效。

eg:

tinyint(4) — 实际存储值为2, 如果没有指定zerofill,查询得到的结果就是 2, 如果指定了zerofill,则查询结果就是 0002,左边使用0来进行填充;

zerofill属性:如果字段指定了zerofill属性,mysql会自动为字段加上UNSIGNED 属性。

当涉及列表达式或UNION查询中时,ZEROFILL属性将被忽略

浮点型:

Float(M,D):M为数字的位数,包含了整数部分和小数部分;D为小数部分,【D <= M-2】;如果等于则整数部分为0,最大的值也就是0.99

eg:Float(2,1) — 表示一位整数和一位小数,eg:1.1

Float(1,2) — 语法错误,总共才1位 怎么可能有2位小数

关于默认值:默认值必须是一个常亮,不能函数或者表达式。例外:TIMESTAMP的默认值可以使用CURRENT_TIMESTAMP

BLOB and TEXT 不能设置默认值

如果一个列不明确的指出默认是是多少的情况下:如果数据库为strict mode模式下,则会报错

如果模式不处于strict mode模式,系统会根据类型来确认使用何种默认值

日期和时间格式:

表示时间值的日期和时间类型是日期时间(DATATIME)、日期(DATA)、时间戳(TIMESTAMP)、时间(TIME)和年份(YEAR)。

413fb45bdc383ce09a378ac6ad1bd617.png

2b2a15122824f0bb3ab8acd1e3139986.png

DATATIME范围: ‘1000-01-01 00:00:00’ to ‘9999-12-31 23:59:59’.

DATA范围:’1000-01-01′ to ‘9999-12-31’

TIMESTAMP范围:’1970-01-01 00:00:01′ UTC to ‘2038-01-19 03:14:07’

TIME范围:’-838:59:59′ to ‘838:59:59’

YEAR范围:year(4) — 1901~2155; year(2) — 00~99

TIMESTAMP: 时间戳列显示在相同的格式为DATETIME列。换句话说,显示宽度固定为19个字符,格式是’YYYY-MM-DD HH:MM:SS’。

TIMESTAMP数据类型提供自动初始化和更新。但是只能有一列默认值和更新是 指定为CURRENT_TIMESTAMP

1、自动初始化和自动更新 eg : ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

2、只有自动初始化; eg:ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP

3、只有自动更新; eg:ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP

4、都没有; eg:ts TIMESTAMP DEFAULT 0

字符串类型:

字符串类型是CHAR、VARCHAR、BINARY【二进制数据类型】、BLOB、TEXT【文本类型】、ENUM【枚举类型】和SET【数据集合】。

char和varchar的区别:存储长度的区别在于最大长度和是否保留空格;

char会保留空格,varchar不会保留空格

char为 0~ 255; varchar为 0 ~ 65535

83d9bccac76fec18b494031f73c84abe.png

ENUM:枚举是一个字符串对象从中明确列举了在创建表时列规范的允许值的列表中选择一个值。【当插入值不能和列表的值惊醒匹配时,默认是最大索引值】, ,numbers ENUM(‘0′,’1′,’2’)mysql> INSERT INTO t (numbers) VALUES(2),(‘2’),(‘3’);mysql> SELECT * FROM t;+———+

| numbers |

+———+

| 1 |

| 2 |

| 2 |

+———+

SET:集是一个对象,该对象可以有零个或多个值的字符串,其中每个必须从列表中选择允许创建表时指定的值。【当插入值不能和列表的值经行匹配时,MYSQL会忽略列表中不存在的值】1 CREATE TABLE myset (col SET(‘a’, ‘b’, ‘c’, ‘d’));2 3 INSERT INTO myset (col) VALUES (‘a,d’), (‘d,a’), (‘a,d,a’), (‘a,d,d’), (‘d,a,d’);

从定义中可以看出 ENUM和SET的区别在于值是定义时指定的值中的一个还是多个。还有就是在插入值在列表中不存在的表现不一样。更多相关免费学习推荐:mysql教程(视频)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193304.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Java 中队列的使用

    Java 中队列的使用

    2021年11月16日
  • 机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾

    机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾f作者:寒小阳&&龙心尘时间:2015年10月。出处:声明:版权所有,转载请注明出处,谢谢。手把手机器学习之逻辑回归应用——Kaggle泰坦尼克之灾1.引言先说一句,年末双十一什么的一来,真是非(mang)常(cheng)欢(gou)乐(le)!然后push自己抽出时间来写这篇blog的原因也非常简单:写完前两篇逻辑回归的介绍和各个角度理解之后,小伙伴们纷纷表示『好像很高级的样纸,

  • 【打一局王者荣耀掉星的时间,我制作了一款支持 重力感应 的 3D动态壁纸】

    【打一局王者荣耀掉星的时间,我制作了一款支持 重力感应 的 3D动态壁纸】正在兢兢业业的当一个打工仔,有一个小伙伴问我能不能用Unity制作3D动态壁纸。我一寻思应该问题不大,因为之前用Unity简单制作过一个PC端的桌面宠物,开启Unity背景穿透模式能有一个壁纸的效果。但是仔细一想在手机端也这样做的话好像不能直接套用…所以在网上搜索了一下有没有什么简单可行的方法。然后我发现Unity有一款专门用来做动态壁纸的插件:uLiveWallpaper所以本篇文章就来使用这款插件制作一款最基础的3D重力感应动态壁纸,下面一起看看如何制作吧~

  • QTreeView使用系列教程目录

    QTreeView使用系列教程目录写这篇文章的目的是为了,让大家很容易上手进行QTreeView的开发,所以会先讲下原理,让大家大概明白了,再进行实操。网上很多讲QTreeView+model开发方式的文章,一上来,就是一堆代码,可能对初学者不是很好入手。介于这块知识较多,所以打算出个系列,详细讲解一下各方面的使用。1、《Qt之Model/View框架介绍》:系列教程之一2、《QTreeView+QDirModel…

  • 详谈如何定制自己的博客园皮肤

    详谈如何定制自己的博客园皮肤前言最近,有很多博客园的朋友给我留言或私信,询问我的博客背景是如何做的。不是我敝帚自珍,而是由于内容较多,一一回复实在是太费劲。没有及时答复的朋友,请见谅。我在这里做一次集中式分享,如果有喜欢的

  • 挖矿病毒清除记录

    挖矿病毒清除记录转载地址:https://www.52pojie.cn/thread-864849-1-1.html?tdsourcetag=s_pctim_aiomsg起因是同学过年期间因阿里云的服务器Redis弱口令(好像是没设密码)被提权植入了挖矿病毒,CPU长期占用100%。登录服务器后,首先使用Top命令,查看CPU占用。发现CPU占用率达到100%,可是却没有相关占用高的进程。想…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号