MySQL5.7服务器 SQL 模式

  官网地址:MySQL :: MySQL 5.7 Reference Manual :: 5.1.10 Server SQL Modes

欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.

MySQL 5.7 参考手册  /  ...  /  服务器 SQL 模式

5.1.10 服务器 SQL 模式

MySQL服务器可以在不同的SQL模式下运行,并且可以根据系统变量的值对不同的客户端应用不同的模式sql_mode。DBA 可以设置全局 SQL 模式来匹配站点服务器操作要求,每个应用程序可以根据自己的要求设置其会话 SQL 模式。

模式影响 MySQL 支持的 SQL 语法及其执行的数据验证检查。这使得在不同的环境中使用MySQL以及将MySQL与其他数据库服务器一起使用变得更加容易。

  • 设置SQL模式

  • 最重要的 SQL 模式

  • SQL 模式的完整列表

  • 组合 SQL 模式

  • 严格SQL模式

  • IGNORE 关键字与严格 SQL 模式的比较

  • MySQL 5.7 中的 SQL 模式更改

有关 MySQL 中服务器 SQL 模式的常见问题的解答,请参阅第 A.3 节“MySQL 5.7 常见问题解答:服务器 SQL 模式”。

使用InnoDB表时,还要考虑innodb_strict_mode系统变量。它可以对表进行额外的错误检查 InnoDB

设置SQL模式

MySQL 5.7 中默认的 SQL 模式包括以下模式:ONLY_FULL_GROUP_BY、 STRICT_TRANS_TABLES、 NO_ZERO_IN_DATE、 NO_ZERO_DATE、 ERROR_FOR_DIVISION_BY_ZERO、 NO_AUTO_CREATE_USER和 NO_ENGINE_SUBSTITUTION

这些模式被添加到 MySQL 5.7 中的默认 SQL 模式中: MySQL 5.7.5 中添加了ONLY_FULL_GROUP_BY和 模式。STRICT_TRANS_TABLES该 NO_AUTO_CREATE_USER模式是在 MySQL 5.7.7 中添加的。MySQL 5.7.8 中添加了ERROR_FOR_DIVISION_BY_ZERO、 NO_ZERO_DATE、 和 模式 。NO_ZERO_IN_DATE有关对默认 SQL 模式值的这些更改的更多讨论,请参阅 MySQL 5.7 中的 SQL 模式更改。

要在服务器启动时设置 SQL 模式,请 在命令行或 选项文件(例如(Unix 操作系统)或(Windows))中使用该选项。 是用逗号分隔的不同模式的列表。要显式清除 SQL 模式,请在命令行或选项文件中 使用将其设置为空字符串 。--sql-mode="modes"sql-mode="modes"my.cnfmy.inimodes--sql-mode=""sql-mode=""

笔记

MySQL安装程序可能会在安装过程中配置SQL模式。如果 SQL 模式与默认值或您期望的不同,请检查服务器在启动时读取的选项文件中的设置。

要在运行时更改 SQL 模式,请使用以下语句设置全局或会话 sql_mode系统变量SET :

SET GLOBAL sql_mode = 'modes';
SET SESSION sql_mode = 'modes';

设置该GLOBAL变量需要 SUPER特权,并会影响从那时起连接的所有客户端的操作。设置SESSION变量仅影响当前客户端。每个客户端都可以 sql_mode随时更改其会话值。

要确定当前的全局或会话 sql_mode设置,请选择其值:

SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;
重要的

SQL模式和用户定义的分区。  创建数据并将其插入分区表后更改服务器 SQL 模式可能会导致此类表的行为发生重大变化,并可能导致数据丢失或损坏。强烈建议您在创建使用用户定义分区的表后不要更改 SQL 模式。

复制分区表时,源和副本上不同的 SQL 模式也可能导致问题。为了获得最佳结果,您应该始终在源和副本上使用相同的服务器 SQL 模式。

有关更多信息,请参阅 第 22.6 节“分区的约束和限制”。

最重要的 SQL 模式

最重要的sql_mode 值可能是这些:

当本手册提到“严格模式”STRICT_TRANS_TABLES时,它是指启用其中一个或两个或 启用的模式 STRICT_ALL_TABLES

