MySQL 菜鸟入门“秘籍”-程序员宅基地

技术标签: python  php  数据库  

本文收录在Linux 系统化学习系列文章总目录

一、MySQL简介

1、什么是数据库 ?

  数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

  主流的数据库有:sqlservermysqlOracleSQLiteAccessMS SQL Server等,本文主要讲述的是mysql

2、数据库管理是干什么用的?

  •  a. 将数据保存到文件或内存
  •  b. 接收特定的命令,然后对文件进行相应的操作

PS:如果有了以上管理系统,无须自己再去创建文件和文件夹,而是直接传递 命令 给上述软件,让其来进行文件操作,他们统称为数据库管理系统(DBMSDatabase Management System

 

二、MySQL安装

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言结构化查询语言(SQL)进行数据库管理。在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

使用mysql必须具备以下条件:

  •  a. 安装MySQL服务端
  •  b. 安装MySQL客户端
  •  c. 【客户端】连接【服务端】
  •  d. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)

1、下载地址:http://dev.mysql.com/downloads/mysql/

2、安装

 windows安装请参考:http://www.cnblogs.com/lonelywolfmoutain/p/4547115.html

 linux下安装:https://www.cnblogs.com/along21/p/7668023.html

 

三、MySQL操作

1、连接数据库

(1)连接命令mysql

-u 用户
-h 主机地址/主机名
-p 密码
-P 端口
-s:静默
-S 套接字位置             

例:mysql -u user -p passwd

(2)常见错误如下:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2), it means that the MySQL server daemon (Unix) or service (Windows) is not running.

(3)退出连接:

QUIT 或者 Ctrl+D

2、查看数据库,创建数据库,使用数据库查看数据库

(1)查看数据库

show databases;

默认(安装自带)数据库:

mysql - 用户权限相关数据
test - 用于用户测试数据
information_schema - MySQL本身架构相关数据

(2)创建数据库:

create database db1 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;   #utf8编码
create database db1 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;   #gbk编码

(3)使用数据库:

use db1;

(4)显示当前使用的数据库中所有表:

SHOW TABLES;

 

三、用户管理

1、创建用户

create user '用户名'@'IP地址' identified by '密码';

2、删除用户

drop user '用户名'@'IP地址';

3、修改用户

rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';

4、修改密码

set password for '用户名'@'IP地址' = Password('新密码');

注:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)

 

四、权限管理

1、权限了解

(1)mysql对于权限这块有以下限制

all privileges:除grant外的所有权限
select:仅查权限
select,insert:查和插入权限
...
usage:无访问权限
alter:使用alter table
alter routine:使用alter procedure和drop procedure
create:使用create table
create routine:使用create procedure
create temporary tables:使用create temporary tables
create user:使用create user、drop user、rename user和revoke  all privileges
create view:使用create view
delete:使用delete
drop:使用drop table
execute:使用call和存储过程
file:使用select into outfile 和 load data infile
grant option:使用grant 和 revoke
index:使用index
insert:使用insert
lock tables:使用lock table
process:使用show full processlist
select:使用select
show databases:使用show databases
show view:使用show view
update:使用update
reload:使用flush
shutdown:使用mysqladmin shutdown(关闭MySQL)
super:使用change master、kill、logs、purge、master和set global。还允许mysqladmin调试登陆
replication client:服务器位置的访问
replication slave:由复制从属使用

(2)对于数据库及内部其他权限如下

数据库名.*         数据库中的所有
数据库名.表        指定数据库中的某张表
数据库名.存储过程     指定数据库中的存储过程
*.*               所有数据库

(3)对于用户和IP的权限如下:

用户名@IP地址      用户只能在改IP下才能访问
用户名@192.168.1.%   用户只能在改IP段下才能访问(通配符%表示任意)
用户名@%             用户可以再任意IP下访问(默认IP地址为%)

2、权限操作

(1)查看权限:

show grants for '用户'@'IP地址'

(2)授权

grant  权限 on 数据库.表 to   '用户'@'IP地址'

(3)取消授权

revoke 权限 on 数据库.表 from '用户名'@'IP地址'

(4)授权实例如下:

grant all privileges on db1.tb1 TO '用户名'@'IP'
grant select on db1.* TO '用户名'@'IP'
grant select,insert on *.* TO '用户名'@'IP'
revoke select on db1.tb1 from '用户名'@'IP'

 

五、MySQL表操作

1、查看表

show tables;   #查看数据库全部表 select * from 表名; # 查看表所有内容

2、创建表

create table 表名(
    列名  类型  是否可以为空,
    列名  类型  是否可以为空
)ENGINE=InnoDB DEFAULT CHARSET=utf8

来一个实例好详解

CREATE TABLE `tab1` (
  `nid` int(11) NOT NULL auto_increment,
  `name` varchar(255) DEFAULT zhangyanlin,
  `email` varchar(255),
  PRIMARY KEY (`nid`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

注:

(1)默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值

(2)自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列),注意:

  ① 对于自增列,必须是索引(含主键)

  ② 对于自增可以设置步长和起始值

(3)主键,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。

3、删除表

drop table 表名

4、清空表内容

delete from 表名 truncate table 表名

5、修改表

(1)添加列:   

alter table 表名 add 列名 类型

(2)删除列:   

alter table 表名 drop column 列名

(3)修改列:           

alter table 表名 modify column 列名 类型;  -- 类型
alter table 表名 change 原列名 新列名 类型; -- 列名,类型

(4)添加主键:           

alter table 表名 add primary key(列名);

(5)删除主键:           

alter table 表名 drop primary key; 
alter table 表名 modify 列名 int, drop primary key;

(6)添加外键: 

alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);

(7)删除外键: 

alter table 表名 drop foreign key 外键名称

(8)修改默认值:

ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;

(9)删除默认值:

ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

对于上述这些操作是不是看起来很麻烦,很浪费时间,别慌!有专门的软件能提供这些功能,操作起来非常简单,这个软件名字叫Navicat Premium ,大家自行在网上下载,练练手,但是下面的即将讲到表内容操作还是建议自己写命令来进行

6、基本数据类型

MySQL的数据类型大致分为:数值、时间和字符串

(1)bit[(M)]
      二进制位(101001),m表示二进制位的长度(1-64),默认m=1

(2)tinyint[(m)] [unsigned] [zerofill]

      小整数,数据类型用于保存一些范围的整数数值范围:
      有符号:
        -128 ~ 127.
      无符号:
        0 ~ 255

      特别的: MySQL中无布尔值,使用tinyint(1)构造。

(3)int[(m)][unsigned][zerofill]

      整数,数据类型用于保存一些范围的整数数值范围:
        有符号:
          -2147483648 ~ 2147483647
        无符号:
          0 ~ 4294967295

      特别的:整数类型中的m仅用于显示,对存储范围无限制。例如: int(5),当插入数据2时,select 时数据显示为:00002

(4)bigint[(m)][unsigned][zerofill]

      大整数,数据类型用于保存一些范围的整数数值范围:
        有符号:
          -9223372036854775808 ~ 9223372036854775807
        无符号:
          0 ~ 18446744073709551615

(5)decimal[(m[,d])] [unsigned] [zerofill]

      准确的小数值,m是数字总个数(负号不算),d是小数点后个数。 m最大值为65,d最大值为30。

      特别的:对于精确数值计算时需要用此类型
          decaimal能够存储精确值的原因在于其内部按照字符串存储。

(6)FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
      单精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。
        无符号:
          -3.402823466E+38 to -1.175494351E-38,
          0
          1.175494351E-38 to 3.402823466E+38
        有符号:
          0
          1.175494351E-38 to 3.402823466E+38

      **** 数值越大,越不准确 ****

(7)DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]

      双精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。

        无符号:
          -1.7976931348623157E+308 to -2.2250738585072014E-308
          0
          2.2250738585072014E-308 to 1.7976931348623157E+308

        有符号:
          0
          2.2250738585072014E-308 to 1.7976931348623157E+308
      **** 数值越大,越不准确 ****

(8)char (m)

      char数据类型用于表示固定长度的字符串,可以包含最多达255个字符。其中m代表字符串的长度。
      PS: 即使数据小于m长度,也会占用m长度
