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

阅读MySQL必知必会,查缺补漏

MySQL自带数据库

information_schema:是MySQL自带的数据库,主要保持MySQL数据库服务器的系统信息,比如数据库的名称,数据库表的名称,字段名称,存储权限等。

performance_schema:是MySQL系统自带的数据库,可以用来监控MySQL的各类性能指标。

sys:是MySQL系统自带的数据库,主要作用是,以一种更容易被理解的方式展示MySQL数据库服务器的各类性能指标。

MySQL主键

MySQL中的主键主要有3个特征:

  • 必须唯一,不能重复
  • 不能是空
  • 必须可以唯一标识数据表中的记录
alter table demo.test
add column itenumber int primary key auto_increment;

MySQL数据类型

整数类型

在评估用哪种整数类型的时候,我们需要考虑存储空间和可靠性平衡的问题。使用占用字节数少的整数类型可以节省存储空间,但是如果超出取值范围那么可能会引起系统错误,影响可靠性。

浮点数类型和定点数类型

FLOAT(单精度浮点数),DOUBLE(双精度浮点数),REAL(默认是DOUBLE)

但是你可以通过这个语句把默认改变。

SET sql_mode = "REAL_AS_FLOAT";

浮点数类型有一个缺陷,就是不精确

那么为什么会出现这样的情况呢?

MySQL对浮点类型数据的存储方式

4个字节存储FLOAT类型,8个字节存储DOUBLE类型数据。但是它们都是用二进制方式来进行存储的。例如9.625用二进制表示,就是1001.101,你可以发现,如果尾数不是0或者5的话那么你无法用一个二进制数来精确的表达,就只能四舍五入了。

于是MySQL提供了定点数类型:DECIMAL

浮点数的存储方式决定了它是不可能精确的,而DECIMAL的存储方式决定了它一定是精确的。

DECIMAL把十进制转换成二进制数存储,DECIMAL则不同,它是把十进制数的整数部分和小数部分拆开,分别转换成十六进制数来进行存储。

DECIMAL(M,D)其中M表示整数加小数一共多少位,M <= 65。D表示小数部分位数,D < M。

文本类型

CHAR(M):固定长度字符串,必须预先定义字符串长度。

VARCHAR(M):可变长度字符串,必须预先知道字符串的最大长度,不过只要不超过这个最大长度,具体存储的时候,是按照字符串长度存储的。

TEXT:系统自动按照实际长度存储,不需要预先定义,因此TEXT不能做主键。

MySQL的基本操作

有哪些约束?

  • 非空约束
  • 唯一性约束
  • 自增约束

如何修改表?

把原来的表复制一下:

CREATE TABLE demo.importheadhist LIKE demo.importhead;

插入查询结果:

INSERT INTO 表名(字段名)
SELECT 字段名或值
FROM 表名
WHERE 条件

修改数据:

UPDATE 表名
SET 字段名=WHERE 条件

查询数据:

  • GROUP BY :告诉MySQL查询结果要如何分组,经常与MySQL的聚合函数一起使用。
  • HAVING:用于筛选查询结果,跟WHERE类似。

FROM:

FROM关键字表示查询的数据源。

数据源不一定是表,也可以是一个查询结果。

SELECT a.goodsname, a.price 
FROM (SELECT *FROM demo.goodsmaster
) AS a;

这个就是派生表:

    SELECT *FROM demo.goodsmaster

或者叫做子查询。

意思是我们把一个查询结果数据集当作一共虚拟的数据表来看待。MySQL规定,必须要用AS关键字给这个派生表起一个别名。

ORDER BY:

ASC表示升序,DESC表示降序。

如何设置主键?

  • 尽量不要用业务字段,也就是跟业务有关的字段作为主键。
  • 使用自增字段做主键(不推荐),多台服务器就寄了。
  • 采用手动赋值的方法,通过一定的逻辑性,确保字段值全系统的唯一性。

外键和连接

外键和连接:如何做关联查询?

这种把分散在多个不同的表里面的数据查询出来的操作就叫做多表查询。

在MySQL中为了把2个表关联起来,会用到2个重要功能:外键(FOREIGN KEY)和连接(JOIN)

外键需要在创建表的阶段就定义出来;连接可以通过相同意义的字段把两个表连接起来用在查询阶段。

如何创建外键?