SQL 模式的完整列表

以下列表描述了所有支持的 SQL 模式:

组合 SQL 模式

提供以下特殊模式作为前面列表中模式值组合的简写。

严格SQL模式

严格模式控制 MySQL 如何处理数据更改语句中的无效值或缺失值,例如 INSERT或 UPDATE。由于多种原因,值可能无效。例如,列的数据类型可能错误,或者可能超出范围。NULL当要插入的新行不包含其定义中没有显式 子句的非列的值时,就会缺少值DEFAULT。(对于 NULL列,NULL如果值缺失,则插入。)严格模式还会影响 DDL 语句,例如CREATE TABLE.

如果严格模式未生效,MySQL 会插入无效或缺失值的调整值并产生警告(请参见 第 13.7.5.40 节“SHOW WARNINGS 语句”)。INSERT IGNORE 在严格模式下,您可以通过使用或来产生此行为 UPDATE IGNORE。

对于诸如不更改数据之类的语句SELECT ,无效值在严格模式下会生成警告,而不是错误。

如果尝试创建超过最大密钥长度的密钥,严格模式会产生错误。当未启用严格模式时,这会导致警告并将密钥截断为最大密钥长度。

严格模式不影响是否检查外键约束。foreign_key_checks可以用于此目的。(请参见 第 5.1.7 节“服务器系统变量”。)

STRICT_ALL_TABLES如果启用或 , 严格 SQL 模式就会生效 STRICT_TRANS_TABLES,尽管这些模式的效果有所不同:

  • 对于事务表,当启用STRICT_ALL_TABLES或 时 ,数据更改语句中的值无效或缺失会发生错误 。STRICT_TRANS_TABLES该语句被中止并回滚。

  • 对于非事务表,如果在要插入或更新的第一行中出现错误值,则任一模式的行为都是相同的:语句将中止并且表保持不变。如果语句插入或修改多行,并且错误值出现在第二行或后面的行中,则结果取决于启用了哪种严格模式:

    • 对于STRICT_ALL_TABLES,MySQL 返回错误并忽略其余行。但是,由于已插入或更新了较早的行,因此结果是部分更新。为了避免这种情况,请使用单行语句,该语句可以在不更改表的情况下中止。

    • 对于 STRICT_TRANS_TABLES,MySQL 会将无效值转换为该列最接近的有效值,并插入调整后的值。如果缺少值,MySQL 会插入列数据类型的隐式默认值。无论哪种情况,MySQL 都会生成警告而不是错误,并继续处理该语句。第 11.6 节“数据类型默认值”中描述了隐式默认值。

严格模式会影响除以零、零日期和日期中的零的处理,如下所示:

  • 严格模式影响除以零的处理,其中包括 : MOD(N,0)

    对于数据更改操作 ( INSERT, UPDATE):

    • 如果未启用严格模式,则除以零插入 NULL并且不会产生警告。

    • 如果启用了严格模式,除以零会产生错误,除非IGNORE也给出了。对于INSERT IGNORE和 UPDATE IGNORE,除以零会插入NULL并产生警告。

    对于SELECT,除以零返回NULL。启用严格模式也会导致生成警告。

  • 严格模式会影响服务器是否允许 '0000-00-00'作为有效日期:

    • 如果未启用严格模式, '0000-00-00'则允许并且插入不会产生警告。

    • 如果启用了严格模式,则 '0000-00-00'不允许并且插入会产生错误,除非 IGNORE也给出了。对于 INSERT IGNOREUPDATE IGNORE,'0000-00-00'是允许的并且插入会产生警告。

  • 严格模式会影响服务器是否允许年部分非零但月或日部分为 0 的日期(例如'2010-00-01'或 '2010-01-00'):

    • 如果未启用严格模式,则允许包含零部分的日期并且插入不会产生警告。

    • 如果启用严格模式,则不允许包含零部分的日期,并且插入会产生错误,除非 IGNORE也给出了。对于 INSERT IGNOREUPDATE IGNORE,零部分的日期将被插入为 '0000-00-00'(对于 被认为有效IGNORE)并产生警告。

