数据库基础--MySQL简介以及基础MySQL操作

数据库概述

数据库(DATABASE,简称DB)

定义:是按照数据结构来组织、存储和管理数据的仓库.保存有组织的数据的容器(通常是一个文件或一组文件)

数据库管理系统(Database Management System,简称DBMS)

专门用于管理数据库的计算机系统软件;

 能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并对数据完整性、安全性进行控制;

数据库应用系统(Database Application System)

使用数据库技术的系统,基本上所有的信息系统都是数据库应用系统,它通常由软件、数据库和数据管理员组成。我们开发一款软件,然后这款软件能使用到数据库(和数据库有关系,有通信),那么,这一款软件我们就可以称之为数据库应用系统。

数据库由来和发展

1.人工管理阶段

数据根本就不保存,也没有专用的软件来进行管理,往往是把数据和程序一起输入计算机进行计算。

2.文件系统阶段

有了外存磁盘的基础,数据可以保存起来了,同时可以被重复的利用。

缺点:数据冗余、一致性不强、数据联系弱。

3. 层次数据库和网状数据库技术阶段

使用指针来表示数据之间的联v

4. 关系数据库技术阶段

经典的里程碑阶段。代表DBMS:Oracle、DB2、MySQL、SQL Server、SyBase等。

5. 后关系数据库技术阶段

关系型数据库存在数据模型,性能,拓展伸缩性的缺点,出现了:

ORDBMS:面向对象数据库技术。

NoSQL :结构化数据库技术。

随着大数据的不断发展,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速,出色的NoSQL数据库:

MongoDB、 Oracle的NoSQL、Hadoop的HBase、Lucene/Solr等。

常见的关系型数据库服务器(DBMS)

SQL概述

SQL:结构化查询语言(Structured Query Language),是关系数据库的标准语言,它的特点是:简单、灵活、功能强大。它具体包含以下6个部分:

  • 数据查询语言(DQL) 其语句,也称为"数据检索语句",用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用

  • 数据操作语言(DML) 其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

  • 事务处理语言(TPL):java概念 它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

  • 数据控制语言(DCL) 它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

  • 数据定义语言(DDL)

    其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分

  • 指针控制语言(CCL):Sql编程! 它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

表的概念(Table)

MySQL是一种关系型数据库管理系统,而关系数据库管理系统中表示非常重要的概念。那么什么是表呢?见下图:

表的特点和常用术语:

表具有固定的列和任意的行,在数学上称为"关系";

二维表是同类实体的各种属性的集合,每个实体对应于表中的一行,在关系中称为元组,相当于通常的一条记录;表中的列表示属性,称为Field,相当于通常记录中的一个数据项,也叫列、字段

MySQL安装

安装,请读者自行参考详细安装文档,这里只提一些过程中需要注意的地方

  1. 编码选择UTF8

  2. 存储引擎选择多功能的

启动与连接MySQL

启动MySQL服务

必须先在操作系统中开启MySQL的服务,才能够使用MySQL软件,可以通过如下的一些方式来启动:

  1. cmd--dos运行中输入 services.msc 打开服务界面,找到MySQL服务;

  2. 控制面板-管理工具-服务;

  3. Window7 开始 搜索 服务

  4. dos命令的方式:

    i. 启动MySQL服务 : net start MySQL

    ii. 关闭MySQL服务 : net stop MySQL

提示: 如果启动出现下面的提示请使用管理员权限打开cmd在尝试

连接MySQL

C:\Program Files\MySQL\MySQL Server 5.7\bin

  1. 在运行dos窗口或者命令提示符窗口输入如下的命令:

    mysql -uroot -padmin -hlocalhost -P3306

或者:mysql -uroot -padmin -h127.0.0.1 -P3306

或者:mysql -uroot -padmin -h192.168.1.100 -P3306

localhost 和 127.0.0.1 都代表的本机

ii. 如果数据库在本机并且端口是默认端口3306,可以这样简写:

mysql -uroot -padmin

iii. 如果觉得上面这种直接暴露密码不安全,可以这样写:

mysql -uroot -p

弹出界面再输入密码就是*****

  1. 直接在开始 > 程序 > MySQL 中点开MySQL的命令提示符窗口, 然后输入密码即可

简单命令:

show databases;显示所有数据库

use mysql;选则一个数据库

show tables;显示所有的表