(9)varchar(m)

      varchars数据类型用于变长的字符串,可以包含最多达255个字符。其中m代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。

      注:虽然varchar使用起来较为灵活,但是从整个系统的性能角度来说,char数据类型的处理速度更快,有时甚至可以超出varchar处理速度的50%。因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡

(10)text

      text数据类型用于保存变长的大字符串,可以组多到65535 (2**16 − 1)个字符。

(11)mediumtext

      A TEXT column with a maximum length of 16,777,215 (2**24 − 1) characters.

(12)longtext

      A TEXT column with a maximum length of 4,294,967,295 or 4GB (2**32 − 1) characters.

(13)enum

      枚举类型,
      An ENUM column can have a maximum of 65,535 distinct elements. (The practical limit is less than 3000.)
      示例:

         CREATE TABLE shirts (
            name VARCHAR(40),
            size ENUM('x-small', 'small', 'medium', 'large', 'x-large')
         );
         INSERT INTO shirts (name, size) VALUES ('dress shirt','large'), ('t-shirt','medium'),('polo shirt','small');

(14)set

      集合类型
      A SET column can have a maximum of 64 distinct members.
      示例:
        CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));
        INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d');

(15)DATE
      YYYY-MM-DD(1000-01-01/9999-12-31)

(16)TIME

      HH:MM:SS('-838:59:59'/'838:59:59')

(17)YEAR

      YYYY(1901/2155)

(18)DATETIME

      YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59 Y)

(19)TIMESTAMP

      YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)

 

六、MySQL表内容操作

表内容操作无非就是增删改查,当然用的最多的还是查,而且查这一块东西最多,用起来最难,当然对于大神来说那就是so easy了,对于我这种小白还是非常难以灵活运用的,下面咱来一一操作一下

1、增

insert into 表 (列名,列名...) values (值,值,...)
insert into 表 (列名,列名...) values (值,值,...),(值,值,值...)
insert into 表 (列名,列名...) select (列名,列名...) from 表
例:
    insert into tab1(name,email) values('zhangyanlin','[email protected]')

2、删

delete from 表   # 删除表里全部数据
delete fromwhere id=1 and name='zhangyanlin' # 删除ID =1 和name='zhangyanlin' 那一行数据

3、改

update 表 set name = 'zhangyanlin' where id>1

4、查

select * fromselect * fromwhere id > 1
select nid,name,gender as gg fromwhere id > 1

查这块的条件太多太多我给列举出来至于组合还得看大家的理解程度哈

(1)条件判断where

select * fromwhere id > 1 and name != 'aylin' and num = 12;
select * fromwhere id between 5 and 16;
select * fromwhere id in (11,22,33)
select * fromwhere id not in (11,22,33)
select * fromwhere id in (select nid from 表)

(2)通配符like

select * fromwhere name like 'zhang%'  # zhang开头的所有(多个字符串)
select * fromwhere name like 'zhang_'  # zhang开头的所有(一个字符)

(3)限制limit

select * from 表 limit 5;            - 前5行
select * from 表 limit 4,5;          - 从第4行开始的5行
select * from 表 limit 5 offset 4    - 从第4行开始的5行

(4)排序ascdesc

select * from 表 order by 列 asc              - 根据 “列” 从小到大排列
select * from 表 order by 列 desc             - 根据 “列” 从大到小排列
select * from 表 order by 列1 desc,列2 asc    - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序

(5)分组group by

select num from 表 group by num
select num,nid from 表 group by num,nid
select num,nid fromwhere nid > 10 group by num,nid order nid desc
select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid
select num from 表 group by num having max(id) > 10

特别的:group by 必须在where之后,order by之前

好了,以上我们就完成了MySQL的入门。经过练习之后,一些简单的增删改查任务已经不成问题,这时候就应该要考虑进阶了。

限于本文的主题和篇幅,在这里我们就不多说了,如果有需要的同学可以前往 MySQL 的官方文档进行查看,英文不太好的同学也可以去菜鸟教程。

 

七、MySQL 资源大全

除了一份入门的教程,博主还给大家准备了一份礼物,那就是 MySQL 资源大全。

