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

MySQL 基础:开启数据库之旅

MySQL 基础:开启数据库之旅

在当今数字化的时代,数据扮演着至关重要的角色,而数据库管理系统则是存储、管理和操作这些数据的强大工具。MySQL 作为一款广受欢迎的开源关系型数据库管理系统,被广泛应用于各类网站、应用程序以及企业级系统中。今天,就让我们一同走进 MySQL 的基础世界,了解它的一些核心概念和基本操作。

一、MySQL 简介

MySQL 由瑞典 MySQL AB 公司开发,后被甲骨文公司收购。它具备开源免费、跨平台、性能卓越、易于使用和维护等诸多优点,支持多种编程语言(如 Java、Python、PHP 等)进行数据库交互,这使得它在众多的数据库产品中脱颖而出,成为开发者们的宠儿。

无论是小型的个人项目,还是大型的电商平台、社交网络等复杂应用,MySQL 都能够很好地胜任数据存储和管理的工作,为业务的稳定运行提供坚实的基础。

二、关系型数据库基础概念

在深入学习 MySQL 之前,我们先来了解几个关系型数据库的基础概念,这些概念对于理解 MySQL 的工作原理和操作方式至关重要。

(一)数据库(Database)

数据库就像是一个数据的仓库,用于存储和组织相关的数据集合。例如,一个电商网站可能有专门的数据库来存放用户信息、商品信息、订单信息等不同类型的数据,方便进行统一管理和查询操作。

(二)表(Table)

表是数据库中存储数据的基本单元,它由行(Row)和列(Column)组成。每一行代表一条记录,比如在用户信息表中,一行就对应着一个用户的具体信息;而每一列则定义了数据的类型和属性,例如用户表中的列可能包括用户名、密码、年龄、邮箱等字段。

(三)字段(Field)

也就是表中的列,它规定了存储的数据类型,常见的数据类型有整数类型(如 INT)、字符类型(如 VARCHAR)、日期类型(如 DATE)等。不同的数据类型决定了该字段能存储的数据格式以及所占用的存储空间大小。

(四)主键(Primary Key)

主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性的特点,通过主键可以方便、快速地定位和操作某一条具体的记录。例如,用户表中的用户 ID 常常被设置为主键,因为每个用户都有唯一的 ID 编号。

(五)外键(Foreign Key)

外键用于建立不同表之间的关联关系,它指向另一个表中的主键。通过外键,可以实现数据的关联查询、维护数据的完整性以及体现数据库中表与表之间的逻辑关系。比如在订单表中,通过外键可以关联到用户表中的用户 ID,从而知道该订单是由哪个用户下的。

三、MySQL 的安装与配置

(一)安装

  1. 下载:首先,我们需要前往 MySQL 的官方网站(MySQL :: MySQL Community Downloads),根据自己的操作系统版本选择合适的 MySQL 安装包进行下载。例如,对于 Windows 用户,可以选择 Windows Installer 格式的安装包;对于 Linux 用户,则可以选择对应的 RPM 包或者源码包进行安装。
  2. 安装过程:安装过程相对简单,按照安装向导的提示逐步进行操作即可。在安装过程中,需要设置一些重要的参数,比如 root 用户的密码(这是 MySQL 中的超级管理员账号,拥有最高权限,务必妥善保管密码)、选择安装的组件(一般可以选择默认配置,有特殊需求的用户可根据实际情况调整)以及安装的路径等。

(二)配置

安装完成后,还需要对 MySQL 进行一些基本的配置,以确保其能够正常运行并满足我们的使用需求。例如,可以配置 MySQL 的字符集,一般推荐使用 UTF-8 字符集,这样可以支持多种语言的字符存储,避免出现乱码问题;还可以配置服务器的一些性能参数,如缓存大小、最大连接数等,不过这些参数的调整通常需要根据实际应用场景和服务器硬件资源来综合考虑,对于初学者来说,先使用默认配置熟悉基本操作是比较好的选择。

四、MySQL 的基本操作