有关严格模式的详细信息 IGNORE,请参阅 IGNORE 关键字和严格 SQL 模式的比较。

在 MySQL 5.7.4 之前以及在 MySQL 5.7.8 及更高版本中,严格模式会影响除以零、零日期以及与 、 和 模式结合使用的日期中的零 ERROR_FOR_DIVISION_BY_ZERO的 NO_ZERO_DATE处理 NO_ZERO_IN_DATE。从 MySQL 5.7.4 到 5.7.7, ERROR_FOR_DIVISION_BY_ZERO、 NO_ZERO_DATE和 NO_ZERO_IN_DATE模式在显式命名时不执行任何操作,并且它们的效果包含在严格模式的效果中。有关更多讨论,请参阅 MySQL 5.7 中的 SQL 模式更改。

IGNORE 关键字与严格 SQL 模式的比较

IGNORE本节比较关键字(将错误降级为警告)和严格 SQL 模式(将警告升级为错误) 对语句执行的影响 。它描述了它们影响哪些语句以及它们适用于哪些错误。

下表总结了默认情况下生成错误与警告时语句行为的比较。默认情况下会产生错误的一个示例是将 a 插入NULLNOT NULL列中。默认情况下产生警告的一个示例是将错误数据类型的值插入到列中(例如将字符串插入 'abc'到整数列中)。

运作模式当语句默认为错误时当语句默认为警告时
IGNORE或严格 SQL 模式错误警告
IGNORE警告IGNORE警告(与无或严格 SQL 模式相同)
具有严格的SQL模式IGNORE错误(与无或严格 SQL 模式相同)错误
withIGNORE和严格的 SQL 模式警告警告

从表中得出的一个结论是,当 IGNORE关键字和严格 SQL 模式同时生效时,IGNORE优先。这意味着,尽管IGNORE可以认为严格 SQL 模式对错误处理具有相反的效果,但它们一起使用时不会取消。

  • IGNORE 对语句执行的影响

  • 严格SQL模式对语句执行的影响

IGNORE 对语句执行的影响

MySQL 中的一些语句支持可选 IGNORE关键字。此关键字会导致服务器降级某些类型的错误并生成警告。对于多行语句,将错误降级为警告可能会使行得到处理。否则, IGNORE导致语句跳到下一行而不是中止。(对于不可忽略的错误,无论关键字如何,都会发生错误IGNORE。)

示例:如果表t的主键列i包含唯一值,则尝试将相同的值插入i多行通常会产生重复键错误:

mysql> CREATE TABLE t (i INT NOT NULL PRIMARY KEY);
mysql> INSERT INTO t (i) VALUES(1),(1);
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'

使用 时IGNORE,包含重复键的行仍然不会被插入,但会出现警告而不是错误:

mysql> INSERT IGNORE INTO t (i) VALUES(1),(1);
Query OK, 1 row affected, 1 warning (0.01 sec)
Records: 2  Duplicates: 1  Warnings: 1mysql> SHOW WARNINGS;
+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1062 | Duplicate entry '1' for key 'PRIMARY' |
+---------+------+---------------------------------------+
1 row in set (0.00 sec)

示例:如果表t2有一NOT NULLid,则尝试插入NULL会在严格 SQL 模式下产生错误:

mysql> CREATE TABLE t2 (id INT NOT NULL);
mysql> INSERT INTO t2 (id) VALUES(1),(NULL),(3);
ERROR 1048 (23000): Column 'id' cannot be null
mysql> SELECT * FROM t2;
Empty set (0.00 sec)

如果 SQL 模式不严格,IGNORE则会导致NULL被插入为列隐式默认值(在本例中为 0),这使得能够在不跳过该行的情况下处理该行:

mysql> INSERT INTO t2 (id) VALUES(1),(NULL),(3);
mysql> SELECT * FROM t2;
+----+
| id |
+----+
|  1 |
|  0 |
|  3 |
+----+

这些语句支持IGNORE关键字:

IGNORE关键字适用于以下可忽略的错误:

ER_BAD_NULL_ERROR
ER_DUP_ENTRY
ER_DUP_ENTRY_WITH_KEY_NAME
ER_DUP_KEY
ER_NO_PARTITION_FOR_GIVEN_VALUE
ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT
ER_NO_REFERENCED_ROW_2
ER_ROW_DOES_NOT_MATCH_GIVEN_PARTITION_SET
ER_ROW_IS_REFERENCED_2
ER_SUBQUERY_NO_1_ROW
ER_VIEW_CHECK_FAILED
严格SQL模式对语句执行的影响

MySQL服务器可以在不同的SQL模式下运行,并且可以根据系统变量的值对不同的客户端应用不同的模式sql_mode 。在“严格” SQL模式下,服务器将某些警告升级为错误。

例如,在非严格 SQL 模式下,将字符串插入 'abc'整数列会导致值转换为 0 并发出警告:

mysql> SET sql_mode = '';
Query OK, 0 rows affected (0.00 sec)mysql> INSERT INTO t (i) VALUES('abc');
Query OK, 1 row affected, 1 warning (0.01 sec)mysql> SHOW WARNINGS;
+---------+------+--------------------------------------------------------+
| Level   | Code | Message                                                |
+---------+------+--------------------------------------------------------+
| Warning | 1366 | Incorrect integer value: 'abc' for column 'i' at row 1 |
+---------+------+--------------------------------------------------------+
1 row in set (0.00 sec)

在严格 SQL 模式下,无效值将被拒绝并出现错误:

mysql> SET sql_mode = 'STRICT_ALL_TABLES';
Query OK, 0 rows affected (0.00 sec)mysql> INSERT INTO t (i) VALUES('abc');
ERROR 1366 (HY000): Incorrect integer value: 'abc' for column 'i' at row 1

有关 sql_mode系统变量的可能设置的更多信息,请参见 第 5.1.10 节 “服务器 SQL 模式”。

严格 SQL 模式适用于某些值可能超出范围或在表中插入或删除无效行的情况下的以下语句:

  • ALTER TABLE

  • CREATE TABLE

  • CREATE TABLE ... SELECT

  • DELETE(单表和多表均可)

  • INSERT

  • LOAD DATA

  • LOAD XML

  • SELECT SLEEP()

  • UPDATE(单表和多表均可)

在存储程序中,如果程序是在严格模式有效时定义的,则刚刚列出的类型的各个语句将以严格 SQL 模式执行。

严格 SQL 模式适用于以下错误,这些错误代表输入值无效或丢失的一类错误。如果某个值的列数据类型错误或者可能超出范围,则该值无效。如果要插入的新行不包含定义中 NOT NULL没有显式子句的列 的值,则缺少值。DEFAULT

ER_BAD_NULL_ERROR
ER_CUT_VALUE_GROUP_CONCAT
ER_DATA_TOO_LONG
ER_DATETIME_FUNCTION_OVERFLOW
ER_DIVISION_BY_ZERO
ER_INVALID_ARGUMENT_FOR_LOGARITHM
ER_NO_DEFAULT_FOR_FIELD
ER_NO_DEFAULT_FOR_VIEW_FIELD
ER_TOO_LONG_KEY
ER_TRUNCATED_WRONG_VALUE
ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
ER_WARN_DATA_OUT_OF_RANGE
ER_WARN_NULL_TO_NOTNULL
ER_WARN_TOO_FEW_RECORDS
ER_WRONG_ARGUMENTS
ER_WRONG_VALUE_FOR_TYPE
WARN_DATA_TRUNCATED
笔记

由于 MySQL 的持续开发定义了新的错误,因此可能存在不属于上述严格 SQL 模式适用的错误。

MySQL 5.7 中的 SQL 模式更改

在 MySQL 5.7.22 中,这些 SQL 模式已被弃用并在 MySQL 8.0 中被删除:DB2, MAXDB, MSSQL, MYSQL323, MYSQL40, ORACLE, POSTGRESQL, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OPTIONS。

在 MySQL 5.7 中, ONLY_FULL_GROUP_BY默认启用 SQL 模式,因为GROUP BY 处理变得更加复杂,包括检测函数依赖性。但是,如果您发现 ONLY_FULL_GROUP_BY启用导致对现有应用程序的查询被拒绝,则以下任一操作都应该恢复操作:

  • 如果可以修改有问题的查询,请这样做,以便非聚合列在功能上依赖于GROUP BY列,或者通过使用 引用非聚合列 ANY_VALUE()。

  • 如果无法修改有问题的查询(例如,如果它是由第三方应用程序生成的),请sql_mode在服务器启动时将系统变量设置为 not enable ONLY_FULL_GROUP_BY。

