当前位置: 首页 > news >正文

Mysql(基本介绍+下载安装+服务器+基本使用+建库建表+navicat/mybitas工具+外键及实例)

一、Mysql基本介绍

当谈论MySQL时,通常指的是一个流行的开源关系型数据库管理系统(RDBMS)。MySQL是由瑞典的开发者在1995年创建的,后来被Sun Microsystems收购,最终成为Oracle Corporation的一部分。以下是关于MySQL的一些基本信息:

  1. 关系型数据库管理系统(RDBMS): MySQL是一种关系型数据库管理系统,这意味着它使用表格来存储数据,并且支持SQL(Structured Query Language)用于查询和管理这些数据。

  2. 表格和字段: 数据在MySQL中以表格的形式存储,表格由行和列组成。每一列代表一个字段,每一行代表一条记录。

  3. 主键: 表中的一列可以被指定为主键,用于唯一标识表中的每一行。主键确保数据的唯一性。

  4. SQL语言: MySQL使用SQL语言进行数据的增、删、改、查操作。常见的SQL命令包括SELECT(查询数据)、INSERT(插入数据)、UPDATE(更新数据)、DELETE(删除数据)等。

  5. 数据类型: MySQL支持多种数据类型,包括整数、浮点数、字符串、日期等。每种数据类型都有特定的存储规则和范围。

  6. 索引: 为了提高查询性能,可以在表的一列或多列上创建索引。索引允许数据库系统快速定位并检索特定值。

  7. 存储过程和触发器: MySQL支持存储过程和触发器,这些是预先定义的操作序列,可以在数据库中执行。

  8. 安全性: MySQL提供了许多安全特性,包括用户身份验证、访问控制和数据加密,以确保数据库的安全性。

  9. 多用户支持: 多个用户可以同时访问MySQL数据库,并且可以通过访问控制规则进行管理。

  10. 跨平台: MySQL可在各种操作系统上运行,包括Windows、Linux和macOS。

  11. 开源: MySQL是开源软件,可以免费使用,并且有一个庞大的社区支持和贡献。

要使用MySQL,需要首先安装MySQL服务器,然后通过MySQL客户端或其他数据库管理工具连接到服务器进行数据操作。可以通过SQL语句执行各种操作,从简单的查询到复杂的数据处理。 MySQL的文档和社区提供了丰富的资源,帮助用户学习和使用这个强大的数据库管理系统。

二、下载及安装

以下是MySQL的下载和安装过程的基本步骤。请注意,这些步骤具体取决于使用的操作系统和MySQL的版本。

下载 MySQL

  1. 访问 MySQL 官方网站: 前往 MySQL 官方网站。

  2. 选择 MySQL 版本: 在下载页面上,选择想要下载的 MySQL 版本。通常可以选择 MySQL Community Edition(社区版)或 MySQL Enterprise Edition(企业版)。

  3. 选择操作系统: 选择当前使用的操作系统。MySQL 支持多种操作系统,包括 Windows、Linux 和 macOS。

  4. 下载安装程序: 点击下载按钮,下载适用于操作系统的安装程序。安装程序可能是一个可执行文件(如 .exe 文件)、压缩包或其他格式。

安装 MySQL

Windows 上的安装:
  1. 运行安装程序: 打开下载的 MySQL 安装程序(.exe 文件),运行安装向导。

  2. 选择安装类型: 通常有两个安装类型,选择 “Server Only” 或 “Server and Client”,根据需求选择。

  3. 选择配置类型: 选择 “Standalone MySQL Server”,然后点击 “Next”。

  4. 配置 MySQL 服务: 输入 MySQL 服务的端口和设置密码。点击 “Next”。

  5. 执行安装: 点击 “Execute” 开始安装。

  6. 完成安装: 安装完成后,点击 “Finish”。