假设我们有两张表,A和B,它们通过一个公共字段id发生关联关系,我们把这个关联关系叫做R。如果id在表A中是主键,那么表A就是这个关系R中的主表。相应的,表B就是这个关系中的从表,表B中的id,就是表B用来引用表A中数据的,叫外键。所以外键就是从表中用来引用主表数据的那个公共字段

在这里插入图片描述

如何创建外键:

CREATE TABLE 从表名
(-- 定义外键约束,提出外键字段和参照的主表字段CONSTRAINT 外键约束名FOREIGN KEY (字段名) REFERENCES 主表名 (字段名)
)

也可以修改表的字段:

ALTER TABLE 从表名 ADD CONSTRAINT 约束名 FOREIGN KEY 字段名 REFERENCES 主表名

连接

  • 内连接 – 表示查询结果只返回符合连接条件的记录,这种连接方式比较常用。
  • 外连接 – 表示查询结果返回某一个表中的所有记录,以及另一个表中满足连接条件的记录。

内连接

关键字JOININNER JOINCROSS JOIN的含义是一样的。

我们定义一个背景:

在这里插入图片描述

SELECT a.transactionno,a.itemnumber,a.quantity,a.price,a.transdate,b.membername
FROMdemo.trans AS aJOINdemo.membermaster AS b ON (a.cardno = b.cardno);

可以看到外面通过公共字段cardno把两个表关联到了一起,查询出了会员消费的数据。

关键字JOIN与关键字ON配对使用,意思是查询满足关联条件demo.trans表中cardno的值与demo.membermaster表中的cardno值相等两个表中的所有记录。

外连接

  • 左连接,一般写成LEFT JOIN,返回左边所有记录以及右表中符合连接条件的记录。
  • 右连接,一般写成RIGHT JOIN,返回右边表中的所有记录,以及左表中符合连接条件的记录。
SELECT a.transactionno,a.itemnumber,a.quantity,a.price,a.transdate,b.membername
FROMdemo.trans AS a -- 这个是左边的表LEFT JOINdemo.membermaster AS b ON (a.cardno = b.cardno);

我们使用右连接也可以完成一样的效果:

SELECT a.transactionno,a.itemnumber,a.quantity,a.price,a.transdate,b.membername
FROMdemo.membermaster AS b -- 这个是左边的表RIGHT JOINdemo.trans AS a ON (a.cardno = b.cardno);

关联查询的误区:

MySQL允许关联查询的时候没有外键的约束。因为外键的约束是要占用系统资源的,如果是高并发的网站的话,这是无法承担的。但是我们既然要关联查询,就说明有两张表,也就是我们的插入或者删除操作是无法用一条SQL语句完成的,也就是没有原子性。所以如果没有外键约束的话,需要在应用层解决原子性的问题,否则会出现业务上的错误。

where和having有什么区别?

WHERE是直接对表中的字段进行限定。HAVING则需要根据分组关键字GROUP BY一起使用,通过对分组字段或分组计算函数进行限定。

  • WHERE关键字的特点是,直接用表的字段对数据集进行筛选。如果需要通过关联查询从其他的表获取需要的信息,那么执行的时候,也是先通过WHERE条件进行筛选,用筛选后的比较小的数据集进行连接。这样一来,连接过程中占用的资源比较少,执行效率也比较高。
  • HAVING的查询过程:
    • 我们需要把所有的信息都准备好,包括从关联表中获取需要的信息,对数据集进行分组,形成一个包含所有需要的信息的数据集合。接着,再通过HAVING条件的筛选,得到需要的数据。

也就是说:

  • 如果需要通过连接从关联表中获取需要的数据,WHERE是先筛选后连接,而HAVING是先连接后筛选。这一点就已经决定了WHERE比HAVING更高效。因为WHERE可以先筛选,用一个筛选后的较小数据集和关联表进行连接,这样占用的资源比较少,执行效率也比较高。HAVING则需要先把结果集准备好,也就是用没有被筛选的数据集进行关联,然后对这个大的数据集进行筛选,占用资源多,效率低。
  • WHERE可以直接把表中的字段作为筛选条件,但是不能使用分组中的计算函数作为筛选条件。HAVING必须要和GROUP BY配合使用,可以把分组计算的函数和分组字段作为筛选条件。
  • 因此这也决定了HAVING可以完成WHERE不可能完成的任务。因为在查询语法结构中,WHERE在GROUP BY之前,所以无法对分组结果进行筛选。HAVING在GROUP BY之后,可以使用分组字段和分组中的计算函数,对分组的结果集进行筛选。