select * from user;查看表里面所有的数据

MySQL图形化管理软件-Navicat

Navicat的软件安装会在后续博文当中进行分享,此处就不再赘述

MySQL数据库相关操作

数据库操作与存储引擎

数据库和数据对象

数据库:存储数据库对象的容器。

数据库对象:存储,管理和使用数据的不同结构形式,如:表、视图、存储过程、函数、触发器、事件等。

数据库分两种

1. 系统数据库(系统自带的数据库):不能修改

information_schema:存储数据库对象信息,如:用户表信息,列信息,权限,字符,分区等信息。

performance_schema:存储数据库服务器性能参数信息。

mysql:存储数据库用户权限信息。

test:任何用户都可以使用的测试数据库。

2. 用户数据库(用户自定义的数据库):一般的,一个项目一个用户数据库。

数据库操作

查看&使用数据库

show databases; //查看数据库

use 数据库名; //使用数据库

创建数据库

create database 数据库名;

删除数据库

drop database 数据库名;

请谨慎使用以上命令,否则请节哀顺变

注意: 每一句后面都是有分号; 结束的

数据库存储引擎

MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。

MyISAM:拥有较高的插入,查询速度,但不支持事务,不支持外键。

InnoDB:支持事务,支持外键,支持行级锁定,性能较低。

它提供了具有提交、回滚和崩溃恢复能力的事务安全。但对比MyISAM,处理效率差,且会占用更多 的磁盘空间以保留数据和索引

 

MySQL常用列类型[Mysql数据类型----Java数据类型]

常用对照


JAVA Java备注 MYSQL MYSQL备注 Int 短整型 int 短整型 long 长整型 bigint 长整型 float 单精度 float 单精度 double 双精度 double 双精度 bigdecimal[类] 金融数据 decimal 金融数据 String 字符串 char 不可变字符串 varchar 可变字符串 Boolean 布尔值 Bit 取值0和1


MySql日期类型

1. DATETIME(年月日,时分秒)

2. DATE(年月日)

3. TIMESTAMP(时间戳--范围19700101080001 - 203801191111407 基本不会用它,了解)对于到Java中也是 Date时间

4. TIME:存时间,不带日期

5. YEAR:只存年份

注意:在MySQL中,日期时间值使用单引号引起来。 相当于Java中Date(主要),Calender。

二进制类型

为什么存放二进制?

项目中可能会保存图片,保存电影--使用二进制,因为数据库中没有图片类型和电影类型,存的时候使用流 存进来,读取也通过流来;

开发中,我们一般存储二进制文件保存路径。

BIT:我们一般存储0或1,存储是Java中的boolean/Boolean类型的值。

在mysql中没有boolean类型 ,有Bit;

BLOB:保存的时候,根据自己的大小,选择使用的类型.一般使用BLOB就够用了.

建议:今后的项目,不要把大的文件存放到数据库,如果文件太大,会影响查询和修改的速度,还有备份数据库的时候,也很慢.

如果还是有这样的需求,还是要保存图片,保存电影,怎么办?

通过IO流写到磁盘上,然后再数据库上面保存路径;

BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB:

存放图形、声音和影像,二进制对象,0-4GB。

大量文本的存储还可以使用TEXT文本

表的操作

创建表

语法

1. 先进入某一个数据库: use database_name;

2. 输入建表的SQL命令:{dos 图形化界面写命令} [ 图形化界面创建 ]

CREATE TABLE 表名(

列名1 列的类型 [约束],

列名2 列的类型 [约束],

....

列名N 列的类型 约束

);

注意:最后一行没有逗号

注意:不能使用MySQL中的关键字作为标识符.

比如:订单表(order),但是ORDER是SQL中排序的关键字.

解决方案:

方式1:使用反引号,把关键字引起来:`ORDER`.

方式2:开发中,习惯t_表名;

----------------------------------------------------------------------------------------------

需求:

在jdbcdemo数据库中,创建表student,用来存储学生的编号,名字,年龄.

USE jdbcdemo;

