【MySQL】表的基础增删改查

前面我们已经知道怎么来创建表了,接下来就来对创建的表进行一些基本操作。

这里先将上次创建的表删除掉:

mysql> use test;
Database changedmysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| student        |
+----------------+
1 row in set (0.00 sec)mysql> drop table if exists student;
Query OK, 0 rows affected (0.03 sec)

在test数据库里新建一个student表:

mysql> create table student(->     id int comment '序列号',->     name varchar(20) comment '学生名',->     Chinese decimal(3,1) comment '语文成绩',->     Math decimal(3,1) comment '数学成绩',->     English decimal(3,1) comment '英语成绩'-> );
Query OK, 0 rows affected (0.06 sec)

接下来就针对该表进行增删改查的操作~

目录

♫新增

♪单行数据插入

♪查看默认编码

♪修改配置文件

♪指定列插入

♪多行数据插入

 ♫查询

♪全列查询

♪指定列查询

♪表达式查询

♪表达式查询

♪去重查询

♪排序查询

♪运算符

♪条件查询

♪限制查询

♪分页查询

♫修改

♫删除


♫新增

♪单行数据插入

新增操作是指对表增添数据:

语法:insert into 表名 values(类型1的数据,类型2的数据,类型3的数据...);

mysql> insert into student values(1,'student1',99,94,93);
Query OK, 1 row affected (0.42 sec)

注:

①.into也可以省略不写

②.插入的数据必须和定义表的列数及顺序一致

♪查看默认编码

上面我们就将student1学生的数据插入到student表里了,但如果我们插入的名字是中文名就有可能会报错:

mysql> insert into student values(1,'张三',99,94,93);
ERROR 1366 (HY000): Incorrect string value: '\xD0\xA1\xC3\xF7' for column 'name' at row 1

这是因为我们在创建test数据库的时候没有手动指定字符集,此时字符集就会是配置文件(my.ini)里的字符集,而配置文件的字符集如果没有修改过默认是latin1。

我们可以通过show variables like "%character%";语句来查看当前MySQL的数据库编码:

mysql> show variables like "%character%";
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | gbk                                                     |
| character_set_connection | gbk                                                     |
| character_set_database   | latin1                                                  |
| character_set_filesystem | binary                                                  |
| character_set_results    | gbk                                                     |
| character_set_server     | latin1                                                  |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.00 sec)

其中,character_set_client为客户端编码方式,character_set_connection为建立连接使用的编码,character_set_database数据库的编码,character_set_results结果集的编码,character_set_server数据库服务器的编码。可以看到此时数据库的编码为latin1,所以我们需要在创建数据库时手动指定字符集者通过修改配置文件的字符集来使接下来创建的数据库都支持中文。

♪修改配置文件

手动指定字符集我们都会了,下面就来改一改配置文件里的默认字符集吧~

找到并打开my.ini文件,将里面的default-character-set和character-set-server改为如下:

注:修改配置文件前最好备份一份修改前的,以防改错了能改回之前的。

修改完重启MySQL之后再去查询数据库编码可以发现默认字符集已经改为utf8了:

mysql> show variables like"%character%";
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | utf8                                                    |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.02 sec)

这样,之后创建的数据库即使不手动指定字符集也能支持中文了,我们删掉之前的test库,并重新创建一个student表插入中文学生名的数据:

mysql> drop database if exists test;
Query OK, 1 row affected (0.09 sec)mysql> create database if not exists test;
Query OK, 1 row affected (0.00 sec)mysql> use test;
Database changed
mysql> create table student(->     id int comment '序列号',->     name varchar(20) comment '学生名',->     Chinese decimal(3,1) comment '语文成绩',->     Math decimal(3,1) comment '数学成绩',->     English decimal(3,1) comment '英语成绩'-> );
Query OK, 0 rows affected (0.07 sec)mysql> insert into student values(1,"张三",88,93,89);
Query OK, 1 row affected (0.02 sec)