解释一下EXPLAIN之后的字段

  • type=range:使用索引查询特定范围的数据记录
  • rows=5411:表示需要读取的记录数
  • possible_keys=index_trans:表示可以选择的索引是index_trans
  • key=index_trans:表示实际选择的索引是index_trans
  • extra=Using index condition;Using where;Using MRR;这里面的信息对SQL语句的执行细节做了进一步解释,包含了3层含义:
    • 执行时使用了索引
    • 执行时通过WHERE条件进行了筛选
    • 使用了顺序磁盘读取的策略

临时表:

临时表是一种特殊的表,用来存储查询的中间结果,并且会随着当前连接的结果而自动删除。MySQL中两种连接表,分别是内部临时表和外部临时表

  • 内部临时表主要用于性能优化,由系统自动产生,我们无法看到
  • 外部临时表通过SQL语句创建,我们可以使用
CREATE TEMPORARY TABLE 表名
(字段名 字段类型,...
);
  • 临时表创建的时候需要加上格外的TEMPORARY字段
  • 临时表创建完成之后,只有当前连接可见,其他连接是不可见的,具有连接隔离性。
  • 临时表在当前连接结束之后,会被自动删除。

内存临时表和磁盘临时表:

内存临时表:

CREATE TEMPORARY TABLE demo.mytrans
(itemnumber int,groupnumber int,branchnumber int
) ENGINE = MEMORY; (临时表存在内存中)

磁盘临时表:

CREATE TEMPORARY TABLE demo.mytrans
(itemnumber int,groupnumber int,branchnumber int
);

内存临时表如果断电的话数据就全部消失了。

高并发系统不建议使用!!!

视图

视图:如何简化查询?

创建视图:

CREATE [OR REPLACE]
VIEW 视图名称 [(字段列表)]
AS 查询语句
  • 子查询:嵌套在另一个查询中的查询。
  • 派生表:如果我们在查询中把子查询的结果作为一共表来使用,这个表就是派生表

查询的具体步骤是:

  • 通过子查询获得单品销售统计的查询结果
  • 把第一步中的查询结果作为一个派生表,跟历史库存表进行连接,查询获得包括销售日期,商品名称,销售数量和历史库存数量在内的最终结果。

使用视图的查询语句明显简单多了,可读性更好,也更容易维护

如果操作视图和视图中的数据?

修改视图:

ALTER VIEW 视图名
AS 查询语句;

查看视图:

DESCRIBE 视图名

删除视图要使用DROP关键字:

DROP VIEW 视图名

视图的优缺点

优点:

  • 因为我们可以把视图当作一张表来进行查询,所以在使用视图的时候,我们不用考虑视图本身是如何获取数据的,里面有什么逻辑,包括了多少张表,有哪些关联操作,而是可以直接使用。这样一来,实际上就把查询模块化了,查询变的简单,提高了开发和维护的效率。所以你可以把那些经常会用到的查询和复杂的子查询定义成视图,存储到数据库中,这样可以为你以后的使用提供方便。

  • 视图跟实际数据不一样,它是存储查询语句。所以在使用的时候,我们要通过定义视图的查询语句来获取结果集。而视图本身不存储数据,不占用数据存储的资源。

  • 视图具有隔离性。视图相当于在用户和实际的数据表之间加了一层虚拟表。也就是说用户不需要查询数据表,可以直接通过视图获取数据表中的信息。这样不仅提高了数据表的安全性,同时也通过视图把用户实际需要的信息汇总在了一起,查询起来很轻松。

在这里插入图片描述

  • 视图的数据结构相对独立,即便实际数据表的结构发生变换,我们也可以通过修改定义视图的查询语句,让查询结果集里面的字段保持不变。

我们举一个例子让大家理解:

假设我们有一个实际的数据表(demo.goodsmaster),包括商品编号、条码、名称、规格和售价等信息:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

缺点:

  • 数据表的更变,需要及时对视图进行维护,特别当视图是由视图生成的时候,维护会变的非常复杂。

MySQL日志

系统出现问题,应该如何及时发现?

我们应该马上看MySQL的日志

通用查询日志

通用查询日志记录了所有用户的连接开始时间以及截止时间,以及发给MySQL数据库服务器的所有SQL指令。