(一)登录到 MySQL 服务器

安装配置好 MySQL 后,我们可以通过命令行或者可视化工具(如 Navicat、MySQL Workbench 等)来登录到 MySQL 服务器进行操作。以命令行方式为例,在 Windows 系统下,打开命令提示符(CMD)或者 PowerShell,输入以下命令(假设你的 MySQL 安装在默认路径,并且 root 用户密码为 your_password):

mysql -u root -p

然后输入密码,即可成功登录到 MySQL 服务器,进入到 MySQL 的命令行交互界面,在这里可以输入各种 SQL 语句来操作数据库。

(二)创建数据库

使用 CREATE DATABASE 语句来创建数据库,语法如下:

CREATE DATABASE IF NOT EXISTS `your_database_name`;

这里的 IF NOT EXISTS 关键字是可选的,它的作用是当要创建的数据库不存在时才执行创建操作,避免因数据库已存在而出现错误提示。例如,创建一个名为 test_database 的数据库,可以这样写:

CREATE DATABASE IF NOT EXISTS `test_database`;

(三)使用数据库

创建好数据库后,需要使用 USE 语句来切换到该数据库,才能在其中进行后续的表创建、数据插入等操作,语法如下:

USE `your_database_name`;

USE `test_database`;

(四)创建表

在选定的数据库中,使用 CREATE TABLE 语句来创建表,需要指定表名以及各个字段的名称、数据类型、约束条件等信息。以下是一个创建简单用户表的示例:

CREATE TABLE IF NOT EXISTS `users` (`id` INT AUTO_INCREMENT PRIMARY KEY,`username` VARCHAR(50) NOT NULL,`password` VARCHAR(100) NOT NULL,`age` INT,`email` VARCHAR(100)
);

在这个示例中,id 字段被定义为主键,并且设置为自增长(AUTO_INCREMENT),这样每次插入新记录时,它会自动分配一个唯一的整数值;username 和 password 字段设置为非空(NOT NULL),确保用户必须输入用户名和密码;age 和 email 字段则根据实际情况可以为空。

(五)插入数据

使用 INSERT INTO 语句来向表中插入数据,语法如下:

INSERT INTO `your_table_name` (`column1`, `column2`,...) VALUES (`value1`, `value2`,...);

例如,向刚才创建的 users 表中插入一条用户记录:

INSERT INTO `users` (`username`, `password`, `age`, `email`) VALUES ('john_doe', '123456', 25, 'john@example.com');

(六)查询数据

查询数据是数据库操作中非常常用的功能,使用 SELECT 语句来实现。基本的查询语法如下:

SELECT `column1`, `column2`,... FROM `your_table_name` WHERE `condition`;

例如,查询 users 表中所有用户的用户名和年龄,可以这样写:

SELECT `username`, `age` FROM `users`;

如果要查询满足特定条件的记录,比如查询年龄大于 20 岁的用户,可以添加 WHERE 子句:

SELECT `username`, `age` FROM `users` WHERE `age` > 20;

(七)更新数据

当需要修改表中的已有数据时,使用 UPDATE 语句,语法如下:

UPDATE `your_table_name` SET `column1` = `new_value1`, `column2` = `new_value2`,... WHERE `condition`;

例如,将 users 表中用户名为 john_doe 的用户年龄修改为 26 岁,可以这样写:

UPDATE `users` SET `age` = 26 WHERE `username` = 'john_doe';

(八)删除数据

使用 DELETE FROM 语句来删除表中的数据,语法如下:

DELETE FROM `your_table_name` WHERE `condition`;

需要注意的是,如果不添加 WHERE 子句,将会删除表中的所有记录,所以在执行删除操作时一定要谨慎确认条件。例如,删除 users 表中年龄小于 18 岁的用户记录:

DELETE FROM `users` WHERE `age` < 18;

五、总结

