MySql数据类型教程示例详解

 更新时间:2021年10月26日 16:32:24   作者:数据分析与统计学之美  
这篇文章主要为大家介绍了MySql数据类型的教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

1.简要概述

为什么要开通MySQL这个学习板块呢?因为这是一名数据分析师必要的一项技能。分析数据什么最重要?当然是数据,既然如此!在数据呈现爆发式增长的年代,怎么能够不学学数据库呢?其实这也是很多读者朋友希望看到的,也是他们建议我写的。

难者不会,会者不难!其实网上很多MySQL的总结文章,不可否认,知识点写的都很全,但是呢!这个只是会使用MySQL数据库的朋友的一个查询手册,不会使用的还是不会使用呀(并没有详细的介绍)。于是我就开始了我这个板块的写作,希望能够帮助那些转行的,要学习MySQL的朋友们。当然还要补充一点,这些板块并不是针对那些搞开发的、想当DBA的朋友,而是针对那些转行数据分析,然后需要学习MySQL数据库的那些朋友们。

前面我们已经带着大家怎么安装了MySQL数据库了,我也相信我写的这个安装教程应该是全网最详细的一个教程,不信你看。            

《MySQL安装教程》

当然,如果你此时正在为MySQL的二次安装(第一次安装失败)感到苦恼,那么这个MySQL的卸载文章应该对你会有很大作用。             

《MySQL卸载教程》

虽然我们不当DBA,但是适当了解一些MySQL增删改查以外的知识,也是有必要的,比如说建表语句为什么加上这个charset=utf8?我们从输入SQL语句到服务器给我们返回数据,究竟经历了一个怎么样的历程?你就可以实当看看下面这篇文章。

《你真的搞明白了charset=utf8编码问题吗?》

2. MySQL数据类型详解

学过编程语言的人都知道,怎么学习一门编程语言呢?首先要从数据类型开始学起。虽然库是别人创建的,表是别人设计的,这些好像都与你无关,但是掌握这样一个知识点,对你更好的理解和学习MySQL,肯定是会有帮助的。

1) 字符串类型

① char(m):定长的字符串。

在这里插入图片描述

② varchar(m):不定长的字符串。

在这里插入图片描述

上述知识,可以参考下图理解。

在这里插入图片描述

③ char和varchar存储的空间利用率比较。

在这里插入图片描述

从上表可以看出:

在这里插入图片描述

④ tinytext、text、longtext

在这里插入图片描述

注意:只要存放的是字符串类型,都要注意编码问题,一般使用的是utf8编码。

2) 整数类型

在这里插入图片描述

符号位与无符号位详解网址:https://www.jb51.net/article/178768.htm

在这里插入图片描述

① 整型数据类型声明时的参数问题

在这里插入图片描述

② unsigned参数。

-- 创建表
create table person(
    pname varchar(20),
    page tinyint unsigned,
    psex bit(1)
) charset=utf8;

-- 插入两条记录
insert into person
(pname,page,psex)
values
("张三",18,0),
("李四",22,0);

观察下图:

在这里插入图片描述

从上图可以看出:

在这里插入图片描述

③ zerofill参数必须和M参数配合使用"才有意义"。

-- 对学号字段进行一个说明:
-- 1:学号不能为负;
-- 2:学号一般位数相同,即使不同,也会用0填充。
-- eg:00001,00013,00128,01280。
-- 创建表
create table student(
    sid smallint(5) zerofill not null default 0,
    sname varchar(20),
    sage tinyint unsigned,
   ssex bit(1) default 0
) charset=utf8;

-- 插入两条记录
insert into student(sname,sid)
values ("张飞",5),("吕布",1);

观察下图:

在这里插入图片描述

从上图可以看出:

在这里插入图片描述

3)浮点数类型

在这里插入图片描述

举例说明:

-- swage代表工资;sbonus代表津贴,津贴不能是负数。
-- 创建表
create table salary(
    sname varchar(20),
    swage float(6,2),
    sbonus float(5,2) unsigned not null default 0
) charset=utf8;

