mysqld:表mysql.plugin不存在_99%测试工程师不知道的数据库知识|干货

点击上方“蓝字”关注我们

8113e46f5f3c001d246a1a755b209189.png

5008d69c8221e51337813bccbe16be0a.png

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

5008d69c8221e51337813bccbe16be0a.png

c28d8cf105bd71d1b376b08f88ad1720.png

关系数据库

MySQL

MariaDB(MySQL的代替品,英文维基百科从MySQL转向MariaDB)

Percona Server(MySQL的代替品·)

PostgreSQL

Microsoft Access

Microsoft SQL Server

Google Fusion Tables

FileMaker

Oracle数据库

Sybase

dBASE

Clipper

FoxPro

foshub

几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。

非关系型数据库(NoSQL)

主条目:NoSQL

BigTable(Google)

Cassandra

MongoDB

CouchDB

键值(key-value)数据库

Apache Cassandra(为Facebook所使用):高度可扩展

Dynamo

LevelDB(Google)

数据库模型

对象模型

层次模型(轻量级数据访问协议)

网状模型(大型数据储存)

关系模型

面向对象模型

半结构化模型

平面模型(表格模型,一般在形式上是一个二维数组。如表格模型数据Excel)

架构

数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。

8113e46f5f3c001d246a1a755b209189.png5008d69c8221e51337813bccbe16be0a.png

数据库管理系统(DBMS)是为管理数据库而设计的计算机软件系统,一般具有存储、截取、安全保障、备份等基础功能,目前主流的数据库管理系统有:Oracle、MySQL、SQL Server、DB2和Sybase。下面给大家介绍一下这几款主流的数据库以及它们之间的区别。

5008d69c8221e51337813bccbe16be0a.png一、Oracle

Oracle数据库是甲骨文公司推出的一款关系数据库管理系统,是当前数据库领域最有名、应用最广泛的数据库管理系统之一,Oracle产品覆盖了大、中、小型机等几十种机型。

Oracle数据库具有以下特点:

1、Oracle数据库可运行于大部分硬件平台与操作系统上。

2、Oracle能与多种通讯网络相连,支持多种网络协议。

3、Oracle的操作较为复杂,对数据库管理人员要求较高。

4、Oracle具有良好的兼容性、可移植性、可连接性和高生产率。

5、Oracle的安全性非常高,安全可靠。

二、MySQL

MySQL也是一款关系型数据库管理系统,由MySQL AB 公司开发,目前属于 Oracle 旗下产品,MySQL 是最流行的关系型数据库管理系统之一。MySQL也是一款开源的SQL数据库管理系统,是众多小型网站作为网站数据库的选择。

首先概览下mysql的知识体系:

基础:

sql语句

表结构设计

调优:

索引、慢查询优化

配置参数调优

核心原理:

InnoDb存储引擎 (包括隔离级别、事务、锁、缓存池、回滚日志等等)

Mysqld  (包括连接管理、进程管理、查询缓存、查询优化、日志等等)

架构与运维:

用户与权限、安全

备份与恢复

日志

分布式与高可用

2ecad7c5cc926b21b51467f400eddd09.png

MySQL数据库具有以下特点:

1、MySQL是开源的,可供用户免费使用。

2、MySQL支持多线程,充分利用CPU资源。

3、MySQL对 PHP有很好的支持,PHP是比较流行的 Web 开发语言,搭配 PHP 和 Apache 可组成良好的开发环境。

4、MySQL提供TCP/IP、ODBC和JDBC等多种数据库连接途径。

三、SQL Server

SQL Server是美国微软公司推出的一款关系型数据库管理系统,是一款可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。

SQL Server数据库具有以下特点:

1、SQL Server采用图形界面,操作简单,管理方便。

2、SQL Server开放性不足,只能在Windows平台上运行。

3、SQL Server可以用ADO,DAO,OLEDB,ODBC连接。

4、SQL Server是几大需要收费的主流数据库中收费最低的,维护费用也较低。

5、SQL Server具有强壮的事务处理功能,采用各种方法保证数据的完整性。