在 MySQL 5.7 中, 不推荐使用 、 和 SQLERROR_FOR_DIVISION_BY_ZERO模式 NO_ZERO_DATE。 NO_ZERO_IN_DATE长期计划是将这三种模式包含在严格 SQL 模式中,并在 MySQL 的未来版本中将它们作为显式模式删除。为了使 MySQL 5.7 与 MySQL 5.6 严格模式兼容,并为修改受影响的应用程序提供额外的时间,以下行为适用:

  • ERROR_FOR_DIVISION_BY_ZERO、 NO_ZERO_DATE、 和 NO_ZERO_IN_DATE不是严格 SQL 模式的一部分,但它们旨在与严格模式一起使用。提醒一下,如果在未启用严格模式的情况下启用它们,则会出现警告,反之亦然。

  • ERROR_FOR_DIVISION_BY_ZERO、 NO_ZERO_DATE、 和 NO_ZERO_IN_DATE默认情况下启用。

通过上述更改,默认情况下仍会启用更严格的数据检查,但可以在当前需要或有必要的环境中禁用各个模式。

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

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

相关文章

Django 学习教程- Django模板(Template)

系列 Django 学习教程-介绍与安装-CSDN博客 Django 学习教程- Hello world入门案例-CSDN博客 前言 在上一章节中我们使用django.http.HttpResponse() 来输出 "Hello World!"。该方式将数据与视图混合在一起,不符合 Django 的 MTV 思想。 本…

Linux network — 网络层收发包流程及 Netfilter 框架浅析

Linux network — 网络层收发包流程及 Netfilter 框架浅析 1. 前言2. 基础网络知识2.1 网络分层模型2.2 数据包协议分层2.3 sk_buff 结构2.4 收发包整体框架 3. 网络层(IPv4)收发包流程4. Netfilter 框架4.1 IPv4 网络层的 Netfilter Hook 点4.2 iptable…

算法——队列+宽搜(BFS)