MySQL 作为一款功能强大、应用广泛的关系型数据库管理系统,掌握其基础知识是开启数据库学习和开发之旅的重要一步。通过了解关系型数据库的基本概念,学会安装、配置以及常见的操作语句,我们可以初步构建起自己的数据库应用,存储和管理所需的数据。当然,MySQL 还有许多高级的功能和特性,如索引优化、事务处理、存储过程等,后续可以继续深入学习,不断提升自己在数据库管理方面的能力。

相关文章:

MySQL 基础:开启数据库之旅

MySQL 基础&#xff1a;开启数据库之旅 在当今数字化的时代&#xff0c;数据扮演着至关重要的角色&#xff0c;而数据库管理系统则是存储、管理和操作这些数据的强大工具。MySQL 作为一款广受欢迎的开源关系型数据库管理系统&#xff0c;被广泛应用于各类网站、应用程序以及企业…...

OpenTK 中帧缓存的深度解析与应用实践

摘要: 本文深入探讨了 OpenTK 中帧缓存的使用。首先介绍了帧缓存的基本概念与在图形渲染管线中的关键地位,包括其与颜色缓存、深度缓存、模板缓存等各类缓存的关联。接着详细阐述了帧缓存对象(FBO)的创建、绑定与解绑等操作,深入分析了纹理附件、渲染缓冲区附件在 FBO 中的…...

stm32制作CAN适配器5--WinUsb上位机编写

上次我们要stm32制作了一个基于winusb有canfd适配器&#xff0c;今天我们来制作一个上位机程序来进行报文收发。 上位机还是用以前写好的&#xff0c;只是更改下dll文件。 项目链接器&#xff0c;输入&#xff0c;附加依赖项中增加winusb.lib winusb初始化&#xff1a;#incl…...

【时间之外】IT人求职和创业应知【71】-专利费

目录 2025 ICT产业趋势年会召开&#xff0c;2024年度ICT十大新闻重磅揭晓 海纳致远数字科技申请定制化插件驱动的数据分析专利 阿波罗智联取得语音数据的处理方法、装置、设备和存储介质专利 心勿贪&#xff0c;贵知足。 感谢所有打开这个页面的朋友。人生不如意&#xff0…...

springboot vue 会员营销系统

springboot vue 会员营销系统介绍 演示地址&#xff1a; 开源版本&#xff1a;http://8.146.211.120:8083/ 完整版本&#xff1a;http://8.146.211.120:8086/ 移动端 http://8.146.211.120:8087/ 简介 欢迎使用springboot vue会员营销系统。本项目包含会员储值卡、套餐卡、计…...

Kafka快速扫描

Architecture 系统间解耦&#xff0c;异步通信&#xff0c;削峰填谷 Topic 消息主题&#xff0c;用于存储消息 Partition 分区&#xff0c;通过扩大分区&#xff0c;可以提高存储量 Broker 部署Kafka服务的设备 Leader kafka主分区 Follwer kafka从分区 高性能之道&#xff1a…...

scala基础学习(数据类型)-字符串

文章目录 scala中的字符串引号单引号双引号三引号 常用内置函数length 获取字符串长度charAt 字符串元素访问substring 获取字串indexOf 获取字串位置replace 字符串替换toLowerCase,toUpperCase 字符串大小写转换trim 去除首位空白符split 字符串切割以及查看startsWith,endsW…...

网络架构与IP技术:4K/IP演播室制作的关键支撑

随着科技的不断发展&#xff0c;广播电视行业也在不断迭代更新&#xff0c;其中4K/IP演播室技术的应用成了一个引人注目的焦点。4K超高清技术和IP网络技术的结合&#xff0c;不仅提升了节目制作的画质和效果&#xff0c;还为节目制作带来了更高的效率和灵活性。那么4K超高清技术…...

如何优雅的关闭GoWeb服务器

以下内容均为Let’s Go Further内容节选以及作者本人理解。 这里创建了一个后台进程用于捕获关闭信号&#xff0c;在后台进程中&#xff0c;主要内容为&#xff1a; 创建一个缓冲通道 quit使用signal.Notify函数监听并捕获关机信号SIGINT,SIGTERM&#xff0c;在捕获关机信号后…...