♪指定列插入

插入操作还可以指定列插入:

语法:insert into 表名(列名1,列名2,列名3...) values(列名1的数据,列名2的数据,列名3的数据...);

mysql> insert into student(id,name) values(2,"李四");
Query OK, 1 row affected (0.09 sec)

这样就可以只插入部分数据,其余列则就是默认值。

♪多行数据插入

如果觉得一条一条插入太麻烦,还可以一次插入多条数据:

语法:insert into 表名 values(类型1的数据,类型2的数据,类型3的数据...),(类型1的数据,类型2的数据,类型3的数据...),(类型1的数据,类型2的数据,类型3的数据...)...;

mysql> insert into student values(3,"王五",97,77,82),(4,"赵六",87,67,65),(5,"小七",88,77,82);
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

注:MySQL是一个客户端服务器,每次请求和相应都会有时间开销,数据库服务器把数据存储在硬盘上(硬盘的读取和写入速度慢),每进行一次sql都会开启一个事务,故一次插入多条数据往往比多次插入一条数据效率要高。

 ♫查询

♪全列查询

新增数据后,我们就可以通过查询操作查看我们插入的数据了:

语法:select * from 表名;

mysql> select * from student;
+------+--------+---------+------+---------+
| id   | name   | Chinese | Math | English |
+------+--------+---------+------+---------+
|    1 | 张三   |    88.0 | 93.0 |    89.0 |
|    2 | 李四   |    NULL | NULL |    NULL |
|    3 | 王五   |    97.0 | 77.0 |    82.0 |
|    4 | 赵六   |    87.0 | 67.0 |    65.0 |
|    5 | 小七   |    88.0 | 77.0 |    82.0 |
+------+--------+---------+------+---------+
5 rows in set (0.01 sec)

注:当数据量很大时不介意使用全列查询,容易把硬盘IO和网络带宽吃满。

♪指定列查询

相比于全列查询,指定列查询的数据量就要小很多:

语法:select 列名1,列名2,列名3... from 表名;

mysql> select id,name,Chinese from student;
+------+--------+---------+
| id   | name   | Chinese |
+------+--------+---------+
|    1 | 张三   |    88.0 |
|    2 | 李四   |    NULL |
|    3 | 王五   |    97.0 |
|    4 | 赵六   |    87.0 |
|    5 | 小七   |    88.0 |
+------+--------+---------+
5 rows in set (0.00 sec)

♪表达式查询

还可以指定表达式进行查询:

语法:select 表达式1,表达式2,表达式3... from student;

mysql> select id,name,10 from student;
+------+--------+----+
| id   | name   | 10 |
+------+--------+----+
|    1 | 张三   | 10 |
|    2 | 李四   | 10 |
|    3 | 王五   | 10 |
|    4 | 赵六   | 10 |
|    5 | 小七   | 10 |
+------+--------+----+
5 rows in set (0.00 sec)mysql> select id,name,Chinese+10 from student;
+------+--------+------------+
| id   | name   | Chinese+10 |
+------+--------+------------+
|    1 | 张三   |       98.0 |
|    2 | 李四   |       NULL |
|    3 | 王五   |      107.0 |
|    4 | 赵六   |       97.0 |
|    5 | 小七   |       98.0 |
+------+--------+------------+
5 rows in set (0.01 sec)mysql> select id, name,Chinese+Math+English from student;
+------+--------+----------------------+
| id   | name   | Chinese+Math+English |
+------+--------+----------------------+
|    1 | 张三   |                270.0 |
|    2 | 李四   |                 NULL |
|    3 | 王五   |                256.0 |
|    4 | 赵六   |                219.0 |
|    5 | 小七   |                247.0 |
+------+--------+----------------------+
5 rows in set (0.00 sec)

注:根据表达式查询返回的是一个临时表,并不会改变原来表的数据

♪表达式查询

如果觉得表达式太长,还可以为表达式取个别名,这样返回的结果集中就会以该别名作为该列的名称:

语法:select 表达式 as 别名 from student;

mysql> select id,name,Chinese+Math+English as total from student;
+------+--------+-------+
| id   | name   | total |
+------+--------+-------+
|    1 | 张三   | 270.0 |
|    2 | 李四   |  NULL |
|    3 | 王五   | 256.0 |
|    4 | 赵六   | 219.0 |
|    5 | 小七   | 247.0 |
+------+--------+-------+
5 rows in set (0.00 sec)

注:as也可以省略不写

♪去重查询

还可以通过distnct对某一列进行去重操作:

语法:select distance 列名 from 表名;

mysql> select distinct Chinese from student;
+---------+
| Chinese |
+---------+
|    88.0 |
|    NULL |
|    97.0 |
|    87.0 |
+---------+
4 rows in set (0.01 sec)

注:distnct后面如果跟n列,那么只会对n列都重复的进行去重操作。

♪排序查询

也可以通过order by对查询结果进行排序:

语法:select 列名 from 表名 order by 列名 asc/desc;(asc为升序,desc为降序,不写时默认为asc)

mysql> select id,name,Chinese from student order by Chinese asc;
+------+--------+---------+
| id   | name   | Chinese |
+------+--------+---------+
|    2 | 李四   |    NULL |
|    4 | 赵六   |    87.0 |
|    1 | 张三   |    88.0 |
|    5 | 小七   |    88.0 |
|    3 | 王五   |    97.0 |
+------+--------+---------+
5 rows in set (0.40 sec)

注:

①.NULL比任何值都小。

②.没有 order by 子句的查询,返回的顺序是未定义的。

③.也可以使用表达式及别名排序(如:mysql> select name,Chinese+Math+English as total from student order by total;)。

④.还可以对多个字段进行排序,排序优先级随书写顺序(如:mysql> select name from student order by Chinese desc,Math,English;(先根据语文成绩排序,语文成绩相同再根据数学成绩排序,数学成绩相同再根据英语成绩排序))。

MySQL还可以根据指定的条件进行查询,不过条件查询需要用到运算符,这里我们还是先了解下MySQL里的运算符~

♪运算符

♩比较运算符

运算符描述
>,>=,<,<=
大于,大于等于,小于,小于等于
=
等于, NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=>
等于, NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
!=,<>
不等于
between a1 and a2
范围匹配, [a1, a2] ,如果 a1 <= value <= a2, 返回 TRUE(1)
in (option, ...)
如果是 option 中的任意一个,返回 TRUE(1)
IS NULL
NULL
IS NOT NULL
不是 NULL
like
模糊匹配。 % 表示任意多个(包括 0 个)任意字符; _ 表示任意一个字

注:<=>可以比较两列都为NULL的情况,而IS NULL只能判断一个是否为NULL

♩逻辑运算符

运算符描述
and
多个条件必须都为 TRUE(1) ,结果才是 TRUE(1)
or
任意一个条件为 TRUE(1), 结果为 TRUE(1)
not
条件为 TRUE(1) ,结果为 FALSE(0)

注:and 的优先级高于 or

♪条件查询

对特定条件的数据进行查询也可以降低查询的数据量:

语法:select 列名 from 表名 where 查询条件;

