MySql数据类型教程示例详解
作者:数据分析与统计学之美 时间:2024-01-27 05:23:47
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秒)
② 日期/时间类型
来源:https://blog.csdn.net/weixin_41261833/article/details/106742277
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python3.6+opencv3.4实现鼠标交互查看图片像素
![](https://img.aspxhome.com/file/2023/4/94084_0s.gif)
几个常用的js小函数
sqlserver 系统存储过程 中文说明
Go语言实现ssh&scp的方法详解
OpenCV如何去除图片中的阴影的实现
![](https://img.aspxhome.com/file/2023/0/85270_0s.jpg)
python爬取51job中hr的邮箱
MySql导入CSV文件或制表符分割的文件
![](https://img.aspxhome.com/file/2023/3/103383_0s.jpg)
如何在sae中设置django,让sae的工作环境跟本地python环境一致
基于scrapy实现的简单蜘蛛采集程序
JS中FormData类实现文件上传
![](https://img.aspxhome.com/file/2023/0/136920_0s.jpg)
Python列表去重复项的N种方法(实例代码)
![](https://img.aspxhome.com/file/2023/0/60710_0s.jpg)
python实现自动发送邮件发送多人、群发、多附件的示例
![](https://img.aspxhome.com/file/2023/5/107215_0s.jpg)
django 捕获异常和日志系统过程详解
Python设计实现的计算器功能完整实例
![](https://img.aspxhome.com/file/2023/4/127754_0s.png)
Python输出由1,2,3,4组成的互不相同且无重复的三位数
python虚拟环境的安装配置图文教程
![](https://img.aspxhome.com/file/2023/1/131251_0s.png)
Python基于pygame实现图片代替鼠标移动效果
![](https://img.aspxhome.com/file/2023/9/109329_0s.png)
vue 动态创建组件的两种方法
![](https://img.aspxhome.com/file/2023/1/126591_0s.gif)
Python爬虫之pandas基本安装与使用方法示例
flask框架单元测试原理与用法实例分析
![](https://img.aspxhome.com/file/2023/5/131765_0s.png)