Python爬虫(5) --爬取网页视频

文章目录 爬虫爬取视频指定url发送请求UA伪装请求页面 获取想要的数据解析定位定位音视频位置 存放视频完整代码实现总结 爬虫 Python 爬虫是一种自动化工具&#xff0c;用于从互联网上抓取网页数据并提取有用的信息。Python 因其简洁的语法和丰富的库支持&#xff08;如 requ…...

simulink离散传递函数得到差分方程并用C语言实现

一. 创建连续时间的传递函数 G ( s ) s 2 217 s s 2 384 s 8989 G(s) \frac{s^2217s}{s^2384s8989} G(s)s2384s8989s2217s​ 二. 离散连续时间的传递函数G(s) 2.1 在matlab中用c2d函数双线性变换法离散G(s)&#xff0c; 下面是matlab脚本代码 % 创建连续时间传递函数 …...

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项任务书正式赛题

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项任务书-A 目录 一、竞赛阶段 二、竞赛任务书内容 &#xff08;一&#xff09;拓扑图 &#xff08;二&#xff09;模块A 基础设施设置与安全加固(200分) &#xff08;三&#xff09;B模块安全事件响应/网络安全数据取证/…...

Redis内存碎片详解

什么是内存碎片? 你可以将内存碎片简单地理解为那些不可用的空闲内存。 举个例子&#xff1a;操作系统为你分配了 32 字节的连续内存空间&#xff0c;而你存储数据实际只需要使用 24 字节内存空间&#xff0c;那这多余出来的 8 字节内存空间如果后续没办法再被分配存储其他数…...

Python球球大作战

系列文章 序号直达链接表白系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python漂浮爱心代码7Python爱心光波代码8Python普通的玫瑰花代码9Python炫酷的玫瑰花代码10Python多…...

机器学习(Machine Learning)的安全问题

最近看论文&#xff0c;看到了”对抗样本“的一些内容&#xff0c;然后又研究了一下其背后的东西&#xff0c;发现还有”机器学习的安全“这一问题&#xff0c;然后找了几篇博客看了一下&#xff0c;发现了篇2019年的比较有意思的文章&#xff0c;这里整理一下&#xff0c;方编…...

ROS1安装教程

一、环境准备 操作系统&#xff1a;Ubuntu 20.04 LTS 注&#xff1a;为保证系统干净&#xff0c;本文使用Docker进行 演示&#xff0c;如已安装相应的Ubuntu系统请忽略。 Docker安装Ubuntu系统步骤如下&#xff1a; # 拉取镜像 docker pull ubuntu:20.04# 创建容器 docker ru…...

大腾智能CAD:国产云原生三维设计新选择

在快速发展的工业设计领域&#xff0c;CAD软件已成为不可或缺的核心工具。它通过强大的建模、分析、优化等功能&#xff0c;不仅显著提升了设计效率与精度&#xff0c;还促进了设计思维的创新与拓展&#xff0c;为产品从概念构想到实体制造的全过程提供了强有力的技术支持。然而…...

Docker 入门:如何使用 Docker 容器化 AI 项目(一)

引言 在人工智能&#xff08;AI&#xff09;项目的开发和部署过程中&#xff0c;环境配置和依赖管理往往是开发者遇到的挑战之一。开发者通常需要在不同的机器上运行同样的代码&#xff0c;确保每个人使用的环境一致&#xff0c;才能避免 “在我的机器上可以运行”的尴尬问题。…...

【04-数据库面试】

如何创建一个新的数据库 数据库是现代信息技术中不可或缺的一部分&#xff0c;它为存储、检索和管理数据提供了强大的工具。无论是企业还是个人&#xff0c;都可能需要创建自己的数据库以满足特定的需求。本文将详细介绍创建一个新数据库的步骤&#xff0c;包括规划、选择数据…...

单元测试使用记录