工欲善其事必先利其器,有了这些工具,我们和大神的差距就会缩小许多,而且很多工具也会为我们的日常提升提供很大帮助——有了工具包,妈妈再也不用担心你的学习!

1、分析工具

性能,结构和数据分析工具

  • Anemometer – 一个 SQL 慢查询监控器。
  • innodb-ruby – 一个对 InooDB 格式文件的解析器,用于 Ruby 语言。
  • innotop – 一个具备多种特性和可扩展性的 MySQL ‘top’ 工具。
  • pstop – 一个针对 MySQL 的类 top 程序,用于收集,汇总以及展示来自 performance_schema 的信息。
  • mysql-statsd – 一个收集 MySQL 信息的 Python 守护进程,并通过 StatsD 发送到 Graphite

2、备份

备份/存储/恢复 工具

  •  MyDumper – 逻辑的,并行的 MySQL 备份/转储工具。
  •  MySQLDumper – 基于 web 的开源备份工具-对于共享虚拟主机非常有用。
  •  mysqldump-secure – 将加密,压缩,日志,黑名单和 Nagios 监控一体化的 mysqldump 安全脚本。
  •  Percona Xtrabackup – 针对 MySQL 的一个开源热备份实用程序——在服务器的备份期间不会锁定你的数据库。

3、性能测试

给你的服务器进行压测的工具

  •  iibench-mysql -基于 Java MySQL/Percona/MariaDB 索引进行插入性能测试工具。
  •  Sysbench – 一个模块化,跨平台以及多线程的性能测试工具。

4、聊天应用

集成进聊天室的脚本

  •  Hubot MySQL ChatOps

5、配置

MySQL 配置实例及指导

  •  mysql-compatibility-config – 使 MySQL 配置起来更像新的(或先前)的 MySQL 版本。

6、连接器

多种编程语言的 MySQL 连接器

  •  Connector/Python – 一个对于 Python 平台和开发的标准化数据库驱动程序。
  •  go-sql-driver – 一个 Go 语言的轻量级、极速的 MySQL 驱动程序。
  •  libAttachSQL – libAttachSQL MySQL 服务器的一个轻量级,非阻塞的 C 语言 API
  •  MariaDB Java Client – 针对 Java 应用且经过 LGPL 许可的 MariaDB 客户端库。
  •  MySQL-Python – 一个 Python 语言的 MySQL 数据库连接器。
  •  PHP mysqlnd – 针对 MySQL MySQL 本地驱动,弃用过时的 libmysql 基础驱动。

7、开发

支持 MySQL 相关开发的工具

  •  Flywaydb – 数据库迁移;任意情况下轻松可靠地演变你的数据库版本。
  •  Liquibase – 对你的数据库进行源代码控制。
  •  Propagator – 集中模式和数据部署在一个多维拓扑上。

8、GUI

前端和应用的 GUI

  •  Adminer – 一个 PHP 编写的数据库管理工具。
  •  HeidiSQL – Windows 下的 MySQL 图形化管理工具。
  •  MySQL Workbench – 提供给数据库管理员和开发人员进行数据库设计和建模的集成工具环境;SQL 开发;数据库管理。
  •  phpMyAdmin – 一个 PHP 写成的开源软件,意图对 web 上的 MySQL 进行管理。
  •  SequelPro – 一个 mac 下运行 MySQL 的数据库管理应用程序。
  •  mycli – 一个带自动补全和语法高亮的终端版 MySQL 客户端

9、HA

高可用解决方案

  •  Galera Cluster – 一个基于同步复制的多主机集群方案。
  •  MHA – 针对 MySQL 的优秀高可用管理器及工具
  •  MySQL Fabric – 一个用于管理 MySQL 服务器场(Server Farms)的可扩展框架。
  •  Percona Replication Manager – 针对 MySQL 的异步复制管理代理。支持以文件和 GTID 为基础的复制,使用 booth 实现的地理分布式集群。

10、代理

MySQL 代理

  •  MaxScale – 开源,以数据库为中心的代理。
  •  Mixer – Go 实现的一个 MySQL 代理,目的为 MySQL 分片提供一个简单的解决方案。
  •  MySQL Proxy – 一个处于你的客户端和 MySQL 服务端之间的简单程序,它可以检测、分析或者改变它们的通信。
  •  ProxySQL – 高性能的 MySQL 代理。