mysql> select id,name,Chinese from student where Chinese<=90;
+------+--------+---------+
| id   | name   | Chinese |
+------+--------+---------+
|    1 | 张三   |    88.0 |
|    4 | 赵六   |    87.0 |
|    5 | 小七   |    88.0 |
+------+--------+---------+
3 rows in set (0.00 sec)mysql> select id,name from student where name like '%五';
+------+--------+
| id   | name   |
+------+--------+
|    3 | 王五   |
+------+--------+
1 row in set (0.02 sec)mysql> select id,name,Chinese from student where Chinese between 88 and 99;
+------+--------+---------+
| id   | name   | Chinese |
+------+--------+---------+
|    1 | 张三   |    88.0 |
|    3 | 王五   |    97.0 |
|    5 | 小七   |    88.0 |
+------+--------+---------+
3 rows in set (0.00 sec)mysql> select id,name,Chinese,Math from student where Chinese>85 and Math>85;
+------+--------+---------+------+
| id   | name   | Chinese | Math |
+------+--------+---------+------+
|    1 | 张三   |    88.0 | 93.0 |
+------+--------+---------+------+
1 row in set (0.00 sec)mysql> select id,name,Chinese+Math+English as total from student where Chinese+Math+English is not null;-- where后面不能用别名
+------+--------+-------+
| id   | name   | total |
+------+--------+-------+
|    1 | 张三   | 270.0 |
|    3 | 王五   | 256.0 |
|    4 | 赵六   | 219.0 |
|    5 | 小七   | 247.0 |
+------+--------+-------+
4 rows in set (0.00 sec)

注:条件查询where后面不能用别名

♪限制查询

使用where虽然可以限制查询内容,但仍然不知道查询到的数据量有多少,而limit就可以强制限制查询的行数:

语法:select 列名 from 表名 limit 行数;

mysql> select * from student limit 3;
+------+--------+---------+------+---------+
| id   | name   | Chinese | Math | English |
+------+--------+---------+------+---------+
|    1 | 张三   |    88.0 | 93.0 |    89.0 |
|    2 | 李四   |    NULL | NULL |    NULL |
|    3 | 王五   |    97.0 | 77.0 |    82.0 |
+------+--------+---------+------+---------+
3 rows in set (0.00 sec)

♪分页查询

当查询结果的数量较大时,我们需要将其分页显示,以方便用户查看和管理,MySQL中可以通过limitoffset(limit限制行数,offset设置开始查询的行(0为第一行))来实现分页查询:

语法:select 列名 from 表名 limit 行数 offset 第n行;

mysql> select * from student limit 2 offset 0;
+------+--------+---------+------+---------+
| id   | name   | Chinese | Math | English |
+------+--------+---------+------+---------+
|    1 | 张三   |    88.0 | 93.0 |    89.0 |
|    2 | 李四   |    NULL | NULL |    NULL |
+------+--------+---------+------+---------+
2 rows in set (0.00 sec)mysql> select * from student limit 2 offset 2;
+------+--------+---------+------+---------+
| id   | name   | Chinese | Math | English |
+------+--------+---------+------+---------+
|    3 | 王五   |    97.0 | 77.0 |    82.0 |
|    4 | 赵六   |    87.0 | 67.0 |    65.0 |
+------+--------+---------+------+---------+
2 rows in set (0.00 sec)mysql> select *from student limit 2 offset 4;
+------+--------+---------+------+---------+
| id   | name   | Chinese | Math | English |
+------+--------+---------+------+---------+
|    5 | 小七   |    88.0 | 77.0 |    82.0 |
+------+--------+---------+------+---------+
1 row in set (0.00 sec)

注:分页查询也可以写成select 列名 from 表名 limit 第n行,行数;的形式

了解完这些基础的查询操作后,我们再来看看如何修改已添加的数据。

♫修改

通过update关键字可以对指定条件的列修改指定内容:

语法:update 表名 set 列名 = 值 指定条件;

-- 将张三的语文成绩改为90
mysql> update student set Chinese = 90 where name = "张三";
Query OK, 1 row affected (0.19 sec)
Rows matched: 1  Changed: 1  Warnings: 0-- 将语文成绩倒数的2个学生的语文成绩改为90
mysql> update student set Chinese = 90 order by Chinese limit 2;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

MySQL还支持一次修改多列数据:

语法:update 表名 set 列名1=值1,列名2=值2,列名3=值3.. 指定条件;

-- 将张三的语文成绩,数学成绩,英语成绩都改为90
mysql> update student set Chinese=90,Math=90,English=90 where name="张三";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

注:修改时若不加上指定条件,则会将表里所有行的数据都进行修改