mysql> SHOW VARIABLES LIKE '%general%';
+------------------+---------------------+
| Variable_name    | Value               |
+------------------+---------------------+
| general_log      | OFF -- 通用查询日志处于关闭状态                 
| general_log_file | LAPTOP-7IL73D6I.log -- 通用查询日志的名称
+------------------+---------------------+
2 rows in set, 1 warning (0.00 sec)

默认是关闭,因为一旦开启通用查询日志,MySQL会记录所有的连接起止和相关的SQL操作,这样会消耗系统资源并且占用磁盘空间。

开启通用查询日志

set GLOBAL general_log = 'ON';set @@global.general_log_file = 'D:\Lxy';

慢查询日志

慢查询日志用来记录执行时间超过指定时长的查询。它的作用是帮助我们发现那些执行时间特别长的SQL查询,并且有针对性的进行优化,从而提高系统的整体效率。当我们的数据库发生阻塞,运行变慢的时候,检查一下慢查询日志,找到那些慢查询,对解决问题很有帮助。

slow_query_log=1 -- 表示开启慢查询日志,系统将会对慢查询进行记录
slow_query_log_file="GJTECH-PC-slow.log"; -- 表示慢查询日志的名称
long_query_time=10 -- 表示慢查询的标准是查询执行时间超过10秒min_exmined_row_limit=0 -- 表示扫描过的记录大于等于这个变量的值就算慢查询

错误日志:

错误日志中记录了MySQL服务器启动,停止运行的时间,以及系统自动启动,运行和停止过程中的诊断信息,包含错误,警告和提示等。当我们的数据库服务器发生系统故障的时候,错误日志是首选。

log-error="GJTECH-PC.err"

二进制日志

二进制日志主要数据库的更新事件。比如创建数据库表,更新表中的数据,数据更新所花费的时长等信息。通过这些信息,我们可以再先数据更新的全过程。是数据恢复和数据复制的利器。

如何操作二进制日志?

查看二进制日志主要有3种情况,分别是查看当前正在写入的二进制日志查看所有的二进制日志查看二进制日志种的所有数据更新事件

查看正在写入的二进制日志的SQL语句是:

SHOW MASTER STATUS;

查看所有的二进制文件:

SHOW BINARY LOGS

查看二进制日志中所有数据更新事件的SQL语句:

SHOW BINLOG EVENTS IN 二进制文件名

刷新二进制日志:

FLUSH BINARY LOGS

这条语句的意思是:关闭服务器正在写入的二进制日志文件,并重新打开一个新文件,文件的后缀名在现有的基础上加1.

中继日志

中继日志只是主从服务器架构存在。

回滚日志

进行事物回滚。

这些日志太过重要,我们到时候会单独进行讲解。

范式

范式:如何消除冗余和高效存储?

  • 第一范式:所有字段都是基本数据字段,不可以进一步拆分
  • 第二范式:在满足第一范式的基础上,还要满足数据表里面的每一条记录,都是可唯一标识的。而且所有字段都必须完全依赖主键,不能只依赖主键的一部分。
  • 在满足第二范式的基础上,数据表中不能存在可以被其他非主键字段派生出来的字段,或者说,不能存在依赖于非主键字段的字段。

设计表原则

表太大了,如何设计才能提高性能?

  1. 数据类型优化

    • 优化字段的数据类型。

      • 对整数类型数据进行优化

      • 既可以使用文本类型也可以使用整数类型的字段,要使用整数类型而不是文本类型。

  2. 合理增加冗余字段以提高效率

  3. 拆分表

  4. 尽量使用非空约束。

    1. 可以节省一个比特位,并且省去判断是否为空的逻辑。
    2. 开发时会如果提交给数据库的数据不符合数据库的条件,则会报错。保证开发时不会忽略掉该做的一些非空判断等
    3. 客户保证逻辑正确
    4. 安全,防止sql注入

相关文章:

阅读MySQL必知必会,查缺补漏

MySQL自带数据库 information_schema&#xff1a;是MySQL自带的数据库&#xff0c;主要保持MySQL数据库服务器的系统信息&#xff0c;比如数据库的名称&#xff0c;数据库表的名称&#xff0c;字段名称&#xff0c;存储权限等。 performance_schema&#xff1a;是MySQL系统自…...

MySQL数据库10——多表连接查询

数据如果在多个表里面&#xff0c;需要进行连接查询。 一般在pandas里面merge合并会用到一个索引&#xff0c;按这个索引的规则进行合并叫做有规则的等值连接。若不按规则连接&#xff0c;遍历两两组合的所有可能性&#xff0c;叫做笛卡尔积。 笛卡尔积连接 通常人们都会设置…...