SQL包括了所有对数据库的操作,主要是由4个部分组成:

1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。

2.数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。

3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。

4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。

下面我们将分别介绍:

数据定义

SQL数据定义功能包括定义数据库、基本表、索引和视图。

a0f97cb92244fe9bb86ec5942a1341e0.png

首先,让我们了解一下SQL所提供的基本数据类型:(如^00100009b^)

1.数据库的建立与删除

(1)建立数据库:数据库是一个包括了多个基本表的数据集,其语句格式为:

CREATE DATABASE 〔其它参数〕

其中,在系统中必须是唯一的,不能重复,不然将导致数据存取失误。〔其它参数〕因具体数据库实现系统不同而异。

例:要建立项目管理数据库(xmmanage),其语句应为:

CREATE DATABASE xmmanage

(2)数据库的删除:将数据库及其全部内容从系统中删除。

其语句格式为:DROP DATABASE

例:删除项目管理数据库(xmmanage),其语句应为:DROP DATABASE xmmanage

2.基本表的定义及变更

本身独立存在的表称为基本表,在SQL语言中一个关系唯一对应一个基本表。基本表的定义指建立基本关系模式,而变更则是指对数据库中已存在的基本表进行删除与修改。

数据查询

SQL是一种查询功能很强的语言,只要是数据库存在的数据,总能通过适当的方法将它从数据库中查找出来。SQL中的查询语句只有一个:SELECT,它可与其它语句配合完成所有的查询功能。SELECT语句的完整语法,可以有6个子句。完整的语法如下:
  SELECT 目标表的列名或列表达式集合
  FROM 基本表或(和)视图集合
  〔WHERE条件表达式〕
  〔GROUP BY列名集合
  〔HAVING组条件表达式〕〕
  〔ORDER BY列名〔集合〕…〕

简单查询,使用TOP子句

查询结果排序order by

带条件的查询where,使用算术表达式,使用逻辑表达式,使用between关键字,使用in关键字,

模糊查询like

整个语句的语义如下:从FROM子句中列出的表中,选择满足WHERE子句中给出的条件表达式的元组,然后按GROUPBY子句(分组子句)中指定列的值分组,再提取满足HAVING子句中组条件表达式的那些组,按SELECT子句给出的列名或列表达式求值输出。ORDER子句(排序子句)是对输出的目标表进行重新排序,并可附加说明ASC(升序)或DESC(降序)排列。
  在WHERE子句中的条件表达式F中可出现下列操作符和运算函数:
  算术比较运算符:,>=,=,<>。
  逻辑运算符:AND,OR,NOT。
  集合运算符:UNION(并),INTERSECT(交),EXCEPT(差)。
  集合成员资格运算符:IN,NOT IN
  谓词:EXISTS(存在量词),ALL,SOME,UNIQUE。
  聚合函数:AVG(平均值),MIN(最小值),MAX(最大值),SUM(和),COUNT(计数)。
  F中运算对象还可以是另一个SELECT语句,即SELECT语句可以嵌套。
  上面只是列出了WHERE子句中可出现的几种主要操作,由于WHERE子句中的条件表达式可以很复杂,因此SELECT句型能表达的语义远比其数学原形要复杂得多。
  下面,我们以上面所建立的三个基本表为例,演示一下SELECT的应用:
  1.无条件查询
  例:找出所有学生的的选课情况
  SELECT st_no,su_no
  FROM score
  例:找出所有学生的情况
  SELECT*
  FROM student
  “*”为通配符,表示查找FROM中所指出关系的所有属性的值。
  2.条件查询
  条件查询即带有WHERE子句的查询,所要查询的对象必须满足WHERE子句给出的条件。
  例:找出任何一门课成绩在70以上的学生情况、课号及分数
  SELECT UNIQUE student.st_class,student.st_no,student.st_name,student.st_sex,student.st_age,score.su_no,score.score
  FROM student,score
  WHERE score.score>=70 AND score.stno=student,st_no
  这里使用UNIQUE是不从查询结果集中去掉重复行,如果使用DISTINCT则会去掉重复行。另外逻辑运算符的优先顺序为NOT→AND→OR。
  例:找出课程号为c02的,考试成绩不及格的学生
  SELECT st_no
  FROM score
  WHERE su_no=‘c02’AND score<60
  3.排序查询
  排序查询是指将查询结果按指定属性的升序(ASC)或降序(DESC)排列,由ORDER BY子句指明。
  例:查找不及格的课程,并将结果按课程号从大到小排列
  SELECT UNIQUE su_no
  FROM score
  WHERE score<60
  ORDER BY su_no DESC
  4.嵌套查询
  嵌套查询是指WHERE子句中又包含SELECT子句,它用于较复杂的跨多个基本表查询的情况。
  例:查找课程编号为c03且课程成绩在80分以上的学生的学号、姓名
  SELECT st_no,st_name
  FROM student
  WHERE stno IN (SELECT st_no
  FROM score
  WHERE su_no=‘c03’ AND score>80 )
  这里需要明确的是:当查询涉及多个基本表时用嵌套查询逐次求解层次分明,具有结构程序设计特点。在嵌套查询中,IN是常用到的谓词。若用户能确切知道内层查询返回的是单值,那么也可用算术比较运算符表示用户的要求。
  5.计算查询
  计算查询是指通过系统提供的特定函数(聚合函数)在语句中的直接使用而获得某些只有经过计算才能得到的结果。常用的函数有:
  COUNT(*) 计算元组的个数
  COUNT(列名) 对某一列中的值计算个数
  SUM(列名) 求某一列值的总和(此列值是数值型)
  AVG(列名) 求某一列值的平均值(此列值是数值型)
  MAX(列名) 求某一列值中的最大值
  MIN(列名) 求某一列值中的最小值
  例:求男学生的总人数和平均年龄
  SELECT COUNT(*),AVG(st_age)
  FROM student
  WHERE st_sex=‘男’
  例:统计选修了课程的学生的人数
  SELECT COUNT(DISTINCT st_no)
  FROM score
  注意:这里一定要加入DISTINCT,因为有的学生可能选修了多门课程,但统计时只能按1人统计,所以要使用DISTINCT进行过滤。

