MySql数据类型教程示例详解

目录
  • 1.简要概述
  • 2. MySQL数据类型详解
    • 1) 字符串类型
    • 2) 整数类型
    • 3)浮点数类型
    • 4)日期/时间类型

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数据类型的资料请关注我们其它相关文章!

(0)

相关推荐

  • MySQL笔记之数据类型详解

    字符型数据 字符型数据可以使用定长或变长的字符串来实现,其不同点在于固定长度的字符串使用空格向右填充,以保证占用同样的字节数;变长字符串不需要向右填充,并且所有字节数可变. char                         定长型,字节长度固定,最大长度为255字节,可以使用char(20)这种方式限定长度,查询速度快,但不灵活 varchar                    变长型,字节长度随数据量变化,最多可存储65535字节,varchar(20)可以限定长度,查询速度不及c

  • MySQL 数据类型 详解

    1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) 3个字节 范围(-8388608~8388607) int(m) 4个字节 范围(-2147483648~2147483647) bigint(m) 8个字节 范围(+-9.22*10的18次方) 取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~25

  • mysql数据类型和字段属性原理与用法详解

    本文实例讲述了mysql数据类型和字段属性.分享给大家供大家参考,具体如下: 本文内容: 数据类型 数值类型 整数型 浮点型 定点型 日期时间类型 字符串类型 补充: 显示宽度与zerofll 记录长度 字段属性 空\不为空值:NULL.NOT NULL 主键:primary key 唯一键:unique key 自增长:auto_increment 默认值:default 字段描述:comment 补充: 复合键 首发日期:2018-04-08 数据类型: mysql的数据类型就是存储数据的类

  • MySQL数据类型全解析

    数据类型:定义列中可以存储什么数据以及该数据实际怎样存储的基本规则. 数据类型用于以下目的: 1.允许限制可存储在列中的数据.如:数值数据类型列只能接受数值. 2.允许在内部更有效地存储数据.如:用比文本串更简洁的格式存储数值和日期时间值. 3.允许变换排序顺序.如:数据都作为串处理,则1位于10前,10位于2前(串以字典顺序排序,从左边开始比较,一次一个字符):作为数值数据类型,数值才能正确排序. 一.串数据类型 最常用的数据类型,存储串,如名字.地址.电话号码等. 两种基本的串类型:定长串和

  • MySql数据类型教程示例详解

    目录 1.简要概述 2. MySQL数据类型详解 1) 字符串类型 2) 整数类型 3)浮点数类型 4)日期/时间类型 1.简要概述 为什么要开通MySQL这个学习板块呢?因为这是一名数据分析师必要的一项技能.分析数据什么最重要?当然是数据,既然如此!在数据呈现爆发式增长的年代,怎么能够不学学数据库呢?其实这也是很多读者朋友希望看到的,也是他们建议我写的. 难者不会,会者不难!其实网上很多MySQL的总结文章,不可否认,知识点写的都很全,但是呢!这个只是会使用MySQL数据库的朋友的一个查询手册

  • Windows下MySQL安装教程图文详解

    MySQL安装说明MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品. MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件. MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL 语

  • MySQL数据类型DECIMAL用法详解

    MySQLDECIMAL数据类型用于在数据库中存储精确的数值.我们经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据. 要定义数据类型为DECIMAL的列,请使用以下语法: column_name DECIMAL(P,D); 在上面的语法中: P是表示有效数字数的精度.P范围为1〜65. D是表示小数点后的位数.D的范围是0~30.MySQL要求D小于或等于(<=)P. DECIMAL(P,D)表示列可以存储D位小数的P位数.十进制列的实际范围取决于精度和刻度. 与IN

  • node.js中Util模块作用教程示例详解

    目录 从类型判断说起 严格相等 Error First & Promise 调试与输出 从类型判断说起 在 JavaScript 中,进行变量的类型校验是一个非常令人头疼的事,如果只是简单的使用 typeof 会到各种各样的问题. 举几个简单的: console.log(typeof null) // 'object' console.log(typeof new Array) // 'object' console.log(typeof new String) // 'object' 后来,大

  • C语言指针教程示例详解

    目录 指针 内存 指针类型 指针运算 二级指针 指针数组 指针 指针提供了对地址操作的一种方法,因此,使用指针可使得 C 语言能够更高效地实现对计算机底层硬件的操作.另外,通过指针可以更便捷地操作数组.在一定意义上可以说,指针是 C 语言的精髓. 概念解释就不去搬原定义了,又臭又长不好理解,精炼两点就是: 1.指针是内存中的一个最小单元的编号,也就是地址: 2.平时我们说的指针,通常是指指针变量,用来存储内存地址的变量 也就是说:指针就是地址,口语中指针通常是指针变量 内存 要搞明白指针首先要搞

  • C语言数据结构顺序表中的增删改(头插头删)教程示例详解

    目录 头插操作 头删操作 小结 头插操作 继上一章内容(C语言数据结构顺序表中的增删改教程示例详解),继续讲讲顺序表的基础操作. 和尾插不一样,尾插出手阔绰直接的开空间,咱头插能开吗?好像没听说过哪个接口可以在数据前面开一片空间吧,那我们思路就只有一个了——挪数据.那应该从第一位开始挪吗?注意,这和 memcpy 函数机制是一样的,并不意味着后面数据一起挪动,也不会彼此独立,而是相互影响,挪动的数据会对后面数据进行覆盖. 那我们的逻辑就应该是从后往前挪,那我们就直接定一个下标,指向这段空间的最后

  • vue实例成员 插值表达式 过滤器基础教程示例详解

    目录 一. 什么是Vue 二.为什么学Vue 三.如何使用Vue 下载安装? 插值表达式 四.vue特点 1.虚拟DOM 2.数据的双向绑定 3.单页面应用 4.数据驱动 五.Vue实例 六.实例成员 - 挂载点 | el - 自定义插值表达式括号| delimiters - 数据 | data - 过滤器 | filters - 方法 | methods - js对象(即字典)补充 - 插值表达式转义 | delimters - 计算属性 | computed - 监听属性 | watch 一

  • Go gRPC环境安装教程示例详解

    目录 前言 安装 protobuf 安装相关包 创建并编译proto文件 VSCode-proto3插件介绍 前言 gRPC 是一个高性能.开源和通用的 RPC 框架,面向移动和 HTTP/2 设计,带来诸如双向流.流控.头部压缩.单 TCP 连接上的多复用请求等特.这些特性使得其在移动设备上表现更好,更省电和节省空间占用. 在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务. gRPC 默认使用 protocol

  • vue3中的透传attributes教程示例详解

    目录 引言 绑定样式 对象 数组 透传的attributes 透传 attributes 之样式绑定 透传 attributes 之事件绑定 特殊1:组件嵌套 特殊2:禁用透传attributes 特殊3:在 javascript 中访问透传的attributes 总结 引言 最近两年都是在使用 react 进行项目开发,看技术博客都是针对 react 和 javaScript 高级方面的,对 vue 的知识基本上遗忘的差不多了.最近开始慢慢回顾 vue 的知识以及对新的语法进行学习,为后面的计

  • TS 类型兼容教程示例详解

    目录 类型兼容 简单类型兼容 普通对象兼容 函数兼容 参数数量不一致 参数类型不一致 返回不同 类型兼容 因为JS语言不慎过于领过, 真实开发场景中往往无法做到严格一致的类型约束,此时TS就不得不做类型兼容 顶类型:unknown -- 任何类型都可以赋值给unknown 底类型:never -- never兼容任何类型(可以赋值给任何类型) any: 其实不是一个类型,它是一个错误关闭器,用了any就等同于放弃了类型约束 简单类型兼容 子集可以赋值给父级 type name = string

随机推荐