什么是单元测试 简单来说就是对一个类中的方法进行测试&#xff0c;对输出的结果检查判断是否符合预期结果 但是在多年的工作中&#xff0c;从来没有哪个项目中真正系统的用到了单元测试&#xff0c;因此对它还是很陌生的&#xff0c;也就造成更加不会在项目中区使用它。 如何…...

《深入浅出 Servlet:Java Web 开发的基石》(二)

ServletConfig(熟练) ServletConfig对象对应web.xml文件中的<servlet>元素。例如你想获取当前Servlet在web.xml文件中的配置名&#xff0c;那么可以使用servletConfig.getServletName()方法获取&#xff01; 你不能自己去创建ServletConfig对象&#xff0c;Servlet的in…...

Pytorch | 从零构建MobileNet对CIFAR10进行分类

Pytorch | 从零构建MobileNet对CIFAR10进行分类 CIFAR10数据集MobileNet设计理念网络结构技术优势应用领域 MobileNet结构代码详解结构代码代码详解DepthwiseSeparableConv 类初始化方法前向传播 forward 方法 MobileNet 类初始化方法前向传播 forward 方法 训练过程和测试结果…...

冯诺依曼架构与哈佛架构的对比与应用

冯诺依曼架构&#xff08;Von Neumann Architecture&#xff09;&#xff0c;也称为 冯诺依曼模型&#xff0c;是由著名数学家和计算机科学家约翰冯诺依曼&#xff08;John von Neumann&#xff09;在1945年提出的。冯诺依曼架构为现代计算机奠定了基础&#xff0c;几乎所有现代…...

【Java基础面试题032】Java中的字节码是什么?

回答重点 Java字节码是Java编译器将Java源代码编译后生成的 位于Java源代码与JVM执行的执行的机器码之间。 Java字节码由JVM解释或即时编译&#xff08;JIT&#xff09;为机器码执行 扩展知识 Java字节码的关键点 1&#xff09;字节码结构&#xff1a; Java字节码是与平…...

K8s ConfigMap的基础功能介绍

在 Kubernetes 中&#xff0c;ConfigMap 是一种用于管理配置信息的资源对象&#xff0c;它允许你将 配置信息与代码解耦&#xff0c;方便管理和更新应用配置&#xff0c;而无需重新构建镜像或重启服务。 ConfigMap 的功能 存储配置信息&#xff1a; 可以以 键值对 的形式存储配…...

stm32制作CAN适配器4--WinUsb的使用

前面使用STM32G474芯片的USB模块做了一个CANFD程序&#xff0c;当时用的是HID模式&#xff0c;在实际使用时发现HID模块的通讯速率太慢了&#xff0c;只能1ms传输一帧&#xff0c;就会造成有些掉帧现象。 现在就把HID模块改为在Window下同样免驱的WinUsb来实现CANFD数据的传输。…...

深入理解 Java 中的 ArrayList 和 List:泛型与动态数组

深入理解 Java 中的 ArrayList 和 List&#xff1a;泛型与动态数组 在 Java 编程中&#xff0c;ArrayList 和 List 是最常用的集合类之一。它们帮助我们管理动态数据&#xff0c;支持按索引访问、增加、删除元素等操作。尤其在使用泛型时&#xff0c;理解它们之间的关系及应用…...

[react 3种方法] 获取ant组件ref用ts如何定义?

获取ant的轮播图组件, 我用ts如何定义? Strongly Type useRef with ElementRef | Total TypeScript import React, { ElementRef } from react; const lunboRef useRef<ElementRef<typeof Carousel>>(null); <Carousel autoplay ref{lunboRef}> 这样就…...

VS Code Copilot 与 Cursor 对比

选手简介 VS Code Copilot&#xff1a;算是“老牌”编程助手了&#xff0c;虽然Copilot在别的编辑器上也有扩展&#xff0c;不过体验最好的还是VS Code&#xff0c;毕竟都是微软家的所以功能集成更好一些&#xff1b;主要提供的是Complete和Chat能力&#xff0c;也就是代码补全…...

华为IPD流程6大阶段370个流程活动详解_第一阶段:概念阶段 — 81个活动