CREATE TABLE `student` (

`id` bigint(20) PRIMARY KEY AUTO_INCREMENT,

`name` varchar(20) NOT NULL,

`age` int(11)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

问题1:

为什么字符串要设定这个长度呢?

因为数据库中针对可变数据的存储需要压缩,而不可变数据的存储不需要压缩

查看表结构和删除表

SHOW TABLES; 查看数据库中存在哪些表:

DESC table_name; 查看表结构:

SHOW CREATE TABLE table_name; 查看表的详细定义(定义表的SQL语句)

DROP TABLE table_name; 删除表:

表的约束

表的约束(针对于某一列):

1.非空约束(NK):NOT NULL,不允许某列的内容为空。

2.设置列的默认值:DEFAULT。

3.唯一约束(UK):UNIQUE,在该表中,该列的内容必须唯一。

4.主键约束:PRIMARY KEY, 非空且唯一。

5.主键自增长:AUTO_INCREMENT,从1开始,步长为1。

6.外键约束:FOREIGN KEY,A表中的外键列.A表中的外键列的值必须参照于B表中的某一列(B表主键)。

-------------------------------------------------------------------------------------

主键设计:

学生表 姓名 年龄 身份证 电话

1:单列主键,单列作为主键,建议使用。

复合主键,使用多列充当主键,不建议。

2:主键分为两种:

① 自然主键:使用有业务含义的列作为主键(不推荐使用);

② 代理主键:使用没有业务含义的列作为主键(推荐使用); 

单表查询相关简单操作

简单查询

简单数据查询

语法:

SELECT {*, column [alias],...}

FROM table_name;

说明:

SELECT 选择查询列表

FROM 提供数据源(表、视图或其他的数据源)

如果为 * 和创建表时的顺序一致。匹配所有的字段

可以自己调整顺序,在select后边加上要查询的列名。

需求:

查询所有货品信息

查询所有货品的id,productName,salePrice

消除重复数据

需求: 查询商品的分类编号。

语法: SELECT DISTINCT 列名,..

实现数学运算

对NUMBER型数据可以使用算数操作符创建表达式(+ - * /)

对DATE型数据可以使用部分算数操作符创建表达式 (+ -)

运算符优先级:

1. 乘法和除法的优先级高于加法和减法

2. 同级运算的顺序是从左到右

3. 表达式中使用"括号"可强行改变优先级的运算顺序

需求:

查询所有货品的id,名称和批发价(批发价=卖价*折扣)

查询所有货品的id,名称,和各进50个的成本价(成本=costPrice)

查询所有货品的id,名称,各进50个,并且每个运费1元的成本

设置列名别名

1、改变列的标题头;

2、用于表示计算结果的含义;

3、作为列的别名;

4、如果别名中使用特殊字符,或者是强制大小写敏感,或有空格时,都需加单引号;--->英文单词

需求:查询所有货品的id,名称,各进50个,并且每个运费1元的成本(使用别名)

设置显示格式

为方便用户浏览查询的结果数据,有时需要设置显示格式,可以使用CONCAT函数来连接字符串。

需求:查询商品的名字和零售价。

格式:xxx商品的零售价为:xxx

SELECT CONCAT(productName,'商品的零售价为:',salePrice) AS productSalePrice FROM product;

过滤查询

比较运算符

语法

SELECT <selectList>

FROM table_name

WHERE 条件1 AND/OR 条件2;

需求:

查询货品零售价为119的所有货品信息.

查询货品名为罗技G9X的所有货品信息.

查询货品名 不为 罗技G9X的所有货品信息.

查询分类编号不等于2的货品信息

查询货品名称,零售价小于等于200的货品

查询id,货品名称,批发价大于350的货品

思考:使用where后面使用别名不行,总结select和where的执行顺序

注意:字符串和日期要用单引号扩起来.

要让MySQL查询区分大小写,可以:

SELECT * FROM table_name WHERE BINARY productName='g9x'

SELECT * FROM table_name WHERE BINARY productName='G9X'

逻辑运算

需求:

选择id,货品名称,批发价在300-400之间的货品

选择id,货品名称,分类编号为2,4的所有货品

选择id,货品名词,分类编号不为2的所有商品

选择id,货品名称,分类编号的货品零售价大于等于250或者是成本大于等于200

优先级规则

范围查询BetweenAnd

使用BETWEEN运算符显示某一值域范围的记录,这个操作符最常见的使用在数字类型数据的范围上,但对于字符类型数据和日期类型数据同样可用。

语法:

SELECT <selectList>

FROM table_name

WHERE 列名 BETWEEN minvalue AND maxvalue:闭区间。

需求:

选择id,货品名称,批发价在300-400之间的货品

选择id,货品名称,批发价不在300-400之间的货品

集合查询

使用IN运算符,判断列的值是否在指定的集合中。

语法:

SELECT <selectList>

FROM table_name

WHERE 列名 IN (值1,值2....);

需求:

选择id,货品名称,分类编号为2,4的所有货品

选择id,货品名称,分类编号不为2,4的所有货品

空值查询

IS NULL:判断列的值是否为空。

语法:WHERE 列名 IS NULL;

需求: 查询商品名为NULL的所有商品信息。

注意 : 列的值是 null 和空字符串不一样,如果是空字符串 应该 = ""

模糊查询

使用LIKE运算符执行通配查询,查询条件可包含文字字符或数字:

%:通配符:可表示零或多个任意的字符。

_:通配符:可表示任意的一个字符。

通配符:用来实现匹配部分值得特殊字符。

-----------------------------------------------------

需求:

查询id,货品名称,货品名称匹配'%罗技M9_'

查询id,货品名称,分类编号,零售价大于等于200并且货品名称匹配'%罗技M1__'

正则表达式

结果排序

使用ORDER BY子句将结果的记录排序:

ASC : 升序,缺省--不写默认。

DESC: 降序。

ORDER BY 语句出现在SELECT语句的最后。

语法:

SELECT <selectList>

FROM table_name

WHERE 条件

ORDER BY 列名1 [ASC/DESC],列名2 [ASC/DESC]...;

需求:

选择id,货品名称,分类编号,零售价并且按零售价降序排序

选择id,货品名称,分类编号,零售价先按分类编号排序,再按零售价排序

查询M系列并按照批发价排序(加上别名)

查询分类为2并按照批发价排序(加上别名)

注意:别名不能使用引号括起来,否则不能排序。

分页查询

分页设计:

假分页(逻辑分页): 把数据全部查询出来,存在于内存中,翻页的时候,直接从内存中去截取.

真分页(物理分页): 每次翻页都去数据库中去查询数据.

假分页: 翻页比较快,但是第一次查询很慢,若数据过大,可能导致内存溢出.

真分页: 翻页比较慢,若数据过大,不会导致内存溢出.

语法:

SELECT * FROM table_name LIMIT ?,?;

SELECT * FROM table_name LIMIT beginIndex,pageSize;

beginIndex = (currentPage-1) * pageSize;

第一个?: 表示本页,开始索引(从0开始).

第二个?: 每页显示的条数

规定:每页显示3条数据. pageSize = 3

第一页: SELECT * FROM `product` LIMIT 0, 3

第二页: SELECT * FROM `product` LIMIT 3, 3

第三页: SELECT * FROM `product` LIMIT 6, 3

第 N页: SELECT * FROM `product` LIMIT (N-1)*3, 3

聚集函数

定义:聚集函数作用于一组数据,并对一组数据返回一个值。

COUNT:统计结果记录数 如果列的值为null 不会计算在内的

MAX: 统计计算最大值

MIN: 统计计算最小值

SUM: 统计计算求和

AVG: 统计计算平均值 如果列的值为null 不会计算在内的

需求:

查询所有商品平均零售价

查询商品总记录数(注意在Java中必须使用long接收)

查询分类为2的商品总数

查询商品的最小零售价,最高零售价,以及所有商品零售价总和

分组查询GROUP BY

可以使用GROUP BY 子句将表中的数据分成若干组,再对分组之后的数据做统计计算,一般使用聚集函数才使用GROUP BY.

语法格式:

SELECT 聚集函数或者分组的列

FROM table_name

WHERE 条件

GROUP BY 列名

HAVING 分组之后的条件;

注意:GROUP BY 后面的列名的值要有重复性分组才有意义;

使用HAVING字句,对分组之后的结果作筛选;

不能在 WHERE 子句中使用函数(注意);

可以在 HAVING 子句中使用函数;

需求:

查询每个商品分类编号和每个商品分类各自的平均零售价

查询每个商品分类编号和每个商品分类各自的商品总数。

查询每个商品分类编号和每个商品分类中零售价大于100的商品总数:

查询零售价总和大于1500的商品分类编号以及总零售价和:

写在最后:数据库是开发过程中十分重要的的一个模块,无论是后续的基于框架进行开发,还是单纯的数据库维护人员都需要对数据库进行良好的掌握。根据笔者本人的面试经验来说,数据库在面试过程中被提问的概率十分大,主要是围绕数据的相关操作,以及多表查询,缓存机制等等方面。因为文章篇幅有限,本文只分享单表查询的相关方法以及MySQL数据库的安装。后续还会继续分享数据库高阶的相关文章。笔者认为学习数据库没有技巧,只能多写多练,增加熟练度,这样才能在面试以及工作过程中达到得心应手。希望大家能够引起重视,前期都是简单的,后续的多表查询,分库分表难度会逐渐增加,希望大家能够持之以恒的学习。博主小厂,中厂,大厂均有面试经历,每日分享全栈开发知识,与大家一起进步。

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

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

相关文章

【补充】图神经网络前传——图论

本文作为对图神经网络的补充。主要内容是看书。 仅包含Introduction to Graph Theory前五章以及其他相关书籍的相关内容&#xff08;如果后续在实践中发现前五章不够&#xff0c;会补上剩余内容&#xff09; 引入 什么是图&#xff1f; 如上图所示的路线图和电路图都可以使用…

【Spring Cloud】服务容错中间件Sentinel入门

文章目录 什么是 SentinelSentinel 具有以下特征&#xff1a;Sentinel分为两个部分: 安装 Sentinel 控制台下载jar包&#xff0c;解压到文件夹启动控制台访问了解控制台的使用原理 微服务集成 Sentinel添加依赖增加配置测试用例编写启动程序 实现接口限流总结 欢迎来到阿Q社区 …

【介绍下Unity编辑器扩展】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

【docker】Spring Boot3.x 打包 Docker容器

Docker化Spring Boot应用 创建文件夹 demo mkdir democd demo创建Dockerfile # 两个 openjdk 二选一 #FROM openjdk:17-jre-alpineFROM eclipse-temurin:17MAINTAINER chengxuyuanshitang <chengxuyuanshitangXX.com>RUN mkdir -p /workspace/java/demoCOPY demo.ja…

Android 11 裁剪系统显示区域(适配异形屏)

概述 在显示技术中&#xff0c;"OverScan"&#xff08;超扫描&#xff09;是一种调整显示图像边界的技术。通常情况下&#xff0c;OverScan 会在显示屏的边缘周围裁剪一小部分图像。这种裁剪是为了确保显示内容在屏幕上的完整可见性&#xff0c;尤其是在老式电视或投…

C++入门基础(二)

目录 缺省参数缺省参数概念缺省参数分类全缺省参数半缺省参数声明与定义分离 缺省参数的应用 函数重载函数重载概念例子1 参数类型不同例子2 参数的个数不同例子3 参数的顺序不同 C支持函数重载的原理--名字修饰(name Mangling) 感谢各位大佬对我的支持,如果我的文章对你有用,欢…

Visual Studio导入libtorch(Cuda版)

Visual Studio导入libtorch&#xff08;Cuda版&#xff09; 一、安装 官网&#xff1a;https://pytorch.org/get-started/locally/ 相应地选择并下载 二、环境变量配置 解压zip&#xff0c;得到libtorch文件夹&#xff0c;将libtorch\lib和libtorch\bin对应路径添加到系统环…

使 Elasticsearch 和 Lucene 成为最佳向量数据库:速度提高 8 倍,效率提高 32 倍

作者&#xff1a;来自 Elastic Mayya Sharipova, Benjamin Trent, Jim Ferenczi Elasticsearch 和 Lucene 成绩单&#xff1a;值得注意的速度和效率投资 我们 Elastic 的使命是将 Apache Lucene 打造成最佳的向量数据库&#xff0c;并继续提升 Elasticsearch 作为搜索和 RAG&a…

【JVM】简述类加载器及双亲委派机制

双亲委派模型&#xff0c;是加载class文件的一种机制。在介绍双亲委派模型之前&#xff0c;我需要先介绍几种类加载器&#xff08;Class Loader&#xff09;。 1&#xff0c;类加载器 Bootstrap&#xff0c;加载lib/rt.jar&#xff0c;charset.jar等中的核心类&#xff0c;由…

JWT是什么?如何使用?

JWT是什么&#xff1f;如何使用&#xff1f; 前言什么是JWT&#xff1f;概念工作方式JWT的组成HeaderPayloadSignatrue 实战引入依赖自定义注解定义实体类定义一个JWT工具类业务校验并生成token定义拦截器配置拦截器定义接口方法并添加注解开始验证 使用场景注意事项 JWT与传统…

ASR语音转录Prompt优化

ASR语音转录Prompt优化 一、前言 在ASR转录的时候&#xff0c;我们能很明显的感受到有时候语音识别不是很准确&#xff0c;这过程中常见的文本错误主要可以归纳为以下几类&#xff1a; 同音错误&#xff08;Homophone Errors&#xff09; 同音错误发生在不同词语发音相似或相…

用Excel做一个功能完备的仓库管理系统

1 基本设计思路 用到的Excel技术&#xff1a;sumif, vlookup, 表格(table)。基本思路&#xff1a;在有基础的商品、仓库等信息的情况下&#xff0c;对商品的每一个操作都有对应的单据&#xff0c;然后再汇总统计。标识&#xff1a;为了在不同的维度统计数量&#xff0c;各单据…

谷粒商城实战(020 RabbitMQ-消息确认)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第258p-第p261的内容 消息确认 生产者 publishers 消费者 consumers 设置配置类 调用api 控制台 抵达brocker 代理 新版本ReturnCallbac…

matlab学习005-利用matlab设计滤波器

目录 一&#xff0c;含有多个频率成分的三角信号 1&#xff0c;以采样频率fs20KHz对信号采样&#xff0c; 画出信号的波形&#xff1b; 1&#xff09;前期基础 2&#xff09;波形图 3&#xff09;代码 2&#xff0c;选取合适的采样点数&#xff0c;利用DFT分析信号的…

Baidu Comate:“AI +”让软件研发更高效更安全

4月27日&#xff0c;百度副总裁陈洋出席由全国工商联主办的第64届德胜门大讲堂&#xff0c;并发表了《深化大模型技术创新与应用落地&#xff0c;护航大模型产业平稳健康发展》主题演讲。陈洋表示&#xff0c;“人工智能”成为催生新质生产力的重要引擎&#xff0c;对于企业而言…

【禅道客户案例】同方智慧能源数智化转型新实践 禅道助力前行

同方智慧能源是同方股份有限公司的骨干企业。依托中核集团、清华大学的科技优势&#xff0c;坚持技术和资源双核驱动&#xff0c;基于30多年行业积淀&#xff0c;面向建筑、交通、工业、北方供热、数据中心等主要用能场景提供设计咨询、产品技术、投资建设、运营服务&#xff0…

四、线段、矩形、圆、椭圆、自定义多边形、边缘轮廓和文本绘制(OpenCvSharp)

功能实现&#xff1a; 对指定图片上进行绘制线段、矩形、圆、椭圆、自定义多边形、边缘轮廓以及自定义文本 一、布局 用到了一个pictureBox和八个button 二、引入命名空间 using System; using System.Collections.Generic; using System.Drawing; using System.Windows.F…

如何有效的将丢失的mfc140u.dll修复,几种mfc140u.dll丢失的解决方法

当你在运行某个程序或应用程序时&#xff0c;突然遭遇到mfc140u.dll丢失的错误提示&#xff0c;这可能会对你的电脑运行产生一些不利影响。但是&#xff0c;不要担心&#xff0c;以下是一套详细的mfc140u.dll丢失的解决方法。 mfc140u.dll缺失问题的详细解决步骤 步骤1&#x…

VTK —— 二、教程五 - 通过鼠标事件与渲染交互(附完整源码)

代码效果 本代码编译运行均在如下链接文章生成的库执行成功&#xff0c;若无VTK库则请先参考如下链接编译vtk源码&#xff1a; VTK —— 一、Windows10下编译VTK源码&#xff0c;并用Vs2017代码测试&#xff08;附编译流程、附编译好的库、vtk测试源码&#xff09; 教程描述 本…

C语言-嵌入式-STM32:FreeRTOS说明和详解

Free即免费的&#xff0c;RTOS的全称是Real time operating system&#xff0c;中文就是实时操作系统。 注意&#xff1a;RTOS不是指某一个确定的系统&#xff0c;而是指一类操作系统。比如&#xff1a;uc/OS&#xff0c;FreeRTOS&#xff0c;RTX&#xff0c;RT-Thread 等这些都…