Python day7之mysql

写在前面:

  由于毕业论文撰写和答辩耽搁了几个月,但是在这几个月没有放弃学习Python,就是没有时间写博客。进行我们主要对数据库mysql的操作指令集的学习。

一、mysql术语

  Mysql是最流行的关系型数据库管理系统,接下来介绍术语。

  • 数据库: 数据库是一些关联表的集合。.
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
  • 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余可以使系统速度更快。(表的规范化程度越高,表与表之间的关系就越多;查询时可能经常需要在多个表之间进行连接查询;而进行连接操作会降低查询速度。例如,学生的信息存储在student表中,院系信息存储在department表中。通过student表中的dept_id字段与department表建立关联关系。如果要查询一个学生所在系的名称,必须从student表中查找学生所在院系的编号(dept_id),然后根据这个编号去department查找系的名称。如果经常需要进行这个操作时,连接查询会浪费很多的时间。因此可以在student表中增加一个冗余字段dept_name,该字段用来存储学生所在院系的名称。这样就不用每次都进行连接操作了。)
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

二、管理Mysql命令

  • USE 数据库名 :选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。

  • SHOW DATABASES: 列出 MySQL 数据库管理系统的数据库列表。

  • SHOW TABLES: #显示指定数据库的所有表,使用该命令前需要使用 use命令来选择要操作的数据库。

  • SHOW COLUMNS FROM 数据表: #显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。

  • create database testdb charset "utf8"; #创建一个叫testdb的数据库,且让其支持中文 

  • drop database testdb; #删除数据库

  • SHOW INDEX FROM 数据表:显示数据表的详细索引信息,包括PRIMARY KEY(主键)。

三、数据类型

MySQL中定义数据字段的类型对你数据库的优化是非常重要的。

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型

MySQL支持所有标准SQL数值数据类型。

这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。

关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。

作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。

 