华为IPD流程涵盖了产品从概念到上市的完整过程,各阶段活动明确且相互衔接。在概念启动阶段,产品经理和项目经理分析可行性,PAC评审后成立PDT。概念阶段则包括产品描述、市场定位、投资期望等内容的确定,同时组建PDT核心组并准备项目环境。团队培训涵盖团队建设、流程、业务…...

Vue3组件封装技巧与心得

摘要&#xff1a; 日常开发中&#xff0c;用Vue组件进行业务拆分&#xff0c;代码解耦是一个很好的选择&#xff1b; 今天就来分享一下我在使用Vue3进行组件封装的一些技巧和心得&#xff0c;希望能够帮助到大家&#xff1b; 1. 组件特性&#xff1a; 在Vue中组件是一个独立的…...

15.初识接口1 C#

这是一个用于实验接口的代码 适合初认识接口的人 【CSDN开头介绍】&#xff08;文心一言AI生成&#xff09; 在C#编程世界中&#xff0c;接口&#xff08;Interface&#xff09;扮演着至关重要的角色&#xff0c;它定义了一组方法&#xff0c;但不提供这些方法的实现。它要求所…...

渗透测试-前端加密分析之RSA加密登录(密钥来源本地)

本文是高级前端加解密与验签实战的第5篇文章&#xff0c;本系列文章实验靶场为Yakit里自带的Vulinbox靶场&#xff0c;本文讲述的是绕过前端RSA加密来爆破登录。 分析 generateKey函数用来生成随机的RSA公私钥 加密的格式如下&#xff1a; {"username":"admin…...

题海拾贝:力扣 86.分隔链表

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 1、题…...

《Mycat核心技术》第06章:Mycat问题处理总结

作者&#xff1a;冰河 星球&#xff1a;http://m6z.cn/6aeFbs 博客&#xff1a;https://binghe.gitcode.host 文章汇总&#xff1a;https://binghe.gitcode.host/md/all/all.html 星球项目地址&#xff1a;https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀&#xff0c…...

前端实现图片压缩

前端实现图片压缩的主要方法有&#xff1a; 使用 HTML5 的 API 利用 canvas 将图片绘制到画布上&#xff0c;然后通过 toDataURL 方法获取压缩后的图片数据。 使用第三方库 借助 compressorjs、browser-image-compression 等开源库&#xff0c;快速实现高质量的图片压缩功能。…...

Python OCR 文字识别

一.引言 文字识别&#xff0c;也称为光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;&#xff0c;是一种将不同形式的文档&#xff08;如扫描的纸质文档、PDF文件或数字相机拍摄的图片&#xff09;中的文字转换成可编辑和可搜索的数据的技术。随着技…...

怿星科技联合赛力斯举办workshop活动,进一步推动双方合作

12月18日&#xff0c;由怿星科技与赛力斯汽车联合举办的workshop活动在赛力斯五云湖总部展开&#xff0c;双方嘉宾围绕智能汽车发展趋势、行业前沿技术、汽车电子网络与功能测试等核心议题展开了深度对话与交流&#xff0c;并现场参观演示了多套前沿产品。怿星科技CEO潘凯、汽车…...

Vue.js前端框架教程1:Vue应用启动和Vue组件

文章目录 Vue 应用Vue 应用的主要组成部分:启动 Vue 应用:Vue组件基础组件组件注册父子组件组件插槽(Slots)动态组件和 `keep-alive`Vue 应用 Vue 应用由几个主要部分组成,每个部分都有其特定的角色和职责。以下是 Vue 应用的主要组成部分以及如何启动一个 Vue 应用的介绍…...

LabVIEW深海气密采水器测控系统

LabVIEW的深海气密采水器测控系统通过高性价比的硬件选择与自主开发的软件&#xff0c;实现了高精度的温度、盐度和深度测量&#xff0c;并在实际海上试验中得到了有效验证。 项目背景 深海气密采水器是进行海底科学研究的关键工具&#xff0c;用LabVIEW开发了一套测控系统&am…...