华为OD机试 - 括号检查(Python)| 真题含思路

括号检查 题目 现有一字符串 仅由 (,),{,},[,] 六种括号组成,若字符串满足以下条件之一,则为无效字符串 任意类型的左右括号数量不相等 存在未按正确顺序(先左后右)闭合的括号, 输出括号的最大嵌套深度 若字符串无效则输出 0 0 <= 字符串长度 <= 100000 输入 一个只…...

安全渗透测试中的一款免费开源的超级关键词URL采集工具

安全渗透测试中的一款免费开源的超级关键词URL采集工具。 #################### 免责声明&#xff1a;工具本身并无好坏&#xff0c;希望大家以遵守《网络安全法》相关法律为前提来使用该工具&#xff0c;支持研究学习&#xff0c;切勿用于非法犯罪活动&#xff0c;对于恶意使…...

数据资产管理实践白皮书(6.0版)解读

目录 第一章数据资产管理概述 ( 一 ) 数据资产管理和数据要素的关系...

c/c++开发,无可避免的函数指针使用案例

一、函数指针简介 函数指针是指指向函数而非指向对象的指针。像其他指针一样&#xff0c;函数指针也指向某个特定的类型。函数类型由其返回类型以及形参表确定&#xff0c;而与函数名无关。例如&#xff1a; char* (*pf1)(char * p1,char *p2); 这是一个函数指针&#xff0c;其…...

QT(12)-QThreadPool

1 简介 QThreadPool是Qt框架中的一个类&#xff0c;提供了一组工作线程池。该线程池自动管理一组工作线程&#xff0c;在线程可用时分配任务。使用线程池的主要优点是&#xff0c;它可以减少创建和销毁线程的开销&#xff0c;因为可以重复使用线程。 线程池设计用于场景中&am…...

【Java|golang】1138. 字母板上的路径

我们从一块字母板上的位置 (0, 0) 出发&#xff0c;该坐标对应的字符为 board[0][0]。 在本题里&#xff0c;字母板为board [“abcde”, “fghij”, “klmno”, “pqrst”, “uvwxy”, “z”]&#xff0c;如下所示。 我们可以按下面的指令规则行动&#xff1a; 如果方格存…...

Flink 1.14从简单到源码第三讲

文章目录 1.flink多流操作Api1.1split 分流操作1.2.侧输出流1.3.connect 连接操作1.4.union 操作1.5 coGroup 协同分组1.6 join1.7 broadcast 广播2.process3.并行度和Api3.1 任务提交简单流程3.2 task与算子链4. Flink 时间相关(窗口计算)4.1时间语义(窗口计算)4.2 新版api指定…...

淘宝API接口系列,获取购买到的商品订单列表,卖出的商品订单列表,订单详情,订单物流,买家信息,收货地址列表,买家token

custom自定义API操作buyer_order_list获取购买到的商品订单列表buyer_order_detail获取购买到的商品订单详情buyer_order_express获取购买到的商品订单物流buyer_address_list收货地址列表buyer_address_add添加收货地址buyer_info买家信息buyer_token买家tokenseller_order_li…...

ucos-ii 的任务调度原理和实现

ucosii 任务调度和原理1、ucos-ii 任务创建与任务调度 1.1、任务的创建 当你调用 OSTaskCreate( ) 进行任务的创建的时候&#xff0c;会初始化任务的堆栈、保存cpu的寄存器、创建任务的控制块&#xff08;OS_TCB&#xff09;等的操作&#xff1b; if (OSTCBPrioTbl[prio] (OS_…...

Solon2 开发之容器,七、切面与函数环绕拦截

想要环绕拦截一个 Bean 的函数。需要三个前置条件&#xff1a; 通过注解做为“切点”&#xff0c;进行拦截&#xff08;不能无缘无故给拦了吧&#xff1f;费性能&#xff09;Bean 的 method 是被代理的在 Bean 被扫描之前&#xff0c;完成环绕拦截的注册 1、定义切点和注册环…...

代码随想录第十天(28)

文章目录28. 找出字符串中第一个匹配项的下标看答案KMPnext数组&#xff08;前缀表&#xff09;最长公共前后缀如何计算前缀表前缀表与next数组时间复杂度分析28. 找出字符串中第一个匹配项的下标 莫得思路……好久没做题&#xff0c;都已经忘得差不多了 看答案 其实就是自己…...