最后来看下删除操作~

♫删除

删除操作是指将表中不需要的数据移除掉:

语法:delete from 表名 指定条件;

-- 删除学生名为张三的数据
mysql> delete from student where name="张三";
Query OK, 1 row affected (0.01 sec)-- 删除语文成绩最后两名的学生数据
mysql> delete from student order by Chinese limit 2;
Query OK, 2 rows affected (0.00 sec)

注:删除操作如果没有添加指定条件同样会把表里所有数据都删了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/96260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI:08-基于深度学习的车辆识别

随着汽车行业的迅速发展,车型识别在交通管理、智能驾驶和车辆安全等方面变得越来越重要。基于深度学习的车型识别技术为实现高效准确的车辆分类和检测提供了强大的工具。本文将介绍如何利用深度学习技术来实现车型识别,并提供相应的代码示例。 数据收集和预处理: 为了训练…

前端TypeScript学习day01-TS介绍与TS部分常用类型

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 TypeScript 介绍 TypeScript 是什么 TypeScript 为什么要为 JS 添加类型支持&#xff1f; TypeScript 相…

gin路由相关方法

c.Request.URL.Path 拿到请求的路径 package mainimport ( "fmt" "github.com/gin-gonic/gin" "net/http")//路由重定向&#xff0c;请求转发&#xff0c;ANY &#xff0c;NoRoute&#xff0c;路由组func main() { r : gin.Default() // -------…

notion + nextjs搭建博客

SaaS可以通过博客来获得SEO流量&#xff0c;之前我自己在nextjs上&#xff0c;基于MarkDown Cloudfare来构建博客&#xff0c;很快我就了解到更优雅的方案&#xff1a;notion nextjs搭建博客&#xff0c;之前搭建了过&#xff0c;没有记录&#xff0c;这次刚好又要弄&#xf…

Cocos Creator3.8 项目实战(七)Listview 控件的实现和使用

滚动列表在游戏中也很常见&#xff0c;比如排行榜 、充值记录等&#xff0c;在这些场景中&#xff0c;都有共同的特点&#xff0c; 那就是&#xff1a;数据量大 &#xff0c; 结构相同。 在cocoscreator 中&#xff0c;没有现成的 Listview 控件&#xff0c; 无奈之下&#xff…

【JavaEE重点知识归纳】第5节:方法

目录 一&#xff1a;方法的概念和使用 1.什么是方法 2.方法的定义 3.方法的调用过程 4.实参和形参的关系&#xff08;重点&#xff09; 二:方法重载 1.方法重载概念 2.方法签名 三&#xff1a;递归 1.递归的概念 2.递归执行的过程分析 一&#xff1a;方法的概念和使…

[开源项目推荐]privateGPT使用体验和修改

文章目录 一.跑通简述二.解读ingest.py1.导入库和读取环境变量2.文档加载3.文档处理&#xff08;调用文件加载函数和文本分割函数&#xff09; 三.injest.py效果演示1.main函数解读2.测试 四.修改代码&#xff0c;使之适配多知识库需求1.修改配置文件&#xff1a;constants.py2…

Elasticsearch:ES|QL 查询语言简介

警告&#xff1a;此功能处于技术预览阶段&#xff0c;可能会在未来版本中更改或删除。 Elastic 将尽最大努力解决任何问题&#xff0c;但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。在目前的 Elastic Stack 8.10 中此功能还没有提供。 Elasticsearch 查询语言 (ES|…

IntelliJ IDEA 常用快捷键

目录 一、IDEA 常用快捷键 1 通用型 2 提高编写速度 3 类结构、查找和查看源码 4 查找、替换与关闭 5 调整格式 二、Debug快捷键 三、查看快捷键 1、已知快捷键操作名&#xff0c;未知快捷键 2、已知快捷键&#xff0c;不知道对应的操作名 3、自定义快捷键 4、使用…

MyBatisPlus(十一)包含查询:in