数据更新

数据更新包括数据插入、删除和修改操作。它们分别由INSERT语句,DELETE语句及UPDATE语句完成。这些操作都可在任何基本表上进行,但在视图上有所限制。其中,当视图是由单个基本表导出时,可进行插入和修改操作,但不能进行删除操作;当视图是从多个基本表中导出时,上述三种操作都不能进行。
  1.数据插入
  将数据插入SQL的基本表有两种方式:一种是单元组的插入,另一种是多元组的插入。
  单元组的插入:向基本表score中插入一个成绩元组(100002,c02,95),可使用以下语句:
  INSERT INTO score(st_no,su_no,score) VALUES(‘100002’,‘c02’,95)
  由此,可以给出单元组的插入语句格式:
  INSERT INTO表名(列名1〔,列名2〕…) VALUES(列值1〔,列值2〕…)
  其中,列名序列为要插入值的列名集合,列值序列为要插入的对应值。若插入的是一个表的全部列值,则列名可以省略不写如上面的(st_no,su_no,score)可以省去;若插入的是表的部分列值,则必须列出相应列名,此时,该关系中未列出的列名取空值。
  多元组的插入:这是一种把SELECT语句查询结果插入到某个已知的基本表中的方法。
  例如:需要在表score中求出每个学生的平均成绩,并保留在某个表中。此时可以先创建一个新的基本表stu_avggrade,再用INSERT语句把表score中求得的每一个学生的平均成绩(用SELECT求得)插入至stu_avggrade中。
  CREATE TABLE stu_avggrade
  (st_no CHAR(10) NOT NULL,//定义列st_no学号,类型为10位定长字符串,非空
  age_grade SMALLINT NOT NULL )// 定义列age_grade平均分,类型为短整形,非空
  INSERT INTO stu_avggrade(st_no,age_grade)
  SELECT st_no,AVG(score)
  FROM score
  GROUP BY st_no //因为要求每一个学生所有课程的平均成绩,必须按学号分组进行计算。
  2.数据删除
  SQL的删除操作是指从基本表中删除满足WHERE的记录。如果没有WHERE子句,则删除表中全部记录,但表结构依然存在。其语句格式为:
  DELETE FROM表名〔WHERE 条件表达式〕
  下面举例说明:
  单元组的删除:把学号为100002的学生从表student中删除,可用以下语句:

DELETE FROM student
  WHERE st_no=‘100002’//因为学号为100002的学生在表student中只有一个,所以为单元组的删除
  多元组的删除:学号为100002的成绩从表score中删除,可用以下语句:
  DELETE FROM score
  WHERE st_no=‘100002’//由于学号为100002的元组在表score中可能有多个,所以为多元组删除
  带有子查询的删除操作:删除所有不及格的学生记录,可用以下语句
  DELETE FROM student
  WHERE st_no IN
  (SELETE st_no
  FROM score
  WHERE score<60)
  3.数据修改
  修改语句是按SET子句中的表达式,在指定表中修改满足条件表达式的记录的相应列值。其语句格式如下:
  UPDATE 表名 SET 列名=列改变值〔WHERE 条件表达式〕
  例:把c02的课程名改为英语,可以用下列语句:
  UPDATE subject
  SET su_subject=‘英语’
  WHERE su_no=‘c02’
  例:将课程成绩达到70分的学生成绩,再提高10%
  UPDATE score
  SET score=1.1*score
  WHERE score>=70
  SQL的删除语句和修改语句中的WHERE子句用法与SELECT中WHERE子句用法相同。数据的删除和修改操作,实际上要先做SELECT查询操作,然后再把找到的元组删除或修改。

数据控制

由于数据库管理系统是一个多用户系统,为了控制用户对数据的存取权利,保持数据的共享及完全性,SQL语言提供了一系列的数据控制功能。其中,主要包括安全性控制、完整性控制、事务控制和并发控制。
  1.安全性控制
  数据的安全性是指保护数据库,以防非法使用造成数据泄露和破坏。保证数据安全性的主要方法是通过对数据库存取权力的控制来防止非法使用数据库中的数据。即限定不同用户操作不同的数据对象的权限。
  存取权控制包括权力的授予、检查和撤消。权力授予和撤消命令由数据库管理员或特定应用人员使用。系统在对数据库操作前,先核实相应用户是否有权在相应数据上进行所要求的操作。
  (1)权力授予:权力授有数据库管理员专用的授权和用户可用的授权两种形式。数据库管理员专用授权命令格式如下:
  |CONNECT |
  GRANT|RESOURCE|TO 用户名〔IDENTIFED BY 口令〕
  |DBA |
  其中,CONNECT表示数据库管理员允许指定的用户具有连接到数据库的权力,这种授权是针对新用户;RESOURCE表示允许用户建立自己的新关系模式,用户获得CONNECT权力后,必须获得RESOURCE权力才能创建自己的新表;DBA表示数据库管理员将自己的特权授予指定的用户。若要同时授予某用户上述三种授权中的多种权力,则必须通过三个相应的GRANT命令指定。
  另外,具有CONNECT和RESOURCE授权的用户可以建立自己的表,并在自己建立的表和视图上具有查询、插入、修改和删除的权力。但通常不能使用其他用户的关系,除非能获得其他用户转授给他的相应权力。
  例:若允许用户SSE连接到数据库并可以建立他自己的关系,则可通过如下命令授予权力:
  GRANT CONNECT TO SSE IDENTIFIED BY BD1928
  GRANT RESOURCE TO SSE
  用户可用的授权是指用户将自己拥有的部分或全部权力转授给其他用户的命令形式,其命令格式如下:
  |SELECT |
  |INSERT |
  |DELETE |
  GRANT|UPDATE(列名1[,列名2]…)|ON|表名 |TO|用户名|〔WITH GRANT OPTION〕
  |ALTER | |视图名| |PUBLIC|
  |NDEX |
  |ALL |
  若对某一用户同时授予多种操作权力,则操作命令符号可用“,”相隔。
  PUBLIC 表示将权力授予数据库的所有用户,使用时要注意:
  任选项WITH GRANT OPTION表示接到授权的用户,具有将其所得到的同时权力再转授给其他用户权力。
  例:如果将表student的查询权授予所有用户,可使用以下命令:
  GRANT SELECT ON student TO PUBLIC
  例:若将表subject的插入及修改权力授予用户SSE并使得他具有将这种权力转授他人的权力,则可使用以下命令:
  GRANT INSERT,UPDATE(su_subject) ON subject TO SSE WITH GRANT OPTION
  这里,UPDATE后面跟su_subject是指出其所能修改的列。
  (2)权力回收:权力回收是指回收指定用户原已授予的某些权力。与权力授予命令相匹配,权力回收也有数据库管理员专用和用户可用的两种形式。
  DBA专用的权力回收命令格式为:
  |CONNECT |
  REVOKE|RESOURCE|FROM用户名
  |DBA |