-- 插入两条记录
insert into salary
(sname,swage,sbonus)
values
("纪晓岚",9999.99,111.11),
("和珅",-9999.99,444.44);

观察下图:

在这里插入图片描述

从上图中可以看出:

在这里插入图片描述

① float/double和decimal精度比较

-- 创建表
create table bank(
    id varchar(20),
    acc1 float(9,2),
    acc2 decimal(9,2)
) charset=utf8;

-- 插入两条记录
insert into bank(id,acc1,acc2)
values
(1,1234567.45,1234567.45),
(2,1234567.678,1234567.678);

观察下表:

在这里插入图片描述

从上表中可以看出:

在这里插入图片描述

4)日期/时间类型

① 什么是日期类型和时间类型?

1)日期类型:指的是年、月、日,类似于2019-11-16(2019年11月16号)

2)时间类型:指的是时、分、秒,类似于10:45:30(10点45分30秒)

② 日期/时间类型

在这里插入图片描述

以上就是MySql数据类型教程示例详解的详细内容,更多关于MySql数据类型的资料请关注脚本之家其它相关文章!

相关文章

  • mysql 8.0 安装配置方法教程

    mysql 8.0 安装配置方法教程

    这篇文章主要为大家分享了mysql 8.0安装配置方法图文教程,感兴趣的朋友可以参考一下
    2016-11-11
  • mysql 查看表结构数据的实现

    mysql 查看表结构数据的实现

    在MySQL数据库中,我们经常需要查看表的结构和数据信息,以便了解表的字段定义、索引情况等,本文主要介绍了mysql 查看表结构数据的实现,感兴趣的可以了解一下
    2024-05-05
  • 一文读懂navicat for mysql基础知识

    一文读懂navicat for mysql基础知识

    Navicat是一个强大的MySQL数据库管理和开发工具。Navicat为专业开发者提供了一套强大的足够尖端的工具,但它对于新用户仍然是易于学习。本文重点给大家介绍navicat for mysql基础知识,感兴趣的朋友一起学习吧
    2021-05-05
  • 数据库sql语句优化

    数据库sql语句优化

    今天小编就为大家分享一篇关于数据库sql语句优化,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • MySQL中json_extract()函数的使用实例

    MySQL中json_extract()函数的使用实例

    这篇文章主要介绍了MySQL中json_extract()函数的使用实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 为什么MySQL 使用timestamp可以无视时区问题.

    为什么MySQL 使用timestamp可以无视时区问题.

    这篇文章主要介绍了为什么MySQL timestamp可以无视时区问题,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
    2020-12-12
  • 深入探寻mysql自增列导致主键重复问题的原因

    深入探寻mysql自增列导致主键重复问题的原因

    前几天开发的同事反馈一个利用load data infile命令导入数据主键冲突的问题,分析后确定这个问题可能是mysql的一个bug,这里提出来给大家分享下。以免以后有童鞋遇到类似问题百思不得其解,难以入眠,哈哈。
    2014-08-08
  • MySQL入门(一) 数据表数据库的基本操作

    MySQL入门(一) 数据表数据库的基本操作

    这类文章记录我看MySQL5.6从零开始学》这本书的过程,将自己觉得重要的东西记录一下,并有可能帮助到你们,在写的博文前几篇度会非常基础,只要动手敲,跟着我写的例子全部实现一遍,基本上就搞定了,前期很难理解的东西基本没有
    2018-07-07
  • 在Linux环境下mysql的root密码忘记解决方法(三种)

    在Linux环境下mysql的root密码忘记解决方法(三种)

    这篇文章主要介绍了在Linux环境下mysql的root密码忘记解决方法,详细的介绍了3种解决办法,具有一定的参考价值,有兴趣的可以了解一下。
    2016-12-12
  • CentOS6.7 mysql5.6.33修改数据文件位置的方法

    CentOS6.7 mysql5.6.33修改数据文件位置的方法

    mysql存放的数据文件,分区容量较小,目前已经满,导致mysql连接不上,怎么解决呢?下面小编给大家分享CentOS6.7 mysql5.6.33修改数据文件位置的方法,一起看看吧
    2017-06-06

最新评论