11、复制

复制相关的软件

  •  orchestrator – MySQL 复制拓扑管理并可视化的工具。
  •  Tungsten Replicator – MySQL 的一个高性能、开源、数据复制引擎。

12、模式

附加模式

  •  common_schema – MySQL DBA 的框架, 提供一个具有函数库、视图库和查询脚本的解释器。
  •  sys – 一个视图、函数和过程的集合,以帮助 MySQL 管理人员更加深入理解 MySQL 数据库的使用。

13、服务器

MySQL server flavors

  •  MariaDB – MySQL server 的一个由社区开发的分支。
  •  MySQL Server & MySQL Cluster – Oracle 官方的 MySQL server MySQL 集群分布。
  •  Percona Server – 一个加强版的 MySQL 替代品
  •  WebScaleSQL – WebScaleSQL5.6 版本,基于 MySQL 5.6 社区版本。

14、分片

分片解决方案/框架

  •  vitess – 对于大规模的 web 服务,vitess 提供服务和工具以便于 MySQL 数据库的缩放。
  •  jetpants – 一个自动化套件,用于管理大规模分片集群,由 Tumblr 开发。

15、工具包

工具包,通用脚本

  •  go-mysql – 一个纯 go 的库,用于处理 MySQL 的网络协议和复制。
  •  MySQL Utilities – 一个命令行实用程序的集合,Python 语言编写,用于维护和管理单一或多层的 MySQL
  •  Percona Toolkit – 一个先进的命令行工具集,用于执行对于 MySQL 服务器和系统过于困难或复杂的任务。
  •  openark kit – 一组实用的工具,解决日常的维护工作,包括一些复杂的或需徒手操作的,用 Python 语言编写。
  •  UnDROP – 一个用来恢复删除或损坏的 InnoDB 表中数据的工具。

 

转载于:https://www.cnblogs.com/along21/p/8985722.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30709635/article/details/98053997

智能推荐

稀疏编码的数学基础与理论分析-程序员宅基地

文章浏览阅读290次,点赞8次,收藏10次。1.背景介绍稀疏编码是一种用于处理稀疏数据的编码技术,其主要应用于信息传输、存储和处理等领域。稀疏数据是指数据中大部分元素为零或近似于零的数据,例如文本、图像、音频、视频等。稀疏编码的核心思想是将稀疏数据表示为非零元素和它们对应的位置信息,从而减少存储空间和计算复杂度。稀疏编码的研究起源于1990年代,随着大数据时代的到来,稀疏编码技术的应用范围和影响力不断扩大。目前,稀疏编码已经成为计算...

EasyGBS国标流媒体服务器GB28181国标方案安装使用文档-程序员宅基地

文章浏览阅读217次。EasyGBS - GB28181 国标方案安装使用文档下载安装包下载,正式使用需商业授权, 功能一致在线演示在线API架构图EasySIPCMSSIP 中心信令服务, 单节点, 自带一个 Redis Server, 随 EasySIPCMS 自启动, 不需要手动运行EasySIPSMSSIP 流媒体服务, 根..._easygbs-windows-2.6.0-23042316使用文档

【Web】记录巅峰极客2023 BabyURL题目复现——Jackson原生链_原生jackson 反序列化链子-程序员宅基地

文章浏览阅读1.2k次,点赞27次,收藏7次。2023巅峰极客 BabyURL之前AliyunCTF Bypassit I这题考查了这样一条链子:其实就是Jackson的原生反序列化利用今天复现的这题也是大同小异,一起来整一下。_原生jackson 反序列化链子

一文搞懂SpringCloud,详解干货,做好笔记_spring cloud-程序员宅基地