说明 包含查询&#xff0c;对应SQL语句中的 in 语句&#xff0c;查询参数包含在入参列表之内的数据。 in Testvoid inNonEmptyList() {// 非空列表&#xff0c;作为参数List<Integer> ages Stream.of(18, 20, 22).collect(Collectors.toList());in(ages);}Testvoid in…

[强网杯 2022]factor有感

可直接私信&#xff0b;Q 3431550587 此题记录主要是他运用了几个新看见的攻击思路和拜读了一篇论文&#xff0c;所以写写。题目源码&#xff1a; #encoding:utf-8 from Crypto.Util.number import * from gmpy2 import * from random import randint from flag import flagd…

AGI之MFM:《多模态基础模型:从专家到通用助手》翻译与解读之视觉理解、视觉生成

​AGI之MFM&#xff1a;《Multimodal Foundation Models: From Specialists to General-Purpose Assistants多模态基础模型&#xff1a;从专家到通用助手》翻译与解读之视觉理解、视觉生成 目录 相关文章 AGI之MFM&#xff1a;《Multimodal Foundation Models: From Speciali…

【Docker内容大集合】Docker从认识到实践再到底层原理大汇总

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总https://blog.csdn.net/yu_cblog/categ…

硬盘损坏不能用怎么办?

硬盘是电脑的核心&#xff0c;如果硬盘出现了问题&#xff0c;那么整台电脑都会受到影响&#xff0c;电脑中的数据也会丢失。那么面对硬盘损坏时我们该如何解决呢&#xff1f;本文今天用5种简单的方法帮您解决&#xff01; 1、硬盘连接是否松动 当电脑的硬盘突然表现出无法识别…

stm32之手动创建keil工程--HAL库

用CubeMx创建了好多stm32的工程&#xff0c;这里记录下手动创建keil工程的过程。 一、准备工作 1.1、下载对应的HAL库&#xff0c; 这里使用的是stm32f103c8t6, 下载地址stm32HAL库 在页面中输入对应型号点击进行二级页面进行下载 1.2、准备工程 各文件夹下具体操作如下&am…

破译滑块验证间距 破译sf顺丰滑块验证

废话不多说直接开干&#xff01; from selenium import webdriver # 导入配置 from selenium.webdriver.chrome.options import Options import time from PIL import Image # 导入动作链 from selenium.webdriver.common.action_chains import ActionChains import random, st…

雷达电子箔条干扰和雷达诱饵简介

一、JAMMING 利用箔条、角反射器和诱饵进行机械干扰。 1、箔条(Chaff) 箔条是一种雷达干扰,在这种干扰中,飞机或其他目标散布一团薄薄的铝、金属化玻璃纤维或塑料,它们要么作为一组主要目标出现在雷达屏幕上,要么以多次回击淹没屏幕。 图1 箔条 2、箔条的雷达散射截面…

linux系统中三个重要的结构体

第一​&#xff1a;struct inode结构体 struct inode { struct hlist_node i_hash; struct list_head i_list; /* backing dev IO list */ struct list_head i_sb_list;​ //主次设备号 dev_t i_rdev;​ struct list_head i_devices; //用联合体是因为该…

uniapp 实现地图头像上的水波纹效果

最近实现了uniapp 地图头像水波纹的效果&#xff0c;话不多说&#xff0c;先来看看视频效果吧&#xff1a;链接 在这里具体的代码就不放出来了&#xff0c;还是利用了uniapp的 uni.createAnimation 方法&#xff0c;因为cover-view 不支持一些css 的动画效果&#xff0c;所以这…

如何使用百度“云一朵”来分析PDF文件

PDF 文件是一种常见的文件格式&#xff0c;用于存储文档、图像和其他内容。在许多情况下&#xff0c;我们需要对 PDF 文件进行分析&#xff0c;以提取其中的信息。百度“云一朵”提供了一个 PDF 分析 API&#xff0c;可以帮助我们轻松地对 PDF 文件进行分析。 在本博客文章中&…