Linux 上的安装:
  1. 解压文件: 如果下载的是压缩包,解压到想要安装 MySQL 的目录。

    tar -xvf mysql-<version>-<os>-<arch>.tar.gz
    
  2. 安装依赖库: 安装 MySQL 依赖的库。

    sudo apt-get update
    sudo apt-get install libaio1 libnuma1
    
  3. 配置环境变量: 将 MySQL 的 bin 目录添加到系统的 PATH 中。

    export PATH=$PATH:/path/to/mysql/bin
    
  4. 初始化数据库: 运行 MySQL 初始化脚本。

    mysqld --initialize --user=mysql --basedir=/path/to/mysql --datadir=/path/to/mysql/data
    
  5. 启动 MySQL 服务:

    mysqld --user=mysql &
    
  6. 设置 root 密码:

    mysql_secure_installation
    

    按照提示设置 root 密码和其他安全设置。

验证 MySQL 安装

无论使用哪种操作系统,安装完成后,可以通过以下步骤验证 MySQL 是否正确安装:

  1. 启动 MySQL 服务:

    sudo service mysql start   # 仅适用于 Linux 系统
    
  2. 连接到 MySQL:

    mysql -u root -p
    

    输入设置的 root 密码,如果一切正常,将进入 MySQL 的命令行界面。

以上是一个简单的 MySQL 下载和安装的指南。

三、Mysql服务器

在MySQL的上下文中,术语 “服务器” 可以指代多个不同的概念。在一般情况下,它可能指MySQL服务器软件、MySQL数据库服务器实例(运行在特定主机上的MySQL服务)或者MySQL服务器计算机(托管一个或多个数据库实例的物理或虚拟计算机)。

  1. MySQL服务器软件: 这是MySQL数据库管理系统的实际软件。当从MySQL官方网站下载MySQL时,下载的是MySQL服务器软件。这个软件包括了MySQL数据库管理系统的核心引擎、命令行工具、客户端库等。需要在计算机上安装这个软件,以便能够创建、管理和访问MySQL数据库。

  2. MySQL数据库服务器实例: 当在计算机上安装MySQL服务器软件后,可以创建一个或多个MySQL数据库服务器实例。每个实例是一个独立运行的MySQL服务,具有自己的配置、数据库和用户。每个实例通常监听在不同的端口上,允许通过网络连接到这个实例。在MySQL服务器实例中,可以创建和管理多个数据库,执行SQL查询和操作数据。

  3. MySQL服务器计算机: 这是承载一个或多个MySQL数据库服务器实例的物理或虚拟计算机。这个计算机可以是本地开发机、一个云服务器,或者一个专门用于数据库服务的服务器。MySQL服务器计算机上的MySQL服务器软件负责处理客户端的请求、执行SQL语句,并存储和管理数据。

下载MySQL时需要考虑的内容:

当决定下载MySQL时,需要注意以下几点:

  1. 选择版本: MySQL通常有多个版本可用,包括稳定版和开发版。对于生产环境,建议选择稳定版,而对于开发和测试,可以考虑使用开发版。

  2. 选择操作系统: 选择适用于操作系统的MySQL版本。MySQL支持多种操作系统,包括Windows、Linux、macOS等。

  3. 选择安装类型: MySQL提供了不同的安装类型,包括社区版(Community Edition)和企业版(Enterprise Edition)。大多数情况下,社区版已经足够满足一般需求。

  4. 下载安装程序: 根据操作系统和选择的MySQL版本,选择正确的安装程序。在Windows上可能是一个.exe文件,而在Linux上可能是一个.tar.gz压缩包。

  5. 可选的MySQL工具: 除了MySQL服务器软件外,还可以选择下载和安装MySQL的图形用户界面(GUI)工具,如MySQL Workbench。这些工具提供了可视化的方式来管理和查询数据库。

综上所述,当要下载MySQL时,你需要考虑你的使用场景、操作系统,并选择适当版本和安装类型。下载后,按照相应的安装指南进行安装。

四、Mysql+navicat工具

是的,MySQL可以与许多第三方工具一起使用,而 Navicat 是其中一个流行的数据库管理工具。Navicat 提供了一个用户友好的图形界面,使得数据库的管理、查询和维护变得更加直观和便捷。