循环队列来了解一下!!

笔者在之前的一篇文章&#xff0c;详细的介绍了&#xff1a;队列之单向链表与双向链表的模拟实现&#xff1a;https://blog.csdn.net/weixin_64308540/article/details/128742090?spm1001.2014.3001.5502 感兴趣的各位老铁&#xff0c;可以参考一下啦&#xff01;下面进入循环…...

Idea打包springboot项目war包,测试通过

pom.xml文件 <!--包名以及版本号&#xff0c;这个是打包时候使用&#xff0c;版本可写可不写&#xff0c;建议写有利于维护系统--> <artifactId>tsgdemo</artifactId> <version>0.0.1-SNAPSHOT</version> <!--打包形式--> <packaging&…...

python+django高校师生健康信息管理系统pycharm

管理员功能模块 4.1登录页面 管理员登录&#xff0c;通过填写注册时输入的用户名、密码、角色进行登录&#xff0c;如图所示。 4.2系统首页 管理员登录进入师生健康信息管理系统可以查看个人中心、学生管理、教师管理、数据收集管理、问卷分类管理、疫情问卷管理、问卷调查管理…...

CUDA中的流序内存分配

文章目录CUDA中的流序内存分配1. Introduction2. Query for Support3. API Fundamentals (cudaMallocAsync and cudaFreeAsync)4. Memory Pools and the cudaMemPool_t注意&#xff1a;设备的内存池当前将是该设备的本地。因此&#xff0c;在不指定内存池的情况下进行分配将始终…...

开源、低成本的 Xilinx FPGA 下载器(高速30MHz)

目前主流的Xilinx下载器主要有两种&#xff1a;一种是Xilinx官方出品的Xilinx Platfom Cable USB&#xff0c;还有一个就是Xilinx的合作伙伴Digilent开发的JTAG-HS3 Programming Cable。 JTAG-HS系列最大支持30MHz下载速度&#xff0c;基于FTDI的FT2232方案。 JTAG-HS系列对比…...

Maven专题总结

1. 什么是Maven Maven 是一个项目管理工具&#xff0c;它包含了一个项目对象模型 (POM&#xff1a; Project Object Model)&#xff0c;一组标准集合&#xff0c;一个项目生命周期(Project Lifecycle)&#xff0c;一个依赖管理系统(Dependency Management System)&#xff0c;和…...

谷粒商城--SPU和SKU

目录 1.SPU和SKU概念 2.表的关系理解 3.导入前端代码 4.完善后端接口 5.属性分组详情 6.规格参数详情 7. 销售属性详情 8.分组与属性关联 9.发布商品 10.仓库服务 1.SPU和SKU概念 SPU&#xff1a;standard product unit(标准化产品单元)&#xff1a;是商品信息聚合的…...

二叉树OJ题(上)

✅每日一练&#xff1a;100. 相同的树 - 力扣&#xff08;LeetCode&#xff09; 题目的意思是俩棵树的结构不仅要相同&#xff0c;而且每个节点的值还要相同&#xff0c;如果满足上面2个条件&#xff0c;则成立&#xff01; 解题思路&#xff1a; 从三个方面去考虑&#xff1…...

第一章 PDF语法

第一章 PDF语法PDF ObjectsNull ObjectsBoolean ObjectsNumeric ObjectsName ObjectsString ObjectsArray ObjectsDictionary ObjectsName treesNumber treesStream ObjectsDirect versus Indirect ObjectsFile StructureWhite-SpaceThe Four Sections of a PDFHeaderTrailerBo…...

IntelliJ IDEA 创建JavaFX项目运行

IntelliJ IDEA 创建JavaFX项目运行JavaFX官网文档&#xff1a;https://openjfx.io/openjfx-docs/ JavaFX 2008年12月05日诞生&#xff0c;是一个开源的下一代客户端应用程序平台&#xff0c;适用于基于 Java 构建的桌面、移动和嵌入式系统。这是许多个人和公司的协作努力&#…...

IC封装常见形式

参考&#xff1a;https://blog.csdn.net/dhs888888/article/details/127673300?utm_mediumdistribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-127673300-blog-115610343.pc_relevant_multi_platform_whitelistv4&spm1001.2101.3001.4242…...

Linux通配符、转义符讲解