SpringBoot 启动类 SpringApplication 二 run方法

配置 在Program arguments配置2个参数&#xff1a;--server.port8081 --spring.profiles.activedev。 run方法 run方法执行结束代表SpringBoot启动完成&#xff0c;即完成加载bean。 // ConfigurableApplicationContext 是IOC容器 public ConfigurableApplicationContext ru…...

【java基础系列】实现一个简单的猜数字小游戏

主要是用的java中的键盘录入和随机数两个api&#xff0c;实现这种人机交互的小游戏&#xff0c;可以用来锻炼基础算法思维 实现效果 实现代码 package com.gaofeng.day10;import java.util.Random; import java.util.Scanner;/*** author gaofeng* date 2024-12-22 - 9:21*/ …...

Liveweb视频融合共享平台在果园农场等项目中的视频监控系统搭建方案

一、背景介绍 在我国的大江南北遍布着各种各样的果园&#xff0c;针对这些地处偏僻的果园及农场等环境&#xff0c;较为传统的安全防范方式是建立围墙&#xff0c;但是仅靠围墙仍然无法阻挡不法分子的有意入侵和破坏&#xff0c;因此为了及时发现和处理一些难以察觉的问题&…...

clickhouse-题库

1、clickhouse介绍以及架构 clickhouse一个分布式列式存储数据库&#xff0c;主要用于在线分析查询 2、列式存储和行式存储有什么区别&#xff1f; 行式存储&#xff1a; 1&#xff09;、数据是按行存储的 2&#xff09;、没有建立索引的查询消耗很大的IO 3&#xff09;、建…...

kafka常用命令

安装kafka注意事项 修改 、vim kafka/config/server.properties 三个地方①brokerId ②logs地址③指定节点 一、创建主题 &#xff08;必须指定分区&#xff0c;指定副本&#xff09; #在kafka bin目录下执行以下命令 #①连接hadoop01 创建主题为TEST 分区1 副本3个 bin/ka…...

在 Django 中使用 SMTP 发送邮件是一个常见的需求

在 Django 中使用 SMTP 发送邮件是一个常见的需求&#xff0c;通常用于发送用户注册确认邮件、密码重置邮件等。下面是一个简单的示例&#xff0c;展示了如何在 Django 中配置 SMTP 发送邮件&#xff0c;并创建一个包含表单、路由和视图的界面来发送邮件。 1. 配置 Django 项目…...

JS中的原型与原型链

1. 基本概念 原型&#xff08;Prototype&#xff09;&#xff1a;每个对象都有一个内部属性 [[Prototype]]&#xff0c;通常通过 __proto__ 访问&#xff08;非标准&#xff0c;但广泛支持&#xff09;。 原型链&#xff08;Prototype Chain&#xff09;&#xff1a;对象通过原…...

STM32F407 | Embedded IDE01 - vscode搭建Embedded IDE开发环境(支持JLINK、STLINK、DAPLINK)

导言 Embedded IDE官网:https://em-ide.com/docs/intro 我猜肯定有部分人使用SI Keil开发STM32项目&#xff0c;也有vscode Keil开发STM32程序。SI或vscode编写代码&#xff0c;然后切换Keil编译、下载、调试程序。有一段时间&#xff0c;我也是这么干的。但是&#xff0c;程…...

放弃机器学习框架,如何用Python做物体检测?

每当我们听说“物体检测”时&#xff0c;就会想到机器学习和各种不同的框架。但实际上&#xff0c;我们可以在不使用机器学习或任何其他框架的情况下进行物体检测。在本文中&#xff0c;我将向你展示如何仅使用Python进行操作。 首先&#xff0c;我们定义一个模板图像&#xf…...

基于langchain的Agent(实现实时查询天气)

心血来潮&#xff0c;玩一下Agent&#xff0c;实现了多轮对话功能 import requests, jsonfrom langchain.agents import load_tools from langchain.agents import initialize_agent from langchain_community.llms.tongyi import Tongyi from langchain.memory import Conver…...