用户可用的权力回收命令格式为:
  |SELECT |
  |INSERT |
  |DELETE |
  REVOKE|UPDATE(列名1〔,列名2〕…) |ON|表名 |FROM |用户名|
  |ALTER | |视图名| |PUBLIC|
  |INDEX |
  |ALL |
  例:回收用户SSE的DBA权力:
  REVOKE DBA FROM SSE
  2.完整性控制
  数据库的完整性是指数据的正确性和相容性,这是数据库理论中的重要概念。完整性控制的主要目的是防止语义上不正确的数据进入数据库。关系系统中的完整性约束条件包括实体完整性、参照完整性和用户定义完整性。而完整性约束条件的定义主要是通过CREATE TABLE语句中的〔CHECK〕子句来完成。另外,还有一些辅助命令可以进行数据完整性保护。如UNIQUE和NOT NULL,前者用于防止重复值进入数据库,后者用于防止空值。
  3.事务控制
  事务是并发控制的基本单位,也是恢复的基本单位。在SQL中支持事务的概念。所谓事务,是用户定义的一个操作序列(集合),这些操作要么都做,要么一个都不做,是一个不可分割的整体。一个事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。
  SQL提供了事务提交和事务撤消两种命令:
  (1)事务提交:事务提交的命令为:
  COMMIT 〔WORK〕
  事务提交标志着对数据库的某种应用操作成功地完成,所有对数据库的操作都必须作为事务提交给系统时才有效。事务一经提交就不能撤消。
  (2)事务撤消:事务撤消的命令是:
  ROLLBACK 〔WORK〕
  事务撤消标志着相应事务对数据库操作失败,因而要撤消对数据库的改变,即要“回滚”到相应事务开始时的状态。
  当系统非正常结束时(如掉电、系统死机),将自动执行ROLLBACK命令。

四、DB2

DB2是美国IBM公司开发的一款关系型数据库管理系统,主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。

DB2数据库具有以下特点:

1、DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。

2、DB2适用于数据仓库和在线事物处理,性能高。

3、DB2广泛应用于大型软件系统,向下兼容性较好。

4、DB2拥有一个非常完备的查询优化器,为外部连接改善了查询性能。

5、DB2具有很好的网络支持能力,可同时激活上千个活动线程。

五、Sybase

Sybase数据库是由美国Sybase公司推出的一种关系数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统,由于基于客户机/服务器体系结构,Sybase支持共享资源且在多台设备间平衡负载。

Sybase数据库具有以下特点:

1、Sybase是基于客户/服务器体系结构的数据库,支持共享资源且在多台设备间平衡负载。

2、Sybase操作较为复杂,对数据库管理员的要求较高。

3、Sybase有非常好的开放性,能在几乎所有主流平台上运行。

4、Sybase是一款高性能、安全性非常高的数据库。

8113e46f5f3c001d246a1a755b209189.png5008d69c8221e51337813bccbe16be0a.png最后给出我的核心观点:学习,无论你是学什么,也无论你有没有基础。思考永远是第一位的,有些知识你没接触过不要紧,用不着害怕,也没必要害怕。重要的是一秒钟也不要停止思考,问题要想透彻,正所谓磨刀不误砍柴工。尤其是作为工程师,要有打破砂锅问到底的精神,否则你怎么学都不得其所以然。5008d69c8221e51337813bccbe16be0a.png