以下是 MySQL 和 Navicat 结合使用的一些常见场景:

  1. 连接到 MySQL 服务器: Navicat 允许你轻松地连接到远程或本地的 MySQL 服务器。你只需提供连接参数,如主机地址、端口、用户名和密码即可。

  2. 数据库管理: 使用 Navicat,你可以方便地浏览、创建、修改和删除数据库。这使得数据库的管理变得更加直观,无需使用命令行。

  3. 表设计: Navicat 提供了一个直观的表设计工具,让你能够创建、修改和删除表,设置主键、外键、索引等约束。

  4. 数据查询和编辑: Navicat 提供了一个 SQL 编辑器,用于执行查询、插入、更新和删除数据。查询结果以表格形式呈现,方便查看和编辑。

  5. 数据导入和导出: 你可以使用 Navicat 轻松地将数据从各种格式导入到 MySQL 数据库中,也可以将 MySQL 数据导出为不同的文件格式。

  6. 备份和恢复: Navicat 提供了数据库备份和恢复工具,使你能够轻松创建数据库备份并在需要时进行恢复。

  7. 可视化工具: Navicat 提供了可视化的数据库监视和性能优化工具,帮助你识别潜在的性能问题,并提供建议进行优化。

  8. 版本控制: 一些版本的 Navicat 支持与版本控制系统(如Git)集成,以便更好地跟踪数据库架构的变化。

使用 Navicat 或其他类似的工具可以极大地简化数据库管理任务,并提供更直观的界面,尤其是对于不习惯使用命令行的用户。这类工具通常支持多种数据库管理系统,不仅仅局限于 MySQL。

五、Mysql结合mybatic使用

MySQL可以与许多不同的工具和框架搭配使用,其中包括 MyBatis。MyBatis 是一个用于 Java 编程语言的持久层框架,它简化了数据库访问的过程,提供了一种将数据库操作与 Java 代码解耦的方式。