类型大小范围(有符号)范围(无符号)用途
TINYINT1 字节(-128,127)(0,255)小整数值
SMALLINT2 字节(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 字节(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT或INTEGER4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 字节(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
FLOAT4 字节(-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度
浮点数值
DOUBLE8 字节(1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度
浮点数值
DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值

 

日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

TIMESTAMP类型有专有的自动更新特性,将在后面描述。

 

 

类型大小
(字节)
范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP41970-01-01 00:00:00/2037 年某时YYYYMMDD HHMMSS混合日期和时间值,时间戳

  

字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

类型大小用途
CHAR0-255字节定长字符串
VARCHAR0-65535 字节变长字符串
TINYBLOB0-255字节不超过 255 个字符的二进制字符串
TINYTEXT0-255字节短文本字符串
BLOB0-65 535字节二进制形式的长文本数据
TEXT0-65 535字节长文本数据
MEDIUMBLOB0-16 777 215字节二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215字节中等长度文本数据
LONGBLOB0-4 294 967 295字节二进制形式的极大文本数据
LONGTEXT0-4 294 967 295字节极大文本数据

CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。

有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。

四、mysql常用命令

MySQL 创建数据表

语法

1
CREATE TABLE table_name (column_name column_type);

创建一个student表

1
2
3
4
5
6
7
create table student(
   stu_id INT NOT NULL AUTO_INCREMENT,
   name CHAR(32) NOT NULL,
   age  INT NOT NULL,
   register_date DATE,
   PRIMARY KEY ( stu_id )
);

实例解析:

  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

MySQL 插入数据

语法

1
2
3
INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

插入数据

1
2
3
4
5
6
7
8
9
10
11
mysql> insert into student (name,age,register_date) values ("alex li",22,"2016-03-4")
    -> ;
Query OK, 1 row affected (0.00 sec)
mysql> select from student;
+--------+---------+-----+---------------+
| stu_id | name    | age | register_date |
+--------+---------+-----+---------------+
|      1 | alex li |  22 | 2016-03-04    |
+--------+---------+-----+---------------+
1 row in set (0.00 sec)

MySQL 查询数据

语法

1
2
3
4
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
  • SELECT 命令可以读取一条或者多条记录。
  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
  • 你可以使用 WHERE 语句来包含任何条件。
  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
  • 你可以使用 LIMIT 属性来设定返回的记录数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mysql> select from student limit 3 offset 2;
+--------+---------+-----+---------------+
| stu_id | name    | age | register_date |
+--------+---------+-----+---------------+
|      3 | alex li |  24 | 2016-03-04    |
|      4 | alex li |  24 | 2016-03-01    |
|      5 | alex li |  24 | 2016-03-02    |
+--------+---------+-----+---------------+
rows in set (0.00 sec)
比如这个SQL ,limit后面跟的是3条数据,offset后面是从第3条开始读取
mysql> select from student limit 3 ,1;
+--------+---------+-----+---------------+
| stu_id | name    | age | register_date |
+--------+---------+-----+---------------+
|      4 | alex li |  24 | 2016-03-01    |
+--------+---------+-----+---------------+
1 row in set (0.00 sec)
而这个SQL,limit后面是从第3条开始读,读取1条信息。

  

MySQL where 子句

语法

1
2
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....

以下为操作符列表,可用于 WHERE 子句中。

下表中实例假定 A为10 B为20

操作符描述实例
=等号,检测两个值是否相等,如果相等返回true(A = B) 返回false。
<>, !=不等于,检测两个值是否相等,如果不相等返回true(A != B) 返回 true。
>大于号,检测左边的值是否大于右边的值, 如果左边的值大于右边的值返回true(A > B) 返回false。
<小于号,检测左边的值是否小于右边的值, 如果左边的值小于右边的值返回true(A < B) 返回 true。
>=大于等于号,检测左边的值是否大于或等于右边的值, 如果左边的值大于或等于右边的值返回true(A >= B) 返回false。
<=小于等于号,检测左边的值是否小于于或等于右边的值, 如果左边的值小于或等于右边的值返回true(A <= B) 返回 true。

  

使用主键来作为 WHERE 子句的条件查询是非常快速的。

1
select from student where register_date > '2016-03-04';

  

MySQL UPDATE 查询

语法

1
2
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
1
update student set age=22 ,name="Alex Li" where stu_id>3;

MySQL DELETE 语句

语法

1
DELETE FROM table_name [WHERE Clause]<br><br>delete from student where stu_id=5; 

MySQL LIKE 子句

语法

1
2
3
4
5
6
SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
select *from student where name binary like "%Li";
select *from student where name binary like  binary "%Li"; #只匹配大写

MySQL 排序

1
2
3
4
SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
select *from student where name like binary "%Li" order by stu_id desc;

MySQL GROUP BY 语句  

1
2
3
4
SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
mysql> SELECT FROM employee_tbl;
+----+--------+---------------------+--------+
| id | name   date                | singin |
+----+--------+---------------------+--------+
|  1 | 小明 | 2016-04-22 15:25:33 |      1 |
|  2 | 小王 | 2016-04-20 15:25:47 |      3 |
|  3 | 小丽 | 2016-04-19 15:26:02 |      2 |
|  4 | 小王 | 2016-04-07 15:26:14 |      4 |
|  5 | 小明 | 2016-04-11 15:26:40 |      4 |
|  6 | 小明 | 2016-04-04 15:26:54 |      2 |
+----+--------+---------------------+--------+
接下来我们使用 GROUP BY 语句 将数据表按名字进行分组,并统计每个人有多少条记录:
mysql> SELECT nameCOUNT(*) FROM   employee_tbl GROUP BY name;
+--------+----------+
name   COUNT(*) |
+--------+----------+
| 小丽 |        1 |
| 小明 |        3 |
| 小王 |        2 |
+--------+----------+
rows in set (0.01 sec)
使用 WITH ROLLUP
mysql> SELECT nameSUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;
+--------+--------------+
name   | singin_count |
+--------+--------------+
| 小丽 |            2 |
| 小明 |            7 |
| 小王 |            7 |
NULL   |           16 |
+--------+--------------+
rows in set (0.00 sec)
其中记录 NULL 表示所有人的登录次数。<br>
我们可以使用 coalesce 来设置一个可以取代 NUll 的名称,coalesce 语法:
mysql> SELECT coalesce(name'总数'), SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;

MySQL ALTER命令 

我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。

删除,添加或修改表字段

1
alter table student drop register_date; #从student表删除register_date   字段alter table student add phone int(11) not null; #添加phone字段

修改字段类型及名称

如果需要修改字段类型及名称, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句 。

例如,把字段 c 的类型从 CHAR(1) 改为 CHAR(10),可以执行以下命令:

1
mysql> ALTER TABLE testalter_tbl MODIFY CHAR(10);

使用 CHANGE 子句, 语法有很大的不同。 在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型。尝试如下实例:

1
2
3
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

ALTER TABLE 对 Null 值和默认值的影响

当你修改字段时,你可以指定是否包含只或者是否设置默认值。

以下实例,指定字段 j 为 NOT NULL 且默认值为100 。

1
2
mysql> ALTER TABLE testalter_tbl
    -> MODIFY BIGINT NOT NULL DEFAULT 100;

修改表名

1
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

 

关于主键

外键,一个特殊的索引,用于关键2个表,只能是指定内容  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> create table class(
    -> id  int not null primary key,
    -> name char(16));
Query OK, 0 rows affected (0.02 sec)
CREATE TABLE `student2` (
  `id` int(11) NOT NULL,
  `namechar(16) NOT NULL,
  `class_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `fk_class_key` (`class_id`),
  CONSTRAINT `fk_class_key` FOREIGN KEY (`class_id`) REFERENCES `class` (`id`)
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
此时如果class 表中不存在id 1,student表也插入不了,这就叫外键约束
mysql> insert into student2(id,name,class_id) values(1,'alex', 1);
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`testdb`.`student2`, CONSTRAINT `fk_class_key` FOREIGN KEY (`class_id`) REFERENCES `class` (`id`))
mysql> insert into class(id,namevalues(1,"linux");
Query OK, 1 row affected (0.01 sec)
mysql> insert into student2(id,name,class_id) values(1,'alex', 1);
Query OK, 1 row affected (0.00 sec)
#如果有student表中跟这个class表有关联的数据,你是不能删除class表中与其关联的纪录的
mysql> delete from class where id =1;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`testdb`.`student2`, CONSTRAINT `fk_class_key` FOREIGN KEY (`class_id`) REFERENCES `class` (`id`))

  

  

 

 

 

MySQL NULL 值处理  

我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。
为了处理这种情况,MySQL提供了三大运算符:
IS NULL: 当列的值是NULL,此运算符返回true。
IS NOT NULL: 当列的值不为NULL, 运算符返回true。
<=>: 比较操作符(不同于=运算符),当比较的的两个值为NULL时返回true。
关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。
在MySQL中,NULL值与任何其它值的比较(即使是NULL)永远返回false,即 NULL = NULL 返回false 。
MySQL中处理NULL使用IS NULL和IS NOT NULL运算符。

五、事务

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

  • 在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务
  • 事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行
  • 事务用来管理insert,update,delete语句

一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)

  • 1、事务的原子性:一组事务,要么成功;要么撤回。
  • 2、稳定性 : 有非法数据(外键约束之类),事务撤回。
  • 3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。
  • 4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项 决定什么时候吧事务保存到日志里。

在Mysql控制台使用事务来操作

1
2
3
4
5
mysql> begin; #开始一个事务
mysql> insert into a (a) values(555);
mysql>rollback; 回滚 , 这样数据是不会写入的

当然如果上面的数据没问题,就输入commit提交命令就行;

六、索引

MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。

打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。

索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索包含多个列。

创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。 

实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。

上面都在说使用索引的好处,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。建立索引会占用磁盘空间的索引文件。

普通索引

创建索引

这是最基本的索引,它没有任何限制。它有以下几种创建方式:

1
CREATE INDEX indexName ON mytable(username(length));  

如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length。

 修改表结构

1
ALTER mytable ADD INDEX [indexName] ON (username(length))

创建表的时候直接指定

1
2
3
4
5
6
7
8
9
CREATE TABLE mytable( 
  
ID INT NOT NULL,  
  
username VARCHAR(16) NOT NULL
  
INDEX [indexName] (username(length)) 
  
); 

删除索引的语法

1
DROP INDEX [indexName] ON mytable;

唯一索引

它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:

创建索引

使用ALTER 命令添加和删除索引

使用 ALTER 命令添加和删除主键

显示索引信息

1
mysql> SHOW INDEX FROM table_name\G

 

转载于:https://www.cnblogs.com/zhengyuan/p/8906194.html

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

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

相关文章

vuerouter传参方式_VUE Router学习原理(一)

点击蓝字 关注我们Vue Router一. 安装二. 导入三. 说明四. 使用4.1 静态页面跳转4.2 动态页面跳转4.3 子路由4.4 通过程序传参4.5 同时(同级)展示多个视图4.6 导航钩子壹安装shellcnpm i vue-router -S贰导入jsimport Vue from vue;import VueRouter from vue-router;Vue.use(V…

php为图片添加渐变背景,HTML_CSS实例:通过定义渐变边框给图片加阴影,一般我们可以使用背景图的方 - phpStudy...

CSS实例:通过定义渐变边框给图片加阴影一般我们可以使用背景图的方式给图片添加阴影&#xff0c;但对于不固定尺寸的图片如何实现呢&#xff1f;我们可以采取“视觉欺骗大法”——定义渐变边框来实现代码&#xff1a;body {background:#2e334d;}img {border:none;}a.pic-shadow…

Nature:新聘“诺奖级泰斗”研究揭示大脑中执行不同认知功能环路之间的协同作用

| 中科院神经所官网报道大脑的一个核心功能是创造和保留外部世界的内在表征并指导行为&#xff0c;记忆&#xff08;Memory&#xff09;一词指的就是这种 "保留"。传统来说&#xff0c;人们认为记忆包括三个主要过程&#xff1a;编码&#xff08;Encoding&#xff09…

Java基础11-封装(思想、访问权限、this、构造方法)

一、什么是封装呢&#xff1f; 封装是面向对象的三大特征之一。 隐藏对象的属性和实现细节&#xff0c;仅对外提供公共的访问方式。 ①封装就是将面对对象的状态和行为看成是一个整体&#xff0c;将二者存放在一个独立的模块中&#xff0c;比如说类 ②封装也是信息隐藏&#xf…

值对于 int32 太大或太小_怎样将视频文件变小却对画质没有太大影响呢?

不管是我们平时没事儿时喜欢追的电视剧&#xff0c;电影&#xff0c;还是自己拍的视频&#xff0c;我们经常会遇到一个问题&#xff0c;就是视频文件太大&#xff0c;导致想要将好看好玩的视频传到手机上时&#xff0c;上传时间太长&#xff0c;而且有的时候可能上传了一半却又…

matlab神经网络动量因子,bp神经网络的动量因子

基于自适应动量因子的 BP 神经网络优化方法研究 王锦[1]; 赵德群[1]; ...1? n为训练次数,η为动量因子,一般取0.95左右 18 16 4.6 BP人工神经网络模型的改进 4. 引入放大因子 5. 用蚁群优化算法选择最优初始权值 蚁群优化算法是一......自学习模型为 △Wij(n1) h ФiOja△Wij(…

世界互联网大会上发布的《中国互联网发展报告2020》显示——中国人工智能专利申请数跃居世界第一...

文章来源&#xff1a;文汇报&#xff0c;图文如有侵权&#xff0c;请联系小编删除世界互联网大会会址乌镇互联网国际会展中心外景。新华社记者 黄宗治摄文汇报乌镇11月23日专电&#xff08;特派记者徐晶卉&#xff09;过去一年&#xff0c;5G、操作系统等技术取得突破&#xff…

hessian学习笔记

一、hessian是什么 Hessian是一个轻量级的remoting onhttp工具&#xff0c;使用简单的方法提供了RMI的功能。 相比WebService&#xff0c;Hessian更简单、快捷。采用的是二进制RPC协议&#xff0c;因为采用的是二进制协议&#xff0c;所以它很适合于发送二进制数据。——百度百…

谷歌浏览器手势_分享一些日常手势[狗头]

本文字数&#xff1a;2222字阅读时间&#xff1a;6分钟2020年05月19日星期二晴快分享一些工作中经常用到的快捷键&#xff0c;能帮助你提升工作效率&#xff0c;还能装13&#xff0c;下班时可以自豪地说一句&#xff1a;底薪到手&#xff0c;关机下班୧(๑•̀◡•́๑)૭Ctrl快…

php jquery 源码,最新版jQuery 2.1.0完整

jQuery 2.1.0该版本的最新改进包括&#xff1a;AMD(异步模块定义)&#xff1a;在新版本的内部使用了AMD来替代旧的模块化构建系统。可通过NPM获取新版本性能提升&#xff1a;新的“懒特性检测(lazy feature detects)”功能可减少库的启动时间Bug修复&#xff1a;修复了诸多Bug&…

北斗核心器件100%国产化,已接入大部分智能手机

来源&#xff1a;AI前线整理 | 冬梅、钰莹终于&#xff0c;中国在又一个领域达到核心器件 100% 纯国产。北斗核心器件国产化率 100%&#xff0c;22nm 芯片进入量产近日&#xff0c;在 2020 世界 5G 大会主论坛上&#xff0c;北斗卫星导航系统工程总设计师杨长风在会上分享了题为…

tensorrt轻松部署高性能dnn推理_NVIDIA TensorRT高性能深度学习推理

NVIDIA TensorRT高性能深度学习推理NVIDIA TensorRT™ 是用于高性能深度学习推理的 SDK。此 SDK 包含深度学习推理优化器和运行时环境&#xff0c;可为深度学习推理应用提供低延迟和高吞吐量。在推理过程中&#xff0c;基于 TensorRT 的应用程序的执行速度可比 CPU 平台的速度快…

如何在终端编译C++代码

C语言从编写-->执行整个过程。一般来讲&#xff0c;开发一个C程序需要经过以下几步1. 编写代码&#xff0c;2. 编译器进行编译&#xff0c;compile 生成.o的可执行的二进制目标文件3. 连接器进行连接。 链接代码文件&#xff0c;生成可执行.exe文件4. 执行。 电脑&#…

python画roc曲线需要什么数据,我如何根据这些数据绘制ROC曲线?

使用CNN训练的神经网络(CNN)进行以下精度测试&#xff1a;for root, dirs, files in os.walk(test_directory):for file in files:img cv2.imread(root / file)img cv2.resize(img,(512,512),interpolationcv2.INTER_AREA)img np.expand_dims(img, axis0)img img/255.0if…

Neuron最新研究:神经科学家测量球迷大脑对比赛的反应,试图挖掘人类的深层天性...

来源&#xff1a;brainnews2020年的1月27日早上&#xff0c;科比去世&#xff0c;父亲想办法安慰睡醒后的儿子&#xff1b;而在2020年11月26日早上&#xff0c;马拉多纳去世&#xff0c;儿子想办法安慰睡醒后的父亲。2020年&#xff0c;带走了全球无数球迷的青春。那么&#xf…

关于表情符号与UTF-8的探讨

4-23 现在无论原生还是网页端&#xff0c;表情符号绝大部分都可以正常显示&#xff0c;但是也有一部分是不能正常显示的。但存入到mysql的时候&#xff0c;不能够正常显示的表情符号&#xff0c;就会让mysql(utf-8)拜拜了。这个不仅仅是显示问题&#xff0c;很重要的一点是&…

约瑟夫环问题

编号为1&#xff0c;2&#xff0c;…&#xff0c;n的n个人按顺时针方向围坐在一张圆桌周围&#xff0c;每人持有一个密码&#xff08;正整数&#xff09;。一开始任选一个正整数m作为报数上限值&#xff0c;从第一个人开始按顺时针方向自1开 始报数&#xff0c;报到m时停止报数…

删除数据清理oracle表空间,oracle数据库删除无用表空间及数据文件过程

应用场景&#xff1a;html数据库服务器A下的一张数据库表重建过&#xff0c;而且数据已经迁移到新表空间下&#xff0c;现遗留了一些原有的表空间数据文件在服务器上&#xff0c;耗费资源&#xff0c;如图所示&#xff1a;linux 原数据库表对应的数据文件&#xff1a;sql迁移后…

mfc oninitdialog 中的hwnd == null_在SOUI中使用动态多语言切换

动态语言切换是很多国际化产品的需求&#xff0c;SOUI之前的版本支持静态多语言翻译&#xff0c;通过在程序启动时设置好语言翻译模块&#xff0c;在程序中打开的UI都会自动调用该翻译模块进行文字翻译&#xff0c;但是不支持运行进语言切换。最近几个网友都提到这个需求&#…

2020年中国面向人工智能“新基建”的知识图谱行业白皮书

全文共计1379字&#xff0c;预计阅读时间8分钟来源 | 艾瑞咨询&#xff08;经授权转载&#xff09;编辑 | 蒲蒲日前&#xff0c;认知智能国家重点实验室&艾瑞咨询联合发布《2020年面向人工智能“新基建”的知识图谱行业白皮书》。白皮书从善政、惠民、兴业、智融四个部分对…