目录 通配符 通过通配符定义匹配条件 转义符 将所有的逻辑操作符都转换成字符 通配符 通过通配符定义匹配条件 * 任意字符都可以通配&#xff08;也可以匹配空值&#xff09; &#xff1f; 匹配单个字符 [a-z] 匹配单个的小写英文字母 [A-Z] 匹配单个的大写英文…...

[OpenMMLab]提交pr时所需的git操作

git开发流程 准备工作 作为一个开发者&#xff0c;fork一个仓库之后应该先做什么&#xff1f; 1、下载仓库&#xff0c;创建上游代码库&#xff0c;查看当前的分支情况 git clone https://github.com/<your_name>/<repo_name>.git git remote add upstream git…...

pandas——groupby操作

Pandas——groupby操作 文章目录Pandas——groupby操作一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤一、实验目的 熟练掌握pandas中的groupby操作 二、实验原理 groupby(byNone, axis0, levelNone, as_indexTrue, sortTrue, group_keysTrue, squeezeFalse&…...

webpack.config.js哪里找?react项目关闭eslint监测

目录 webpack.config.js哪里找&#xff1f; react项目关闭eslint监测 webpack.config.js哪里找&#xff1f; 在React项目中&#xff0c;当我们需要修改一些配置时&#xff0c;发现找不到webpack.config.js&#xff0c;是我们创建的项目有问题吗&#xff0c;还需新创建项目的项…...

OpenCV 图像梯度算子

本文是OpenCV图像视觉入门之路的第12篇文章&#xff0c;本文详细的介绍了图像梯度算子的各种操作&#xff0c;例如&#xff1a;Sobel算子Scharr算子laplacian算子等操作。 OpenCV 图像梯度算子目录 1 Sobel算子 2 Scharr算子 3 laplacian算子 1 Sobel算子 Sobel算子是一种图…...

Linux c编程之Wireshark

Wireshark是一个网络报文分析软件,是网络应用问题分析必不可少的工具软件。网络管理员可以使用wireshark排查网络问题。程序开发人员可以用来分析应用协议、定位分析应用问题。无论是网络应用程序开发人员、测试人员、部署人员、技术支持人员,掌握wireshark的使用对于分析网络…...

wordpress 做网站/上海网络营销上海网络推广

ACPI包括很多功能&#xff0c;电源管理是其功能之一&#xff0c;具体的ACPI的介绍可以参考ACPI的技术文档。Linux中利用模块机制&#xff0c;实现ACPI对电源的管理&#xff1a;static struct cpufreq_driver acpi_cpufreq_driver {.verify acpi_cpufreq_verify,.target acpi_c…...

视频网站设计论文/利用搜索引擎营销成功的案例

在Word文档中&#xff0c;对于有多条并列的信息内容或者段落时&#xff0c;我们常以添加项目标号的形式来使文档条理化&#xff0c;在阅读时&#xff0c;文档也更具美观性。另外&#xff0c;对于在逻辑上存在一定层级结构的内容时&#xff0c;也可以通过多级编号列表来标明文档…...

怎样做个人网站/站长之家网站

如下所示&#xff1a;package exercise03_jdknews;import java.util.Arrays;import java.util.Scanner;import java.util.Vector;/*** 键盘录入多个数据&#xff0c;以0结束&#xff0c;要求在控制台输出这多个数据中的最大值* author lgt**/public class MaxNuber {public sta…...

零基础网站建设教学服务/免费入驻的卖货平台

以下讨论的属性无论大小&#xff0c;收缩或者伸展&#xff0c;均是按照flex conntainer的主轴方向说的。 flex-grow: 是否允许flex item在多余空间内伸展。默认为0, 即不允许伸展。 flex-shrink: 是否允许flex item在flex container宽度收缩时自动收缩。默认为1&#xff0c;即允…...

临沂网站优化哪家好/产品质量推广营销语

"whats" 是 "what is" 的缩写,表示"什么是"的意思,常用来询问对方关于某些事物的细节或信息。例如: "Whats your name?" (你叫什么名字?)...

中国建设银行网站怎么改支付密码是什么/优化网站排名的方法

cctype 头文件所包含的函数主要用来测试字符值&#xff0c;以下是随便找的一个表&#xff0c;但是对于初学者来说&#xff0c;怎么用呢&#xff0c;自己上机操作解决&#xff0c;后两个返回的是int型&#xff0c;确实很意外&#xff0c;强制转换一下&#xff0c;很简单。 isaln…...