MySQL -数据类型
博客主页:【夜泉_ly】
本文专栏:【暂无】
欢迎点赞👍收藏⭐关注❤️
目录
- 前言
- 数值类型
- int
- bit
- float
- 字符串
- char
- varchar
- enum set
- 日期和时间类型
前言
在之前的操作篇,
我们用到的大多是DDL(数据定义语言)。
在建表时,有列属性的名称,也有类型。
MySQL 支持多种类别的SQL数据类型:
数值类型、日期和时间类型、字符串(字符和字节)类型、空间类型以及 JSON数据类型。
具体的、权威的信息建议查官方文档,
点上面那个蓝色的字体就行。
本篇主要讲最常见的数据类型。
数值类型
位、整数、浮点数都叫数值类型。
int
其中,带 int 的都叫整数类型。
类型都可以加 un 前缀,代表无符号。
类型 | 存储(字节) | 最小值(有符号) | 最小值(无符号) | 最大值(有符号) | 最大值(无符号) |
---|---|---|---|---|---|
TINYINT | 1 | -128 | 0 | 127 | 255 |
SMALLINT | 2 | -32768 | 0 | 32767 | 65535 |
MEDIUMINT | 3 | -8388608 | 0 | 8388607 | 16777215 |
INT | 4 | -2147483648 | 0 | 2147483647 | 4294967295 |
BIGINT | 8 | -2^63 | 0 | 2^63-1 | 2^64-1 |
表格来自手册
需注意的是,
在C/C++中,越界的数据会被截断。
但MySQL中,它不会让你插入越界的数据。
如果我们向MySQL特定的类型插入不合法的数据,
MySQL一般都是直接拦截我们,不让我们做对应的操作。
这点一定要和其他语言做区分,
MySQL不能截断数据,
一但截断,不能区分哪些是有效的,哪些是被截过的。
反过来,如果我们已经有数据被成功插入到MySQL中了,
那么插入的数据一定是合法的。
所以在MySQL中,一般而言,
数据类型本身就是一种 约束。
这种约束,让程序员尽可能的进行正确的插入,
保证了数据库中的数据是完整、可预期的。
至于用不用unsigned,看场景,
比如年龄,就可以用unsigned。
而用什么类型,也取决于场景,
还是年龄,如果你无脑选最大的(比如bigint),
那数据一多,空间浪费就多。
下面看看操作。
create database test_db;
use test_db;
create table if not exists t1(
num tinyint
);
desc t1;
show create table t1 \G
建立属性列时,名称在前,类型在后
insert into t1 values (-128);
insert into t1 values (127);
insert into t1 values (0);
insert into t1 values (128);
insert into t1 values (-129);
MySQL不会让你插入越界的数据
create table if not exists t2(
num tinyint unsigned
);
insert into t1 values (0);
insert into t1 values (255);
insert into t1 values (-1);
insert into t1 values (256);
无符号的
bit
create table if not exists t3(
id int,
online bit
);
desc t3;
show create table t3 \G
创建时,不显示指定长度,默认是一位
insert into t3 values (123, 0);
insert into t3 values (124, 1);
insert into t3 values (125, 2);
insert into t3 values (125, -1);
也有约束
select * from t3;
有些版本的MySQL直接select不会显示0x00、0x01,可指定使用十六进制hex(…)
alter table t3 modify online bit(64);
alter table t3 modify online bit(65);
bit最多设置64位
float
float/double 都可以用来存小数,
与C/C++相同,这个数也是近似值。
并且,在手册的描述中到处都是弃用弃用,
这个语法将被弃用、那个语法将被弃用。
(不过我英语不好,不确定读懂没有,
你们可以自行去手册确认。)
稍微总结了一下我们需要注意的点:
- 不再使用 FLOAT(M, D) 或 DOUBLE(M, D),
直接使用 FLOAT 或 DOUBLE - 不再使用 UNSIGNED ,
建议使用 CHECK 约束来确保非负数值。 - 对于需要精确小数计算的情况,
推荐使用 DECIMAL 类型。
不过我们还是简单过一下操作:
create table if not exists t4(
salary float(4, 2)
);
desc t4;
show create table t4 \G
(4,2):位数不超过4的情况下,小数点后有2位
insert into t4 values (99.99);
insert into t4 values (-99.99);
insert into t4 values (100.0);
insert into t4 values (0.999);
insert into t4 values (99.999);
select * from t4;
- 位数不能超
- 精度多了会四舍五入
- 四舍五入的结果,必须在合法范围内
- 如果是unsigned,会把负数部分ban掉,正数部分同有符号的。
- 默认的float可以存很大的数,我的是3e38左右
再看看精度问题:
create table if not exists t5(
f1 float(9, 8),
f2 decimal(9, 8)
);
insert into t5 values (1.11111111, 1.111111111);
insert into t5 values (1.23456789, 1.23456789);
select * from t5;
对于需要精确小数计算的情况,推荐使用 DECIMAL 类型。
字符串
The string data types are CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, and SET.
char
char 可以存固定长度的字符串,
这个字符,就是一个符号
和存储的大小无关。
比如 a 是一个字符,啊 也是一个字符,
如果你用的字符编码集是utf8mb4
那么😊也是一个字符。
可以简单验证:
create table if not exists test_char(
name char(1)
);
show create table test_char \G
insert into test_char values ('a');
insert into test_char values ('啊');
insert into test_char values ('😊');
select * from test_char;
顺带一提,这一段我是在vscode上操作的,
因为我不知道怎么把 😂 弄到 XShell 上。
alter table test_char modify name char(255);
alter table test_char modify name char(256);
char 最多255个字符
varchar
varchar 表示可变长度字符串
这个可变长度,
指的是实际存储所占空间的长度。
举个例子:
假设你有一个 varchar(1000) 字段,并存储字符串 ‘a’:
如果字符集是 utf8,‘a’ 占用 1 字节。
另外,记录字符串的长度也需要 1 字节。
因此,存储 ‘a’ 的总空间是:1 字节(字符) + 1 字节(长度前缀) = 2 字节。
varchar总共可以存65535个字节,
而字符长度,取决于编码。
具体来说,varchar需要用1~3字节存字符长度,
因此字符串最多用65532字节,
最大长度 = (65535-3) / 单个字符所占字节数。
create table if not exists t6(
name varchar(2)
);
insert into t6 values ('aa');
insert into t6 values ('aaa');
alter table t6 modify name varchar(16383);
alter table t6 modify name varchar(16384);
我的是utf8mb4,一个字符4字节,所以长度<=(65535-3)/4=16383
- 注1:一行的大小也有上限,
所以如果除了varchar还有其他字段,
varchar的上限只会变得更小。 - 注2:虽然上面我们一直在测边界,
但实际中,如果你的数据已经接近边界了,
那你还是换一个数据类型来存吧。
(比如上图就建议 use blog or text instead)
enum set
enum 单选,set 多选。
create table if not exists t7(
id int unsigned,
gender enum('男', '女', '其他'),
hobby set('代码', '吃饭', '睡觉')
);
insert into t7 values(1, '男', '代码');
insert into t7 values(2, '女', '代码, 睡觉');
insert into t7 values(2, '女', '代码,睡觉');
insert into t7 values(3, 3, 3);
insert into t7 values(4, 1, 7);
select * from t7;
注:
- enum 可以插入下标,从1开始。
- set 可以插入数字,用比特位代表对应选项。
- set 插入多个值时,用逗号分割(请不要顺手打个空格)。
日期和时间类型
首先我们得知道,
日期,通常代表年月日
时间,通常代表时分秒
日期时间,就是年月日时分秒
常用类型有三个:
date:表示日期(年-月-日)。
datetime:表示日期和时间(年-月-日 时:分:秒)。
timestamp:自动存储当前时间戳,在数据插入时自动更新(需设置)。
关于自动更新,
我们可以简单测试:
create table test_time( t1 datetime, t2 timestamp, t3 datetime default current_timestamp, t4 timestamp default current_timestamp, t5 datetime on update current_timestamp, t6 timestamp onupdate current_timestamp, t7 datetime default current_timestamp on update current_timestamp, t8 timestamp default current_timestamp on update current_timestamp );
show create table test_time \G
insert into test_time values ();
select * from test_time;
update test_time set t1 = '1-1-1 1:1:1', t2 = '2000-1-1 1:1:1' where t1 is null;
select * from test_time;
希望本篇文章对你有所帮助!并激发你进一步探索编程的兴趣!
本人仅是个C语言初学者,如果你有任何疑问或建议,欢迎随时留言讨论!让我们一起学习,共同进步!
相关文章:
MySQL -数据类型
博客主页:【夜泉_ly】 本文专栏:【暂无】 欢迎点赞👍收藏⭐关注❤️ 目录 前言数值类型intbitfloat 字符串charvarcharenum set 日期和时间类型 前言 在之前的操作篇, 我们用到的大多是DDL(数据定义语言)。 在建表时,…...
数据通信学习笔记之OSPF的邻居角色
邻居与邻接 OSPF 使用 Hello 报文发现和建立邻居关系 在以太网链路上,缺省时,OSPF 采用组播的形式发送 Hello 报文 (目的地址 224.0.0.5) OSPF Hello 报文中包含了路由器的 RouterID、邻居列表等信息。 邻居状态: 邻居:2-way 邻…...
2025第十六届蓝桥杯python B组满分题解(详细)
目录 前言 A: 攻击次数 解题思路: 代码: B: 最长字符串 解题思路: 代码: C: LQ图形 解题思路: 代码: D: 最多次数 解题思路: 代码: E: A * B Problem 解题思路&…...
计算机组成原理笔记(十七)——4.2定点加减运算
定点数的加减运算包括原码、补码和反码3种带符号数的加减运算,其中补码加减运算实现起来最方便。 4.2.1原码加减运算 原码加减运算详解 原码是计算机中表示数值的基本方式之一,其特点为最高位为符号位(0表正,1表负)…...
javase 学习
一、Java 三大版本 javaSE 标准版 (桌面程序; 控制台开发) javaME 嵌入式开发(手机、小家电)基本不用,已经淘汰了 javaEE E业级发开(web端、 服务器开发) 二、Jdk ,jre jvm 三…...
成品检验工程师心得总结
岗位:成品检验助理工程师 成品检验工程师——————>OQC工程师 何为成品? 简单来说,就是已经完成了产品的开发,测试,满足客户所有需求开发的产品。 成品检验工程师对应的是哪一个角色? 客户&…...
操作系统:进程是一个非常重要的抽象概念
在操作系统中,进程是一个非常重要的抽象概念,它是程序在计算机上的执行实例,是系统进行资源分配和调度的基本单位。 一、进程的定义 从动态角度来说,进程是程序的一次执行过程。例如,当你在计算机上打开一个文本编辑…...
QML 字符串格式化
在 QML 中,处理字符串格式化有多种方法,以下是常用的字符串格式化函数和技巧: 1. 基本字符串连接 qml var str "Hello, " "QML!"; // 简单连接 var name "Alice"; var greeting Hello, ${name}; // 模…...
堆排序的C++相关实现
大根堆的实现 #include <iostream> #include <vector> using namespace std;// 调整堆,确保以i根节点的子树满足大根堆 void heapify(vector<int>& vec, int n , int i) {int largest i;int left 2 * i 1;int right 2 * i 2;if (left &…...
c++类与对象(一)
前言: 什么是面向对象编程?什么是类与对象?为啥要搞类与对象啊?凭什么c能支持面向对象编程啊? 每次学东西前问自己几个问题会挺爽的,因为你越是懵逼,你就越想知道答案是什么。希望我的这几篇文章…...
(二)mac中Grafana监控Linux上的MySQL(Mysqld_exporter)
框架:GrafanaPrometheusMysqld_exporter 一、监控查看端安装 Grafana安装-CSDN博客 普罗米修斯Prometheus监控安装(mac)-CSDN博客 1.启动Grafana服务 brew services start grafana 打开浏览器输入http://localhost:3000进入grafana登录…...
认知升级:把握人工智能教育化转型的历史机遇
认知升级:把握人工智能教育化转型的历史机遇 ----灌南县第四中学 孟祥帅 2025年4月17日至19日,我有幸参加了教育部主办的“全国人工智能校长局长专题培训班”。此次大会以“人工智能赋能教育现代化”为主题,汇聚了全国各地的教育局局长、校…...
人形机器人马拉松:北京何以孕育“领跑者”?
“机器人每跑一小步,都是人类科技的一大步”,这句对阿姆斯特朗登月名言的仿写,恰如其分地诠释了全球首场人形机器人半程马拉松赛事的里程碑意义。 2025年4月19日,北京亦庄半程马拉松暨人形机器人半程马拉松圆满结束。在总长21.09…...
HBuilder X:前端开发的终极生产力工具
一、极速下载与部署指南 官方下载地址:HBuilderX-高效极客技巧 HBuilder X 提供轻量化绿色发行包(仅 10 余 MB),支持 Windows、macOS、Linux 全平台。 安装流程: Windows 用户: 下载.zip压缩包后解压至非系…...
对于校园网如何进行用户识别——captive portal的原理学习总结
一、技术名称总结 这一技术的核心称为 Captive Portal(强制门户),中文常译为“认证门户”或“强制门户”。它是通过拦截未认证用户的网络流量,强制跳转到指定登录页面的技术。 二、技术提供方与部署逻辑 Captive Portal的实现主…...
肖特基二极管详解:原理、作用、应用与选型要点
一、肖特基二极管的基本定义 肖特基二极管(Schottky Diode) 是一种基于金属-半导体结(肖特基势垒)的二极管,其核心特性是低正向压降(Vf≈0.3V)和超快开关速度。 结构特点:阳极采用金…...
6.数据手册解读—运算放大器(三)
7、应用和实现 7.1应用信息 TLV916x 系列提供了出色的直流精度和交流性能。 这些器件的工作电压高达 16V, 并提供真正的轨到轨输入/输出、 低失调电压、失调电压漂移以及 11MHz 带宽和高输出驱动。TLV916x适用于16V工业应用。 7.2 典型应用 7.2.1 低边电流测量 下…...
关于隔离1
1.隔离的目的: 在隔离电源设计中,输入与输出之间没有直接电气连接,提供绝缘高阻态,防止电流回路。这意味着输入与输出之间呈现为绝缘的高阻态,从而确保了无电流回路的形成。 隔离与可靠保护有关。电隔离是一种电路设…...
大语言模型推理能力的强化学习现状理解GRPO与近期推理模型研究的新见解
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
【NLP 60、实践 ⑭ 使用bpe构建词表】
目录 一、BPE(Byte Pair Encoding)算法详解 1.基本概念 2.核心思想 3.算法步骤详解 Ⅰ、预处理 Ⅱ、统计字符对频率 Ⅲ、合并高频字符对 Ⅳ、编码与解码 ① 编码(文本→子词序列) ② 解码(子词序列→文本) …...
String +memset字符串类题型【C++】
tips: 1、寻找最大公共子串时,如果字符串可以旋转但是不能反转,考虑在每个字符串后重复一次自身,如 "abcd" 变为 "abcdabcd",这样在用dp就可以了。 如何变环拆环为链: cin>>n&…...
06 GE Modifier
看看这个 问题。怪!究竟下一个modifier能不能访问到上一个?刚才还可以啊现在怎么不行了。 这里捕获了Owner的属性,Source不知道在哪捕获的 CalculationType: 1.使用计算后的值 2.使用基础值 3.使用计算后的值-基础值。 BackingAttributes Sou…...
30元一公斤的樱桃甜不甜
2025年4月20日,13~27℃,还好 待办: 综合教研室——会议记录3份(截止年4月18日) 备课冶金《物理》 备课理工《高数》 备课理工《物理》 教学技能大赛教案(2025年4月24日,校赛,小组合作…...
App-Controller - 通过自然语言操控应用程序的智能框架
本文翻译整理自:https://github.com/alibaba/app-controller 一、关于 App-Controller App-Controller 是基于大语言模型(LLMs)和智能体(Agents)构建的创新性API编排框架,旨在利用LLMs的高级推理能力来集成和同步各类应用程序提供的API。 上图展示了App…...
Deepseek输出的内容如何直接转化为word文件?
我们有时候会直接利用deepseek翻译别人的文章或者想将deepseek输出的内容直接复制到word文档里。但是文本格式和word是不对应的。这时候需要输入如下命令: 以上翻译内容的格式和排版要求如下: 1、一级标题 字体为黑体(三号)&…...
深入剖析 Java Web 项目序列化:方案选型与最佳实践
在 Java Web 开发中,“序列化”是一个你无法绕过的概念。无论是缓存数据、共享 Session,还是进行远程过程调用(RPC)或消息传递,序列化都扮演着底层数据搬运工的角色。它负责将内存中的 Java 对象转换成可传输或可存储的…...
第36讲:作物生长预测中的时间序列建模(LSTM等)
目录 🧠 为什么用时间序列模型来预测作物生长? ⛓️ 什么是 LSTM? 📊 示例案例:预测小麦NDVI变化趋势 1️⃣ 模拟数据构建(或使用真实遥感数据) 2️⃣ 构建 LSTM 所需数据格式 3️⃣ 构建并训练 LSTM 模型 4️⃣ 模型预测与效果可视化 🧠 除了 LSTM,还有哪…...
LeetCode 每日一题 2563. 统计公平数对的数目
2563. 统计公平数对的数目 给你一个下标从 0 开始、长度为 n 的整数数组 nums ,和两个整数 lower 和 upper ,返回 公平数对的数目 。 如果 (i, j) 数对满足以下情况,则认为它是一个 公平数对 : 0 < i < j < n,…...
Redis 哨兵与集群脑裂问题详解及解决方案
Redis 哨兵与集群脑裂问题详解及解决方案 本文将深入探讨Redis在哨兵模式和集群模式下可能出现的脑裂问题,包括其发生场景、原因以及有效的解决策略。同时,我们还将提供相应的代码示例和配置方案来帮助读者理解和实施。 一、脑裂问题概述 脑裂&#x…...
Laravel-vite+vue开发前端模板
开始这篇文章的时候,你已经安装了laravel!你已经安装了laravel!你已经安装了laravel! 然后你的laravel服务器环境已经搭建好,应用可以正常访问 laravel vite plugin 官方原文 laravel默认已经集成vitejs,单纯使用vi…...
springboot+vue3+mysql+websocket实现的即时通讯软件
项目演示 即时通讯软件项目演示 业务架构 技术栈 后端 选用编程语言 Javaweb框架SpringBootdb MySQL 持久存储nosql 缓存 Redis全双工通信框架 WebSocket 前端 前端框架Vue3TypescriptUI样式 Css、ElementPlus网页路由 vue-router全双工通信框架Websocket 功能完成情况 已实…...
HTMLCSS实现网页轮播图
网页中轮播图区域的实现与解析 在现代网页设计中,轮播图是一种常见且实用的元素,能够在有限的空间内展示多个内容,吸引用户的注意力。下面将对上述代码中轮播图区域的实现方式进行详细介绍。 一、HTML 结构 <div class"carousel-c…...
HTML表单与数据验证设计
HTML 表单与数据验证设计:构建可靠的用户数据采集系统 引言 互联网的核心是数据交互,而HTML表单是这一交互的主要入口。作为前端工程师,设计高质量的表单不仅关乎用户体验,更直接影响数据收集的准确性和系统安全。 在我的学习实…...
[Windows] 星光桌面精灵 V0.5
[Windows] 星光桌面精灵 链接:https://pan.xunlei.com/s/VOOI9NCNDB0iBONt5gz7zUb9A1?pwdgxa6# [Windows] 星光桌面精灵 V0.5 这款桌面精灵是动态的,而且还可以做快捷启动...
Java 网络编程性能优化:高吞吐量的实现方法
Java 网络编程性能优化:高吞吐量的实现方法 在当今的互联网时代,网络应用的性能优化是开发人员面临的重要挑战之一。Java 作为一门广泛使用的编程语言,提供了强大的网络编程支持,但如何通过优化实现高吞吐量,是每个 J…...
【去哪儿网】登录滑块逆向算法AES加密分析(逆天滑块轨迹)
目标:aHR0cHM6Ly91c2VyLnF1bmFyLmNvbS9wYXNzcG9ydC9sb2dpbi5qc3A 验证接口: https://vercode.qunar.com/inner/captcha/snapshot 可以发现是encryption方法生成,进入encryption里面,发现是AES加密的轨迹 track就是轨迹 直接…...
Redis ④-通用命令
Redis 是一个 客户端-服务器 结构的程序,这与 MySQL 是类似的,这点需要牢记!!! Redis 固然好,但也不是任何场景都适合使用 Redis,一定要根据当前的业务需求来选择是否使用 Redis Redis 通用命令…...
机制的作用
“机制”是一个广泛使用的概念,其含义和应用范围因领域而异。在不同的学科和实际应用中,机制有着不同的定义和功能。以下从几个主要领域对“机制”进行详细解释: 一、自然科学中的机制 (一)物理学 定义 在物理学中&…...
Pandas:数据处理与分析的核心操作
Pandas:数据处理与分析的核心操作 Pandas 是 Python 数据分析的核心库,它提供了高性能、易用的数据结构和数据分析工具。本文将详细介绍 Pandas 的核心操作,帮助你高效进行数据处理和分析。 1. Pandas 基础数据结构 Pandas 有两个主要的数…...
Kotlin实现Android应用保活方案
Kotlin实现Android应用保活优化方案 以下的Android应用保活实现方案,更加符合现代Android开发规范,同时平衡系统限制和用户体验。 1. 前台服务方案 class OptimizedForegroundService : Service() {private val notificationId 1private val channel…...
硬件电路(25)-过温保护器件ksd9700温控开关
一、概述 KSD9700系列温控开关是一种双金属作为感温元件的温控器,具有动作迅速、控温精确、控制电流大、使用寿命长的特点,被广泛应用于各类微型电机、电磁炉、空调电机、小家电等做温度保护控制。 二、应用 KSD9700系列产品是一种双金属作为感温元件的…...
vuex实现同一页面radio-group点击不同按钮显示不同表单
本文实现的是点击单一规格和多规格两个按钮会在页面显示不同的表单 方法一 <!-- 单规格和多规格的切换 --> <el-form label-width"80px" class"text-align-left"><el-form-item label"商品规格"><!-- 监听skus_type的改…...
代码随想录训练营第36天 ||1049. 最后一块石头的重量 II 494. 目标和 474. 一和零
1049. 最后一块石头的重量 II 讲解:代码随想录 思路: 01背包问题:题意说要求粉碎石头后留下的最小石头重量,石头粉碎的规则是两个石头如果重量相等,同时粉碎,如果重量不相等,粉碎后的重量是大…...
[Spring]SSM整合
第一步 整合任何框架,首先都是导入相关的jar包: <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.18</version></dependency><!--mybatis依…...
【HDFS】HDFS数据迁移与备份全攻略:从日常备份到灾难恢复
目录 1 HDFS数据迁移与备份概述 2 集群间数据迁移:DistCp工具详解 2.1 DistCp工作原理架构 2.2 DistCp标准工作流程 2.3 DistCp性能优化方案 3 离线备份实施策略 3.1 HDFS到本地备份架构 4 灾难恢复方案设计 4.1 基于快照的恢复流程 4.2 数据一致性校验方…...
动态规划入门:背包问题求具体方案(以0-1背包问题为例)
本质:有向图最短(长)路问题 字典序最小方案?--贪心思路?(本题未使用) 分析第一个物品: 写代码时tip:要考虑“边读边做”还是“先读后做” #include<iostream> #i…...
git学习日志
你看到的是 Vim 文本编辑器的界面,并非 git 的窗口。这是你通过 vim hello.txt 命令打开的新文件。以下是分步操作指南: 1. 进入编辑模式 按下键盘上的 i 键(进入 “INSERT” 模式),此时左下角会显示 -- INSERT --。现…...
数字孪生废气处理工艺流程
图扑数字孪生废气处理工艺流程系统。通过精准 3D 建模,对废气收集、预处理、净化、排放等全流程进行 1:1 数字化复刻,实时呈现设备运行参数、污染物浓度变化等关键数据。 借助图扑可视化界面,管理者可直观掌握废气处理各环节状态,…...
iPhone 13P 换超容电池,一年实记的“电池循环次数-容量“柱状图
继上一篇 iPhone 13P 更换"移植电芯"和"超容电池"🔋体验,详细记录了如何更换这两种电池,以及各自的优略势对比。 一晃一年过去,时间真快,这次分享下记录了使用超容电池的 “循环次数 - 容量(mAh)…...
豆瓣图书数据采集与可视化分析(二)- 豆瓣图书数据清洗与处理
文章目录 前言一、查看数据基本信息二、拆分pub列三、日期列处理四、价格列处理五、出版社列处理六、评价人数列处理七、缺失值处理八、重复数据处理九、异常值处理十、完整代码十一、清洗与处理后的数据集展示 前言 豆瓣作为国内知名的文化社区,拥有庞大且丰富的图…...