文章浏览阅读734次,点赞9次,收藏7次。微服务架构简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独立运行的项目。这么多小服务,如何管理他们?(服务治理 注册中心[服务注册 发现 剔除])这么多小服务,他们之间如何通讯?这么多小服务,客户端怎么访问他们?(网关)这么多小服务,一旦出现问题了,应该如何自处理?(容错)这么多小服务,一旦出现问题了,应该如何排错?(链路追踪)对于上面的问题,是任何一个微服务设计者都不能绕过去的,因此大部分的微服务产品都针对每一个问题提供了相应的组件来解决它们。_spring cloud

Js实现图片点击切换与轮播-程序员宅基地

文章浏览阅读5.9k次,点赞6次,收藏20次。Js实现图片点击切换与轮播图片点击切换<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/ja..._点击图片进行轮播图切换

tensorflow-gpu版本安装教程(过程详细)_tensorflow gpu版本安装-程序员宅基地

文章浏览阅读10w+次,点赞245次,收藏1.5k次。在开始安装前,如果你的电脑装过tensorflow,请先把他们卸载干净,包括依赖的包(tensorflow-estimator、tensorboard、tensorflow、keras-applications、keras-preprocessing),不然后续安装了tensorflow-gpu可能会出现找不到cuda的问题。cuda、cudnn。..._tensorflow gpu版本安装

随便推点

物联网时代 权限滥用漏洞的攻击及防御-程序员宅基地

文章浏览阅读243次。0x00 简介权限滥用漏洞一般归类于逻辑问题,是指服务端功能开放过多或权限限制不严格,导致攻击者可以通过直接或间接调用的方式达到攻击效果。随着物联网时代的到来,这种漏洞已经屡见不鲜,各种漏洞组合利用也是千奇百怪、五花八门,这里总结漏洞是为了更好地应对和预防,如有不妥之处还请业内人士多多指教。0x01 背景2014年4月,在比特币飞涨的时代某网站曾经..._使用物联网漏洞的使用者

Visual Odometry and Depth Calculation--Epipolar Geometry--Direct Method--PnP_normalized plane coordinates-程序员宅基地

文章浏览阅读786次。A. Epipolar geometry and triangulationThe epipolar geometry mainly adopts the feature point method, such as SIFT, SURF and ORB, etc. to obtain the feature points corresponding to two frames of images. As shown in Figure 1, let the first image be ​ and th_normalized plane coordinates

开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先抽取关系)_语义角色增强的关系抽取-程序员宅基地

文章浏览阅读708次,点赞2次,收藏3次。开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先关系再实体)一.第二代开放信息抽取系统背景​ 第一代开放信息抽取系统(Open Information Extraction, OIE, learning-based, 自学习, 先抽取实体)通常抽取大量冗余信息,为了消除这些冗余信息,诞生了第二代开放信息抽取系统。二.第二代开放信息抽取系统历史第二代开放信息抽取系统着眼于解决第一代系统的三大问题: 大量非信息性提取(即省略关键信息的提取)、_语义角色增强的关系抽取

10个顶尖响应式HTML5网页_html欢迎页面-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏51次。快速完成网页设计,10个顶尖响应式HTML5网页模板助你一臂之力为了寻找一个优质的网页模板,网页设计师和开发者往往可能会花上大半天的时间。不过幸运的是,现在的网页设计师和开发人员已经开始共享HTML5,Bootstrap和CSS3中的免费网页模板资源。鉴于网站模板的灵活性和强大的功能,现在广大设计师和开发者对html5网站的实际需求日益增长。为了造福大众,Mockplus的小伙伴整理了2018年最..._html欢迎页面

计算机二级 考试科目,2018全国计算机等级考试调整,一、二级都增加了考试科目...-程序员宅基地

文章浏览阅读282次。原标题:2018全国计算机等级考试调整,一、二级都增加了考试科目全国计算机等级考试将于9月15-17日举行。在备考的最后冲刺阶段,小编为大家整理了今年新公布的全国计算机等级考试调整方案,希望对备考的小伙伴有所帮助,快随小编往下看吧!从2018年3月开始,全国计算机等级考试实施2018版考试大纲,并按新体系开考各个考试级别。具体调整内容如下:一、考试级别及科目1.一级新增“网络安全素质教育”科目(代..._计算机二级增报科目什么意思

conan简单使用_apt install conan-程序员宅基地

文章浏览阅读240次。conan简单使用。_apt install conan