以下是 MySQL 和 MyBatis 结合使用的一些常见场景和示例:

  1. 配置 MyBatis 数据源: 在 MyBatis 的配置文件中,你可以配置数据源信息,包括数据库的连接地址、用户名、密码等。下面是一个示例配置:

    <!-- MyBatis 数据源配置 -->
    <dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/your_database"/><property name="username" value="your_username"/><property name="password" value="your_password"/>
    </dataSource>
    

    请确保替换上述示例中的占位符(your_database、your_username、your_password)为实际的数据库信息。

  2. 创建 MyBatis 映射文件: MyBatis 使用映射文件来定义 SQL 查询、插入、更新和删除等操作。以下是一个简单的映射文件示例:

    <!-- MyBatis 映射文件 -->
    <mapper namespace="com.example.YourMapper"><select id="selectUser" resultType="User">SELECT * FROM users WHERE id = #{id}</select>
    </mapper>
    

    这里的 #{id} 是 MyBatis 的参数占位符。

  3. 在 Java 代码中使用 MyBatis: 在 Java 代码中,你可以通过 MyBatis 的 API 来执行数据库操作。以下是一个简单的示例:

    SqlSession sqlSession = sqlSessionFactory.openSession();
    try {YourMapper mapper = sqlSession.getMapper(YourMapper.class);User user = mapper.selectUser(1);System.out.println(user);
    } finally {sqlSession.close();
    }
    

    这里的 YourMapper 是你在映射文件中定义的命名空间。

  4. 整合 MyBatis 和 Spring: 如果使用 Spring 框架,可以整合 MyBatis 和 Spring,以便更好地管理事务、依赖注入等。这通常涉及配置 Spring 数据源、事务管理器等。

    <!-- Spring 中整合 MyBatis 的配置示例 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="mapperLocations" value="classpath:/your/mapper/location/*.xml"/>
    </bean><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/>
    </bean>
    

    这里的 your/mapper/location/*.xml 是你的 MyBatis 映射文件所在的路径。

通过这些步骤,可以将 MySQL 和 MyBatis 结合使用,从而更方便地进行数据库操作。在实际项目中,可能还需要考虑事务管理、异常处理、连接池配置等方面的问题。 MyBatis 的官方文档和示例提供了更详细的信息,有助于更好地理解和使用这个持久层框架。

六、Mysql中的常见操作

在MySQL中,有一些常见的操作,涵盖了数据库的基本管理、数据查询和修改等方面。以下是一些MySQL中常见的操作:

  1. 连接到MySQL服务器:

    mysql -u 用户名 -p
    

    这个命令将提示你输入密码,并连接到MySQL服务器。

  2. 创建数据库:

    CREATE DATABASE 数据库名;
    

    创建一个新的数据库。

  3. 选择数据库:

    USE 数据库名;
    

    选择要操作的数据库。

  4. 创建表:

    CREATE TABLE 表名 (1 数据类型,2 数据类型,...
    );
    

    创建一个新的表格。

  5. 插入数据:

    INSERT INTO 表名 (1,2, ...) VALUES (1,2, ...);
    

    向表中插入新的记录。

  6. 查询数据:

    SELECT1,2 FROM 表名 WHERE 条件;
    

    从表中检索数据。

  7. 更新数据:

    UPDATE 表名 SET1 =1 WHERE 条件;
    

    更新表中的记录。

  8. 删除数据:

    DELETE FROM 表名 WHERE 条件;
    

    从表中删除记录。

  9. 添加主键:

    ALTER TABLE 表名 ADD PRIMARY KEY (列名);
    

    添加主键以确保数据的唯一性。

  10. 创建索引:

CREATE INDEX 索引名 ON 表名 (列名);

创建一个索引以提高查询性能。

  1. 删除表:

    DROP TABLE 表名;
    

    删除一个表。

  2. 更改表结构:

    ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型;
    

    修改表结构,例如更改列的数据类型。

  3. 查看表结构:

    DESC 表名;
    

    查看表的结构,包括列名、数据类型等信息。

  4. 备份和恢复数据库:

    -- 备份整个数据库
    mysqldump -u 用户名 -p 数据库名 > 备份文件.sql-- 恢复数据库
    mysql -u 用户名 -p 数据库名 < 备份文件.sql
    

    使用 mysqldump 命令可以备份整个数据库,然后使用 mysql 命令进行恢复。

这些是一些基本的MySQL操作,可以开始在MySQL数据库中进行数据管理和查询。根据具体的需求,还可以了解更多高级的操作和特性,例如存储过程、触发器、视图等。 MySQL的官方文档是学习更多内容的好资源。

七、Mysql创建一个数据库

在MySQL中,要创建一个数据库,你可以使用 CREATE DATABASE 语句。以下是创建数据库的基本语法:

CREATE DATABASE database_name;

在这个语句中,database_name 是你想要创建的数据库的名称。以下是一个简单的例子:

CREATE DATABASE mydatabase;

这将创建一个名为 “mydatabase” 的数据库。请注意,数据库名称是不区分大小写的,但是在MySQL中通常习惯将它们写成小写字母,以避免混淆。

如果你想要在创建数据库的同时指定一些其他选项,你可以使用更详细的语法。例如,你可以指定字符集和校对规则:

CREATE DATABASE mydatabaseCHARACTER SET utf8mb4COLLATE utf8mb4_general_ci;

在这个例子中,数据库 “mydatabase” 将使用 utf8mb4 字符集,utf8mb4_general_ci 校对规则。你可以根据你的需求选择不同的字符集和校对规则。

请注意,创建数据库的权限通常需要在MySQL服务器上具有足够的权限。如果你没有足够的权限,可能需要联系管理员或使用具有足够权限的用户账户。

最后,如果你使用的是MySQL的命令行客户端,你可以直接在命令行中输入这些SQL语句来创建数据库。如果使用图形用户界面(GUI)工具,通常会提供一个界面来执行这些操作。

八、Mysql创建一个表

在构建MySQL表时,需要进行良好的设计,以确保数据库的性能、可维护性和数据完整性。以下是一些设计表时需要考虑的关键方面:

  1. 表名和列名: 表名和列名应具有描述性,能够清晰地表达其所代表的数据。避免使用关键字、特殊字符和空格,使用下划线或驼峰命名法(如user_tableuserTable)是一种常见的命名约定。

  2. 数据类型: 对每一列选择适当的数据类型,以节省存储空间并提高检索效率。常见的数据类型包括整数型(INTBIGINT)、字符型(VARCHAR)、日期型(DATEDATETIME)等。

  3. 主键: 每个表应该有一个主键,用于唯一标识表中的每一行。通常使用整数型(如INT)作为主键,可以选择自增长属性,确保每次插入都有唯一的标识。

    CREATE TABLE example_table (id INT PRIMARY KEY AUTO_INCREMENT,-- other columns
    );
    
  4. 外键: 如果表与其他表存在关联关系,可以使用外键来建立这种关系。外键可以确保数据的一致性,保证引用的数据在关联表中存在。

    CREATE TABLE orders (order_id INT PRIMARY KEY,product_id INT,FOREIGN KEY (product_id) REFERENCES products(product_id)
    );
    
  5. 索引: 在经常进行查询的列上创建索引,以提高查询性能。但要注意,过多的索引可能会影响插入、更新和删除的性能,因此需要权衡。

    CREATE INDEX index_name ON table_name (column1, column2, ...);
    
  6. 约束: 使用约束确保数据的完整性。包括主键约束、唯一约束、非空约束等。例如,确保用户名列是唯一的:

    CREATE TABLE users (user_id INT PRIMARY KEY,username VARCHAR(50) UNIQUE,-- other columns
    );
    
  7. 默认值和约束: 在设计表时,可以为列设置默认值,以及定义列的约束条件。这有助于确保数据的一致性和减少错误。

    CREATE TABLE example_table (column1 INT DEFAULT 0,column2 VARCHAR(255) NOT NULL,-- other columns
    );
    
  8. 范式设计: 尽量遵循数据库范式,确保数据的一致性和避免数据冗余。这包括将数据分解成逻辑上相关的表,以减少重复存储。

  9. 注释: 在表和列上添加注释,以提供关于表结构和数据含义的信息。这有助于他人理解数据库设计和维护。

实际的数据库设计取决于具体的应用需求和数据特性。在设计之前,最好考虑数据库的查询需求、数据关系、性能要求等因素。

九、Mysql中的外键及实例

在MySQL中,外键是用来建立表与表之间关系的一种机制。外键约束确保了两个表之间的数据一致性,它基于一个表的一列与另一个表的主键列之间的关联。

以下是一个简单的例子,关于在MySQL中使用外键:

假设我们有两个表,一个是 “students” 表,另一个是 “courses” 表。我们希望 “students” 表中的一个列关联到 “courses” 表中的主键列,以表示学生所选的课程。

  1. 创建 “courses” 表:

    CREATE TABLE courses (course_id INT PRIMARY KEY,course_name VARCHAR(255) NOT NULL
    );
    

    在这里,我们创建了一个名为 “courses” 的表,其中包含一个整数类型的主键列 “course_id” 和一个表示课程名称的列 “course_name”。

  2. 创建 “students” 表并添加外键约束:

    CREATE TABLE students (student_id INT PRIMARY KEY,student_name VARCHAR(255) NOT NULL,course_id INT,FOREIGN KEY (course_id) REFERENCES courses(course_id)
    );
    

    在这里,我们创建了一个名为 “students” 的表,包含一个整数类型的主键列 “student_id”、一个表示学生姓名的列 “student_name”,以及一个 “course_id” 列,它将成为外键。

    FOREIGN KEY (course_id) REFERENCES courses(course_id) 表示 “course_id” 列是一个外键,它参考了 “courses” 表中的 “course_id” 列。

  3. 插入数据:

    -- 插入课程数据
    INSERT INTO courses (course_id, course_name) VALUES(1, 'Mathematics'),(2, 'Physics'),(3, 'Computer Science');-- 插入学生数据,并指定选课关系
    INSERT INTO students (student_id, student_name, course_id) VALUES(101, 'Alice', 1),(102, 'Bob', 2),(103, 'Charlie', 1);
    

    在这里,我们插入了一些课程和学生数据,并通过 “students” 表中的 “course_id” 列与 “courses” 表中的 “course_id” 列建立了关联。

通过使用外键,我们可以确保 “students” 表中的 “course_id” 值必须在 “courses” 表中的 “course_id” 列中存在,从而保持两个表之间的关联性。这有助于维护数据的一致性,防止不一致的关联关系。

十、Mysql简单化学习

1.下载一个mysql服务器并安装和配置环境变量
2.下载一个Navicat.连接上mysql服务器
3.在navicat中进行建立数据库,建立表格,查询等一系列的操作
4.如果是springboot项目,结合mybatics,直接和数据库关联起来,简单化
5.navicat还可以导出ER图,并根据这个图继续进行设计。

相关文章:

Mysql(基本介绍+下载安装+服务器+基本使用+建库建表+navicat/mybitas工具+外键及实例)

一、Mysql基本介绍 当谈论MySQL时&#xff0c;通常指的是一个流行的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;。MySQL是由瑞典的开发者在1995年创建的&#xff0c;后来被Sun Microsystems收购&#xff0c;最终成为Oracle Corporation的一部分。以下是关于MySQL的…...

Python+requests+Jenkins接口自动化测试实例

在做功能测试的基础上&#xff0c;我平时也会用postman测试接口&#xff0c;不过postman只能测试一个一个接口&#xff0c;不能连贯起来&#xff0c;特别是我们公司的接口很多都是要用到token的&#xff0c;导致我每次测个需要登录的接口都要去获取到token&#xff0c;做了很多…...

SpringBoot3核心原理

SpringBoot3核心原理 事件和监听器 生命周期监听 场景&#xff1a;监听应用的生命周期 可以通过下面步骤自定义SpringApplicationRunListener来监听事件。 ①、编写SpringApplicationRunListener实现类 ②、在META-INF/spring.factories中配置org.springframework.boot.Sprin…...

JS常用数据类型转换(数字型和字符串型之间转换)

提供了5中基本数据类型&#xff1a;数字 number 字符串 string 布尔 boolean 空值 null 未定义的 undefined 常用的是数字型和字符串型之间的转换&#xff0c;常用的转换方法如下&#xff1a; 1 数字型转换成字符串型 a) 使用String&#xff08;&#xff09;方法…...

算法通关村第一关—青铜挑战—用Java基本实现各种链表操作

文章目录 第一关—链表【青铜挑战】1.1 单链表的概念1.2 链表的相关概念1.3 创建链表 - Java实现1.4 链表的增删改查1.4.1 遍历单链表 - 求单链表长度1.4.2 链表插入 - 三种位置插入&#xff08;1&#xff09;在链表的表头插入&#xff08;2&#xff09;在链表的中间插入&#…...

SparkRDD及算子-python版

RDD相关知识 RDD介绍 RDD 是Spark的核心抽象&#xff0c;即 弹性分布式数据集&#xff08;residenta distributed dataset&#xff09;。代表一个不可变&#xff0c;可分区&#xff0c;里面元素可并行计算的集合。其具有数据流模型的特点&#xff1a;自动容错&#xff0c;位置…...

嵌入式设备与PC上位机通信协议设计的几点原则

嵌入式设备在运行中需要设置参数&#xff0c;这个工作经常由PC机来实现&#xff0c;需要为双方通信设计协议&#xff0c;有代表性协议是如下三种&#xff1a; 从上表可以看到&#xff0c;一般嵌入式设备内存和运算性能都有限&#xff0c;因此固定二进制是首选通信协议。 一&am…...

Go 内置运算符

一、算数运算符 1、算数运算符使用 package mainimport ("fmt" )func main(){fmt.PrintIn("103",103) //10313fmt.PrintIn("10-3",10-3) //10-37fmt.PrintIn("10*3",10*3) //10*330//除法注意&#xff1a;如果运算的数都是…...

Table和HashBasedTable的使用案例

------------------- 1.普通使用 package org.example.testhashbasedtable;import com.google.common.collect.HashBasedTable; import com.google.common.collect.Table;import java.util.Map;public class TestHashBasedTable {public static void main(String[] args) {Ta…...

【执行批处理后 executeBatch() 没反应,一个参数相信就能搞定】

一、场景是在使用EasyExcel读取全表时&#xff0c;每次手动提交事务6w多条&#xff0c;总计190w数据量的情况下发生的。 博主比较fw&#xff0c;卡住了两天&#x1f636; 此问题还有一个比较bug的地方&#xff0c;就是当你在 executeBatch() 上下打断点时还能够执行出来&…...

【LeetCode】每日一题 2023_11_25 二叉树中的伪回文路径(dfs,数组/位运算)

文章目录 刷题前唠嗑题目&#xff1a;二叉树中的伪回文路径题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01; 这个月第一次周末早起~ 题目&#xff1a;二叉树中的伪回文路径 题目链接&#xff1a;1457. 二…...

什么是海外私人IP代理?是纯净独享的代理吗?

相信许多互联网工作者都遇到过IP禁令&#xff0c;比如网络抓取项目&#xff0c;使用共享代理服务器向网站发出第一个请求&#xff0c;但却您收到了禁令&#xff0c;这大部分是由于你的共享IP经过多人使用被禁用所致。 那么到底什么是私人代理呢&#xff1f;它们是否适合您的情…...

Vue组件库推荐:Element UI深度解析

在Vue开发中&#xff0c;使用组件库可以极大地提高开发效率&#xff0c;减少重复工作量。Element UI作为一款优秀的Vue组件库&#xff0c;被广泛应用于各类项目中。本文将对Element UI进行深度解析&#xff0c;为开发者提供详细的使用说明和具体的代码示例。 1&#xff0c;Ele…...

Mysql 8.0主从复制模式安装(兼容Mysql 5.7)

Mysql V8.0.35安装 官网地址&#xff1a;MySQL :: Download MySQL Community Server 下载【Mysql 8.0.35】压缩包 解压压缩包&#xff0c;仅保留6个安装文件即可 mysql-community-client-8.0.31-1.el7.x86_64.rpm mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm my…...

基于Django+Tensorflow卷积神经网络鸟类识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介系统概述系统功能核心技术系统架构系统优势 二、功能三、系统四. 总结  总结 一项目简介 介绍一个基于DjangoTensorflow卷积神经网络鸟类识别系统是一个非…...

史上最全前端知识点+高频面试题合集,十二大专题,命中率高达95%

前言&#xff1a; 下面分享一些关于阿里&#xff0c;美团&#xff0c;深信服等公司的面经&#xff0c;供大家参考一下。大家也可以去收集一些其他的面试题&#xff0c;可以通过面试题来看看自己有哪里不足。也可以了解自己想去的公司会问什么问题&#xff0c;进行有针对的复习。…...

我叫:基数排序【JAVA】

1.自我介绍 基数排序(radix sort)属于“分配式排序” (distribution sort)&#xff0c;又称“桶子法” (bucket sort)或bin sort,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,是‘桶排序’的扩展 2.基本思想 将所有待比较数值统一为同样的数位长度,数位较短的数…...

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用【鸿蒙专栏-05】

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…...

智慧城市内涝积水监测仪功能,提升城市预防功能

内涝积水监测仪不仅改变了人们应对城市内涝的老办法&#xff0c;还让智慧城市往前迈了一大步。这个监测仪是怎么做到的呢&#xff1f;就是靠它精准的数据监测和预警&#xff0c;让城市管理有了更科学高效的解决妙招。它就像有了个聪明又负责任的助手&#xff0c;让城市管理更加…...

ISCTF2023 部分wp

学一年了还在入门( web where_is_the_flag ISCTF{41631519-1c64-40f6-8dbb-27877a184e74} 圣杯战争 <?php // highlight_file(__FILE__); // error_reporting(0);class artifact{public $excalibuer;public $arrow;public function __toString(){echo "为Saber选择…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...