队列这种数据结构大都服务于一个算法——宽搜(BFS)。宽搜还可以运用到二叉树、图、迷宫最短路径问题、拓扑排序等等 N叉数的层序遍历 N叉树的层序遍历 题目解析 给定一个 N 叉树,返回其节点值的_层序遍历_。(即从左到右&#…

Word2Vec原理+gensim实现

链接:https://download.csdn.net/download/qq_60567426/88692270

Opencv图像灰度化,图像保存,按键事件(附带解析)

import cv2 import numpy as np """ 图像灰度化,图像保存,按键事件 1.读取本地图片 2.输出当前图片的宽、高、通道数 3.显示图片 4.判断用户输入如果输入为q则退出,如果输入为m则保存灰度化图片到本地否则继续等待 "&quo…

使用Wireshark进行网络流量分析

目录 Wireshark是什么? 数据包筛选 筛选指定ip 使用逻辑运算符筛选 HTTP模式过滤 端口筛选 协议筛选 包长度筛选 数据包搜索 数据流分析 数据包导出 Wireshark是什么? 通过Wireshark,我们可以捕获和分析网络数据包,查看…

【Maven】工程依赖下载失败错误解决

在使用 Maven 构建项目时,可能会发生依赖项下载错误的情况,主要原因有以下几种: 下载依赖时出现网络故障或仓库服务器宕机等原因,导致无法连接至 Maven 仓库,从而无法下载依赖。 依赖项的版本号或配置文件中的版本号错…

编程笔记 html5cssjs 015 HTML列表

编程笔记 html5&css&js 015 HTML列表 一、有序列表例1&#xff1a;例2&#xff1a; 二、无序列表例1&#xff1a;例2&#xff1a; 列表是一种特定文字格式&#xff0c;很常用。 HTML 列表。HTML 支持有序、无序和定义列表。 一、有序列表 例1&#xff1a; <!DOCTY…

SPI

一、简介 SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在 时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接 口可以是3线式或4线式。 MOSI(Master Output Slave Input) – 主设备输出/从设备输入信号&#xff1b;MISO(Master Input Slave Output) – 主…

经典卷积神经网络-ResNet

经典卷积神经网络-ResNet 一、背景介绍 残差神经网络(ResNet)是由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出的。ResNet 在2015 年的ILSVRC&#xff08;ImageNet Large Scale Visual Recognition Challenge&#xff09;中取得了冠军。残差神经网络的主要贡献是发现了…

Leetcode的AC指南 —— 字符串:541. 反转字符串 II

摘要&#xff1a; Leetcode的AC指南 —— 字符串&#xff1a;541. 反转字符串 II。题目介绍&#xff1a;给定一个字符串 s 和一个整数 k&#xff0c;从字符串开头算起&#xff0c;每计数至 2k 个字符&#xff0c;就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个&…

Nginx 反向代理负载均衡

Nginx 反向代理负载均衡 普通的负载均衡软件&#xff0c;如 LVS&#xff0c;其实现的功能只是对请求数据包的转发、传递&#xff0c;从负载均衡下的节点服务器来看&#xff0c;接收到的请求还是来自访问负载均衡器的客户端的真实用户&#xff1b;而反向代理就不一样了&#xf…

Android混淆那些事

前言 作为一个Android开发&#xff0c;大家或多或少都有一些关于混淆的了解&#xff08;毕竟披个纱布也比裸奔要好的多吧&#xff09;。混淆的概念虽然容易理解&#xff0c;但相信大多数开发可能还是在网上搜索通用配置后通过C-V大法接入到自己的项目中&#xff0c;这也使得混…

7、python-函数

一.可变参数 参数前面有一个*号&#xff0c;表示是可变的。在函数内部&#xff0c;如&#xff1a;参数 numbers 接收到的是一个 tuple def add(*numbers):print(numbers)add(1, adc, ["q", w], {"1": "2"}) # (1, adc, [q, w], {1: 2})二.关键…

canvas绘制网格线示例

查看专栏目录 canvas示例教程100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

docker 部署教学版本

文章目录 一、docker使用场景及常用命令1&#xff09;docker使用场景2&#xff09;rocky8(centos8)安装 docker3&#xff09;docker 常用命令补充常用命令 二、 单独部署每个镜像&#xff0c;部署spring 应用镜像推荐&#xff08;2023-12-18&#xff09;1、 安装使用 mysql1.1 …

高可用解决方案 Keepalived 概述

概述 Keepalived 介绍 Keepalived 是 Linux 下一个轻量级别的高可用解决方案&#xff0c;通过 **VRRP 协议&#xff08;虚拟路由冗余协议&#xff09;**来实现服务或者网络的高可用&#xff0c;可以利用其来解决单点故障。 起初是为 LVS 设计的&#xff0c;一个 LVS 服务会有 …

canvas实现文字自动换行,段落居中,单行的时候居中

canvas实现文字自动换行&#xff0c;段落居中,单行的时候居中方法&#xff0c;主要用到以下方法&#xff1a; /****绘制自动换行的字符串****///ctx_2d getContext("2d") 对象 //lineheight 段落文本行高 //bytelength 设置单字节文字一行内的数量 …

计算机毕业论文内容参考|基于智能搜索引擎的图书管理系统的设计与实现

文章目录 摘要前言绪论课题背景国内外现状与趋势课题内容相关技术与方法介绍系统分析系统设计系统实现系统测试总结与展望摘要 本文介绍了基于智能搜索引擎的图书管理系统的设计与实现。该系统旨在提供一个高效、智能化的图书管理平台,帮助用户更快、更准确地找到所需的图书资…

2024年PMP报考需要什么条件?怎么报名?

一、PMP是什么 PMP 是项目管理的入门级证书&#xff0c;全称是项目管理专业人士资格认证&#xff0c;由美国项目管理协会&#xff08;PMI&#xff09;举办的&#xff0c;受到全球200多个国家的认可&#xff0c;从1999 年到现在已经有20多年发展历史了。 顾名思义&#xff0c;…