cf70cb0f05da113a15bed80ad9c9fe1c.png

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

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

相关文章

Windows Phone 执行模型概述

Windows Phone 执行模型控制在 Windows Phone 上运行的应用程序的生命周期&#xff0c;该过程从启动应用程序开始&#xff0c;直至应用程序终止。 该执行模型旨在始终为最终用户提供快速响应的体验。为此&#xff0c;在任何给定时间内&#xff0c;Windows Phone 仅允许一个应用…

halcon/c++接口基础 之 构造函数与Halcon算子

Halcon/C提供了构造函数&#xff0c;主要基于适合的Halcon算子。比如说HImage和HBarCode基于read_image and create_bar_code_model。 请注意当前的Halcon版本针对不同的算子构造函数的功能不同。如下我们介绍了一些最常用的Halcon算子&#xff0c;而一个完整的构造函数列表可…

bat自动输入用户名和密码_「小白到大牛之路6」交换机后台管理之重复输入用户名和密码...

项目需求解决项目5中存在的问题&#xff1a;用户名和密码只能输入一次。如果输入错误&#xff0c;就没有机会重新输入。项目实现#include int main(void) {// 定义变量&#xff0c;用来表示用户名和密码char name[32];char password[16];//输入用户名和密码while (1) {// 输入用…

halcon/c++接口基础 之 析构函数和Halcon算子

所有的HALCON/C类都提供了默认的析构函数用来自动销毁对应的内存。对于某些类&#xff0c;析构函数基于适合的算子&#xff1a; Windows: HWindow类的析构函数基于close_window关闭窗口。注意&#xff1a;算子本身不是析构器。你可以选择调用CloseWindow关闭窗口&#xff0c;…

ios 上传图片到阿里云的oss_JEECG BOOT 上传如何同时支持阿里OSS、Minio、本地存储

Jeecg-Boot 提供了文件及图片上传功能&#xff0c;前两个文件已介绍了MinIO和OSS配置&#xff0c;现在可根据需要选择上传方式。文件上传接口(图片/文件)在yml文件中可切换图片/文件存储方式访问路径上送参数说明在yml文件中可切换图片/文件存储方式local为本地存储minio为使用…

halcon/c++接口基础 之内存管理

所有的HALCON类&#xff0c;不仅仅HImage,HRegion,HTuple&#xff0c;HFramegrabber等等&#xff0c;还有面向过程的方法中使用的Hobject&#xff0c;都可以使用默认的析构器自动释放内存。 &#xff08; see also section 2.4 “Destructors and Halcon Operators”)&#xf…

python时间格式_python 格式化日期

常用的时间函数如下 获取当前日期&#xff1a;time.time() 获取元组形式的时间戳&#xff1a;time.local(time.time()) 格式化日期的函数(基于元组的形式进行格式化)&#xff1a; &#xff08;1&#xff09;time.asctime(time.local(time.time())) &#xff08;2&#xff09;ti…

halcon/c++接口基础 之异常处理

关于运行错误&#xff0c;HALCON/C默认打印错误信息并且终止程序。然而在某些应用中&#xff0c;放宽这个法则可能更有用。比如&#xff0c;如果一个应用要求用户交互式地指定一个图像文件读取&#xff0c;如果因为用户不能拼错文件名而终止程序的话&#xff0c;会很不方便。因…

SVN学习(二)——SVN 提交、更新、解决冲突等操作步骤

1. 纳入版本控制 ①新建文件abc.txt ②在文件上点右键 ③添加后文件图标发生变化 2. 提交 ①使用TortoiseSVN可以提交具体某一个文件&#xff0c;或某一个目录下的所有改变。方法就是在想要提交的项目下点右键&#xff0c;然后SVN Commit...&#xff0c;就可以看到如下界面 ②日…

dat文件打开乱码_5.2 实战1:解决在Linux下打开Windows汉字文本的乱码问题

今天MK继续来分享linux的学习文章&#xff0c;今天讲的主要是实战部分。1&#xff0e;实验环境&#xff1a;CentOS 7.5 现在系统默认使用的语言是汉语。&#xff08;系统中必须安装好中文包&#xff09;。2&#xff0e;在windows系统上编辑名字为“a此文件在windows下打开正常-…

整理:深度学习 vs 机器学习 vs 模式识别

发表于2015-03-24 22:58| 11934次阅读| 来源个人博客| 26 条评论| 作者Tomasz Malisiewicz 模式识别深度学习机器学习数据科学家摘要&#xff1a;本文我们来关注下三个非常相关的概念&#xff08;深度学习、机器学习和模式识别&#xff09;&#xff0c;以及他们与2015年最热门的…

halcon/c++接口基础 之 HALCON图像变量类

在HALCON/C中&#xff0c;HObject是一个基类&#xff0c;可以表示图像变量。另外还有三种类继承自HObject. Class HImage 处理图像Class HRegion 处理区域Class HXLD 处理多边形 Regions 一个region是图像平面坐标点的集合。这样一个区域不需要被连通&#xff0c;而且可能还…

新手求大神,有其他swit-case的思路写这个程序么?

两个程序: switch-case与if-else if的区别相同点:可以实现多分支结构;不同点:switch:一般只能用于等值比较.(可以进行范围运算???---学会用switch计算范围出炉的思路____待解决)if_else if:可以处理范围计算. switch(变量) { case 变量: break; } switch括号中的"变量…

netty简单笔记

2019独角兽企业重金招聘Python工程师标准>>> Server package com.netty;import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.ChannelFuture; import io.netty.channel.Channel…

halcon/c++接口基础 之 控制参数

HALCON/C可以处理各种不同类型的字母数字混合的控制参数&#xff0c;如下&#xff1a; 离散数字&#xff08;long&#xff09;浮点数字&#xff08;double&#xff09;字符串&#xff08;char*&#xff09; 控制参数的一个特殊形式是句柄&#xff0c;提供了途径去访问复杂的数…

Java编程的逻辑 (84) - 反射

​本系列文章经补充和完善&#xff0c;已修订整理成书《Java编程的逻辑》&#xff0c;由机械工业出版社华章分社出版&#xff0c;于2018年1月上市热销&#xff0c;读者好评如潮&#xff01;各大网店和书店有售&#xff0c;欢迎购买&#xff0c;京东自营链接&#xff1a;http://…

灰度图像的8位平面分解

所谓灰度图像&#xff0c;即指8位256颜色的图像。将图像的每一位分别取出来&#xff0c;我们就可以将一幅图像分解开来&#xff0c;形成8幅图像。下面我们分别介绍使用matlab分解图像与使用halcon/c分解图像的方法。 matlab8位分解 clc; clear all; A imread(lena.tif); % 显…

css 横线_atom.css正式发布,从此跟CSS框架说拜拜。

atom.css 大家好&#xff0c;我写了一个css库atom.css&#xff0c;蛮好用的&#xff0c;所以忍不住分享给大家。(https://github.com/MatrixAge/atom.css)起因写HTML几年了&#xff0c;再到如今的JSX&#xff0c;最大的感受不是枯燥&#xff0c;而是眼花。写样式的时候&#xf…

halcon模板匹配学习(一) Matching 初印象

什么是模板匹配呢&#xff1f;简单而言&#xff0c;就是在图像中寻找目标图像&#xff08;模板&#xff09;&#xff0c;或者说&#xff0c;就是在图像中寻找与模板图像相似部分的一种图像处理技术。依赖于选择的方法不同&#xff0c;模板匹配可以处理各种情形下的变换&#xf…

第五章 面向方面编程___AOP入门

上一篇讲了 AOP 和 OOP 的区别&#xff0c;这一次我们开始入门 AOP 。实现面向方面编程的技术&#xff0c;主要分为两大类&#xff1a; 一是 采用动态代理技术&#xff0c;利用截取消息的方式&#xff0c;对该消息进行装饰&#xff0c;以取代原有对象行为的执行&#xff1b; 二…