【Mysql】 表的增删查改

请添加图片描述

文章目录

  • 【Mysql】表的增删查改
      • Create --创建数据
      • Retireve -- 读取数据
        • select 列
        • where条件
        • order by -- 结果排序
        • limit -- 分页
      • Update -- 更新数据
      • Delete -- 删除数据
        • delete
        • truncate -- 截断表
      • 插入查询结果
      • 聚合函数
      • group by 子句

【Mysql】表的增删查改

CRUD : Create(创建), Retrieve(读取,检索)Update(更新)Delete(删除)

之前博客记录的都是对结构的操作之类的操作,而这篇博客记录的就是对表中的数据进行管理;


Create --创建数据

语法:

INSERT [INTO] table_name (所要插入表中的列字段) values (数据1), (数据2) ... ;

案例:

先创建一张学生表

CREATE TABLE students (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,sn INT NOT NULL UNIQUE COMMENT '学号',name VARCHAR(20) NOT NULL,qq VARCHAR(20)
);

单行数据 + 全列插入

  • 全列插入数据时,values_list 数量和顺序一定要和表定义时一致
insert into students values (100, 10000, '唐三藏', NULL);
insert into students values (101, 10001, '孙悟空', '11111');

查看插入结果

多行数据 + 指定列插入

  • 使用指定列插入时,需要指定要插入的列是什么,且values_list 要和指定列数量和顺序一致,否则插入失败
INSERT INTO students (id, sn, name) VALUES(102, 20001, '曹孟德'),(103, 20002, '孙仲谋');

查看插入结果

插入失败否则更新

例如:

下面俩条语句插入时,因为主键或者唯一键冲突的原因,会插入失败

insert into students (id,sn, name) values (100, 10010,'唐大师'); -- 主键id冲突
insert into students (sn,name) values (20001,'曹啊满'); -- 唯一键sn冲突

插入结果:

这时候就可以选择同步更新操作语法:

insert ... on duplicate key update 所需要更新的列在字段及数据,...;

例:

insert into students (id,sn, name) values (100, 10010,'唐大师') on duplicate key update sn = 10010, name = '唐大师' ;

执行结果:

其中还可以通过语句后面的执行结果判断我们是否插入成功

-- 0 row affected: 表中有冲突数据,但冲突数据的值和 update 的值相等
-- 1 row affected: 表中没有冲突数据,数据被插入
-- 2 row affected: 表中有冲突数据,并且数据已经被更新

即实际上上面这条语句的作用就是 当插入数据出现冲突,就将修该冲突数据;但我个人感觉比较’鸡肋‘

替换

作用: 将表中冲突的数据替换掉

说明:

  • – 主键 或者 唯一键 没有冲突,则直接插入;

    – 主键 或者 唯一键 如果冲突,则删除后再插入

replace into students (sn,name) values (20001,'曹阿满');-- 1 row affected: 表中没有冲突数据,数据被插入
-- 2 row affected: 表中有冲突数据,删除后重新插入

执行结果:

即因为唯一键发生冲突,将原有数据(102,'20001',曹孟德, NULL),删除之后再重新插入了


Retireve – 读取数据

注: 下面演示的查询都是使用的上面的学生测试表和下面的成绩表

语法:

[DISTINCT] {* | {column [, column] ...}  -- 去重
[FROM table_name]		-- 筛选
[WHERE ...]				-- 筛选
[ORDER BY column [ASC | DESC], ...] -- 排序
LIMIT .. 				--分页

例:

先创建表结构和插入数据:

CREATE TABLE exam_result (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20) NOT NULL COMMENT '同学姓名',chinese float DEFAULT 0.0 COMMENT '语文成绩',math float DEFAULT 0.0 COMMENT '数学成绩',english float DEFAULT 0.0 COMMENT '英语成绩'
);-- 插入测试数据
INSERT INTO exam_result (name, chinese, math, english) VALUES
('唐三藏', 67, 98, 56),
('孙悟空', 87, 78, 77),
('猪悟能', 88, 98, 90),
('曹孟德', 82, 84, 67),
('刘玄德', 55, 85, 45),
('孙权', 70, 73, 78),
('宋公明', 75, 65, 30);

select 列

全列查询

  • – 通常情况下不建议使用 * 进行全列查询

    – 1. 查询的列越多,意味着需要传输的数据量越大;

    – 2. 可能会影响到索引的使用。

注: * 表示通配

指定列查询

**注:**查询时指定列的顺序不需要安定义表的顺序来

  • 查询字段不包含表达式
select id , name, english from exam_result;

  • 查询列包含表达式,表达式不包含字段

  • 查询列包含表达式,表达式包含一个字段

  • 查询列包含表达式,表达式包含多个字段

  • 为查询结果指定别名

语法:

select column [as] alias_name[...] from table_name;
  • [] 表示可省略
  • alias_name:别名

例:

select id ,name, chinese + math + english 总分 from exam_result

  • 结果去重

语法:

select distinct math from exam_reuslt;


where条件

运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=>等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
!=, <>不等于
BETWEEN a0 AND a1范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN (option, …)如果是 option 中的任意一个,返回 TRUE(1)
IS NULL是 NULL
IS NOT NULL不是 NULL
LIKE模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

逻辑运算符:

运算符说明
AND多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR任意一个条件为 TRUE(1) ,结果为 TRUE(1)
NOT条件为TRUE(1) ,结果为false(0);

案例:

英语不及格的同学及英语成绩(<60) – < 使用

select name , english from exam_result where english < 60;

语文成绩在 [80, 90] 分的同学及语文成绩 – and,between 使用

select name, chinese from exam_result where chinese between 80 and 90; --between andselect name, chinese from exam_result where chinese >= 80 and chinese <= 90; -- and <= >=

数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩 – in

-- 使用or 进行条件连接
select name, math from exam_result where math = 58 or math = 59 or math = 98 or math = 99 ;-- 使用in 语句
select name, math from exam_result where math in (58,59,98,99);

**姓孙的同学 及 孙某同学 ** – like

注:

  • %: 匹配任意多个(包括0个) 任意字符
  • _: 匹配严格的一个任意字符

例: ‘孙%’ 匹配姓孙的同学 ‘孙_’ 匹配孙某 ’孙__'匹配孙某某

select name from exam_result where name like '孙%'; -- 匹配姓孙的同学select name from exam_result where name like '孙_' ; -- 匹配孙某

语文成绩好于英语成绩的同学

select name, chinese, english from exam_result where chinese > english;

总分在 200 分以下的同学

select name, chinese + math + english 总分 from exam_result where chinese + math + english < 200;

语文成绩>80 并且不姓孙的同学

select name,chinese from exam_result where chinese > 80 and name not like '孙%' ;

孙某同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80

select name, chinese ,math ,english ,chinese + math + english 总分 from exam_result where name like '孙_' or (chinese + math + english > 200 and chinese < math and english >80);

NULL 的查询

注:

  • 在mysql中, NULL就是代表空的意思什么都没有 ,和""(空串),0是不等价的
  • 所以平时判断是否为空时建议使用 is null - -个人感觉逻辑更为清晰


order by – 结果排序

语法:

-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC
SELECT ... FROM table_name [WHERE ...]ORDER BY column [ASC|DESC], [...]

案例:

同学及数学成绩, 按数学成绩升序显示

select name, math from exam_result order by math;

同学及qq号, 按qq号排序显示

select name, qq from students order by qq; -- 升序
select name, qq from students order by qq desc; -- 降序

说明:

  • null 在mysql中默认为最小的 所以排升序时自然在最前面

查询同学各门成绩, 依次按 数学降序 , 英语升序,语文升序的方式显示

select name, math, english , chinese from exam_result order by math desc, english , chinese;

注: 虽然说排序时指定按多列排序,但优先级是不一样的,即优先通过math对数据排降序,如果数学相同的再通过english进行进行升序排序

查询同学及总分,由高到低

select name, chinese + english + math from exam_result order by chinese + english +math desc;

查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示

select name, math from exam_result where name like '孙%' or name like '曹%' order by math desc;


limit – 分页

语法:

-- 起始下标为 0-- 从 0 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;
-- 从 s 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;

注:对未知表进行查询时,最好加一条 LIMIT 1,避免因为表中数据过大,查询全表数据导致数据库卡死

按id进行分页,每页3条记录,分别显示第1,2,3页

-- 第1页
select id, name, math , english ,chinese from exam_result order by id limit 3 offset 0;-- 第2页
select id, name, math , english , chinese from exam_result order by id limit 3 offset 3;-- 第3页
select id, name, math , english , chinese from exam_result order by id limit 3 offset 6;

表中数据不足时, 依旧不会有什么影响


Update – 更新数据

语法:

UPDATE table_name SET column = expr [, column = expr ...]
[WHERE ...] [ORDER BY ...] [LIMIT ...]

案例:

将孙悟空同学的数学成绩变更为 80分

update exam_result set math = 80 where name = '孙悟空';

将曹孟德同学的数学成绩变更为60分,语文成绩变更为70分

update exam_result set math = 60 , chinese = 70 where name = '曹孟德';

将总成绩倒数前三的 3 位同学的数学成绩加上 30

注:mysql是不支持+= 等操作的

update exam_result set math = math + 30 order by  chinese + math + english limit 3;

将所有同学的语文成绩更新为原来的 2

update exam_result set chinese = 2 * chinese ;


Delete – 删除数据

delete

语法:

DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]

案例:

删除孙悟空同学的考试成绩

delete from exam_result where name = '孙悟空';

删除整张表的数据

准备测试表

create table for_delete (id int primary key auto_increment,name varchar(20)
);

插入测试数据:

insert into for_delete (name) values ('A') ,('B'), ('C');

查看测试数据之后,将整张表数据删除

而后再插入一个数据,发现自增 id 在原值上升

show create 一下 我们会发现表中的auto_increment 保存下个插入数据的自增id

小总结:

  • delete 删除全表数据,auto_increment 会保持增长

truncate – 截断表

注意: 这个操作慎用

  • 只能对整表操作,不能像 DELETE 一样针对部分数据操作;
  • 实际上 MySQL 不对数据操作,所以比DELETE更快,但是TRUNCATE在删除数据的时候,并不经过真正的事物,所以无法回滚
  • 会重置 AUTO_INCREMENT

案例:

准备测试表

create table for_truncate (id int primary key auto_increment,name varchar(20)
);

插入测试数据

insert into for_truncate (name) values ('A') , ('B'), ('C');

查看测试数据

截断整张表数据,注意影响行数是0 , 所以实际上没有对数据进行真正操作

truncate for_truncate;

重新插入一条结果发现自增id 在重新自增


插入查询结果

语法:

INSERT INTO table_name [(column [, column ...])] SELECT ...

案例: 删除表中的重复记录,重复的数据只能有一个

思路: 使用 distinct 将数据筛选出来而后插入到一张新表中就得到了不重复的数据

创建原数据表

create table duplicate_table (id int , name varchar(20));---插入测试数据
INSERT INTO duplicate_table VALUES(100, 'aaa'),(100, 'aaa'),(200, 'bbb'),(200, 'bbb'),(200, 'bbb'),	(300, 'ccc');

然后我们准备一个空表no_duplicate_table 接收去重之后的查询结果

create table no_duplicate_table like duplicate_table;insert into no_dupliacate_table select distinct * from duplicate_table; -- 将查询的去重结果插入到表中

将结果插入进去之后,我们就得到了我们想要的去重结果


聚合函数

函数说明
COUNT([DISTINCT] expr)返回查询到的数据的 数量
SUM([DISTINCT] expr)返回查询到的数据的 总和,不是数字没有意义
AVG([DISTINCT] expr)返回查询到的数据的 平均值,不是数字没有意义
MAX([DISTINCT] expr)返回查询到的数据的 最大值,不是数字没有意义
MIN([DISTINCT] expr)返回查询到的数据的 最小值,不是数字没有意义

案例:

统计班级共有多少同学

注: 使用 * 做统计 ,不受NULL影响

select count(*) from students;

统计班级收集的qq号有多少

注: count不会统计 NULL

select count(qq) from students;

统计本次考试的数学成绩分数个数

select count(math) from exam_result;

统计数学成绩总分

select sum(math) from exam_result;

统计平均总分

select avg(chinese + math + english ) 平均总分 from exam_result;

返回英语最高分

select max(english) from exam_result;

返回 > 70 分以上的数学最低分

select min(math) from exam_result where math > 70;


group by 子句

在select中使用group by 子句可以对指定列进行分组查询

select column1, column2, .. from table group by column;

案例:

  • 准备工作,创建一个雇员信息表(来自oracle 9i的经典测试表)

    EMP员工表

    DEPT部门表

    SALGRADE工资等级表

DROP database IF EXISTS `scott`;
CREATE database IF NOT EXISTS `scott` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;USE `scott`;DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept` (`deptno` int(2) unsigned zerofill NOT NULL COMMENT '部门编号',`dname` varchar(14) DEFAULT NULL COMMENT '部门名称',`loc` varchar(13) DEFAULT NULL COMMENT '部门所在地点'
);DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp` (`empno` int(6) unsigned zerofill NOT NULL COMMENT '雇员编号',`ename` varchar(10) DEFAULT NULL COMMENT '雇员姓名',`job` varchar(9) DEFAULT NULL COMMENT '雇员职位',`mgr` int(4) unsigned zerofill DEFAULT NULL COMMENT '雇员领导编号',`hiredate` datetime DEFAULT NULL COMMENT '雇佣时间',`sal` decimal(7,2) DEFAULT NULL COMMENT '工资月薪',`comm` decimal(7,2) DEFAULT NULL COMMENT '奖金',`deptno` int(2) unsigned zerofill DEFAULT NULL COMMENT '部门编号'
);DROP TABLE IF EXISTS `salgrade`;
CREATE TABLE `salgrade` (`grade` int(11) DEFAULT NULL COMMENT '等级',`losal` int(11) DEFAULT NULL COMMENT '此等级最低工资',`hisal` int(11) DEFAULT NULL COMMENT '此等级最高工资'
);insert into dept (deptno, dname, loc)
values (10, 'ACCOUNTING', 'NEW YORK');
insert into dept (deptno, dname, loc)
values (20, 'RESEARCH', 'DALLAS');
insert into dept (deptno, dname, loc)
values (30, 'SALES', 'CHICAGO');
insert into dept (deptno, dname, loc)
values (40, 'OPERATIONS', 'BOSTON');insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, null, 20);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 300, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, null, 20);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, null, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, null, 10);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19', 3000, null, 20);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7839, 'KING', 'PRESIDENT', null, '1981-11-17', 5000, null, 10);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7844, 'TURNER', 'SALESMAN', 7698,'1981-09-08', 1500, 0, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7876, 'ADAMS', 'CLERK', 7788, '1987-05-23', 1100, null, 20);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950, null, 30);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000, null, 20);insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300, null, 10);insert into salgrade (grade, losal, hisal) values (1, 700, 1200);
insert into salgrade (grade, losal, hisal) values (2, 1201, 1400);
insert into salgrade (grade, losal, hisal) values (3, 1401, 2000);
insert into salgrade (grade, losal, hisal) values (4, 2001, 3000);
insert into salgrade (grade, losal, hisal) values (5, 3001, 9999);

使用方式: 创建一个后缀为sql的文件 ,然后将代码拷贝一下,登录mysql 之后 source一下sql文件

显示每个部门的平均工资和最高工资

select deptno,avg(sal),max(sal) from emp group by deptno;

显示每个部门的每种岗位的平均工资和最低工资

select avg(sal),min(sal),job, deptno from emp group by deptno, job;

显示平均工资低于2000的部门和它的平均工资

select avg(sal) as myavg from emp group by deptno having myavg<2000;-- having经常和group by搭配使用,作用是对分组进行筛选,作用有些像where

思考: 如果将上的 having 换成 where 行不行呢?

select avg(sal) as myavg from emp group by deptno where myavg<2000;

答案是不行的,因为

  • SQL查询中各个关键字的执行先后顺序 from > on> join > where > group by > with > having > select > distinct > order by > limit

ysql 之后 source一下sql文件

显示每个部门的平均工资和最高工资

select deptno,avg(sal),max(sal) from emp group by deptno;

[外链图片转存中…(img-1PMOzser-1685959423379)]

显示每个部门的每种岗位的平均工资和最低工资

select avg(sal),min(sal),job, deptno from emp group by deptno, job;

[外链图片转存中…(img-YQ8EbHd6-1685959423379)]

显示平均工资低于2000的部门和它的平均工资

select avg(sal) as myavg from emp group by deptno having myavg<2000;-- having经常和group by搭配使用,作用是对分组进行筛选,作用有些像where

[外链图片转存中…(img-8JUTBLQr-1685959423379)]

思考: 如果将上的 having 换成 where 行不行呢?

select avg(sal) as myavg from emp group by deptno where myavg<2000;

[外链图片转存中…(img-Hdv1PTmm-1685959423379)]

答案是不行的,因为

  • SQL查询中各个关键字的执行先后顺序 from > on> join > where > group by > with > having > select > distinct > order by > limit

  • 而我们取别名时是在select 中取的,而where 子句的执行优先级比select 高,即执行where 子句之时,别名还未产生; 且将myavg 改成 avg(sal) 也是不行的,

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Java开发手册中为什么不建议在for循环中使用“+“进行字符串操作

场景 java开发手册中对于循环体中进行字符串的拼接要求如下&#xff1a; 【推荐】循环体内&#xff0c;字符串的连接方式&#xff0c;使用 StringBuilder 的 append 方法进行扩展。 说明&#xff1a;下例中&#xff0c;反编译出的字节码文件显示每次循环都会 new 出一个 Str…

docker安装golang

最近玩 docker 比较多&#xff0c;试试安装 golang 操作系统&#xff1a;Linux 第一步 先看一下镜像&#xff1a; docker images 看一下我们目前的镜像中&#xff0c;是不是有go 如果有&#xff0c;版本不合适等&#xff0c;可以考虑删除&#xff0c;重新安装&#xff0c;也…

死亡空间2显卡测试软件,《激战2》官方显卡测试数据 A卡略胜N卡

在经过无数次测试后&#xff0c;《激战2》的开发人员从测试玩家处获得了无数的反馈和数据&#xff0c;今天ArenaNet针对硬件配置公布了相关数据&#xff0c;从数据中可以看到&#xff0c;在其他硬件不会成为瓶颈的情况下&#xff0c;AMD显卡帧数要比同等级Nvidia显卡略高&#…

linux运行激战2,在Deepin 20.1系统下可用Wine来模拟运行激战2游戏

经过实测并确定&#xff0c;在Deepin 20.1系统下可以用Wine来模拟运行激战2网络游戏&#xff0c;它的表现跟Windows下差不多&#xff0c;虽然是Wine&#xff0c;但这个游戏优化还是挺好的&#xff0c;我是核显玩的&#xff0c;帧数大概30左右吧&#xff0c;效果在预期之内。 效…

《从零开始的 RPG 游戏制作教程》第六期:设置怪物掉落物并部署关卡怪物

目录 1. 前言 2. 第一期&#xff1a;制作基础场景 3. 第二期&#xff1a;让勇者和怪物登场 4. 第三期&#xff1a;基础的数值设计 5.第四期&#xff1a;从理论的角度简单聊聊关卡 6.第五期&#xff1a;制作物品和技能 第六期&#xff1a;设置怪物掉落物并部署关卡怪物 …

五大移动GPU厂商

《谁能笑傲江湖&#xff1f;移动处理器门派那些事儿》一文中我们把2012年的移动处理器的厂商做了一番介绍&#xff0c;并按照各自的属性给划分了门派。既然把他们称为江湖门派&#xff0c;那么每一个门派总要有自己的绝活。移动处理器厂商中CPU基本都是源自ARM&#xff0c;同架…

趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层

趣谈网络协议-第二模块-底层网络知识详解:2最重要的传输层 1&#xff1a;第10讲 | UDP协议&#xff1a;因性善而简单&#xff0c;难免碰到“城会玩”TCP 和 UDP 有哪些区别&#xff1f;UDP 包头是什么样的&#xff1f;UDP 的三大特点第一&#xff0c;沟通简单第二&#xff0c;轻…

物联网-鸡舍项目总结

转自&#xff1a;http://mt.sohu.com/20160816/n464326503.shtml&#xff0c;在此向作者致敬&#xff0c;干货很多。 本系统采用五层架构&#xff1a;传感器/智能设备→采集器/智能终端→智能网关→云中间件/Web后台→网页/微信。 鸡舍一般需要监控的参数&#xff0c;包括光照、…

Python爬虫可视化第2季-舌尖上的“小龙虾”

前言&#xff1a; 上期内容与大家分享了一些旅游的内容&#xff0c;从本期开始&#xff0c;会陆续分享一些为吃货们量身定制的文章。世界杯激战正酣&#xff0c;大家在欣赏精彩比赛的同时&#xff0c;怎能少了美食的陪伴&#xff0c;我们今天就来聊聊世界杯的好丽友-小龙虾。 P…

华为的汽车“攻势”

数字化转型&#xff0c;对于传统汽车的从业者而言&#xff0c;看起来还是一个陌生的词汇。\n 然而&#xff0c;现实是&#xff0c;把汽车产品数字化&#xff0c;把企业运营数字化&#xff0c;把一切实体的东西数字化、虚拟化&#xff0c;将成为传统车企不得不直面的事关生死的…

三级pc技术_第十九周PC、笔电、数码周边新品汇总:AMD英特尔激战正酣

【dogkeji-科技犬】 各位网友周末好&#xff0c;又到了2020年第十九周的PC、笔电、数码周边新品发布汇总时刻&#xff08;2020年5月4日至2020年5月9日&#xff09;&#xff0c;那么本周有那些PC、笔电、数码周边新品发布呢&#xff1f;通过科技犬的汇总我们来一起回顾一下吧。 …

安全——网络安全协议的引入

TCP/IP安全缺陷 信息泄露 概述 网络中投递的报文往往包含账号、口令等敏感信息&#xff0c;若这些信息泄露则是灾难性的后果。其中嗅探是一种常见而隐蔽的网络攻击手段。 嗅探 概述 问题&#xff1a;在共享式网络架构下&#xff0c;所有的数据都是以广播方式进行发送&…

618价格激战下的苏宁悟空榜 映射零售进阶史

今年的电商价格战&#xff0c;给我的感觉是猛的一批。百亿补贴、J-10%、24期免息、直播低价促销、自有品牌产品降价不降质等等&#xff0c;一套价格组合拳打下来&#xff0c;让原本萎靡不振的消费市场又恢复到了以往的热闹烟火气息氛围中。 联想到8年之前的京东刘强东向苏宁发起…

汽车控制芯片赛道“激战”,高性能车规MCU全球首发

中国芯片厂商正在加速进入高端车载MCU&#xff08;微控制单元&#xff09;市场。 4月12日&#xff0c;芯驰科技重磅发布了ISO 26262 ASIL D级的高性能、高可靠、高安全、广覆盖的车规MCU产品——“控之芯”E3系列&#xff0c;该系列产品采用台积电22nm车规工艺&#xff0c;集成…

monkeyrunner2

最近,做android项目测试,测试一个应用程序在多个设备中分辨率是否合适,麻烦得要命,不停的截图比较,前一段时间,研究了一下monkeyrunner ,决定通宵写一个实用性强的monkeyrunner来方便测试使用 前一段时间写的monkeyrunner资料 http://youxilua.blog.51cto.com/3357586/772666 功…

梦三国解析服务器spl文件头失败,流沙恐遭降级?《梦三国2》MPL夏季赛第二轮激战全面开启...

逐梦巅峰&#xff0c;为荣耀而战&#xff01;2020《梦三国2》职业联赛(简称&#xff1a;MPL)夏季常规赛第一轮较量于上周正式结束&#xff0c;风月战队后来居上&#xff0c;通过6小局连胜将战队积分累积至14分&#xff0c;积分排名连跳3级成功登顶第四周积分榜首之位。常规赛半…

2017计算机最高配置,快来升级你的电脑:2017年单机大作配置要求一览

2017年&#xff0c;众多新游戏都蓄势待发&#xff0c;你的PC是否还能经受得住接连而来的游戏性能挑战呢&#xff1f;当然每个玩家所爱的游戏都是不一样的&#xff0c;所谓众口难调&#xff0c;并且各家厂商对游戏的优化程度也不尽相同&#xff0c;而且网游和单机对于硬件的要求…

对安装Linux的服务器进行缓存清除

安装Linux的服务器缓存过高导致服务器运行速度慢 第一步&#xff0c;查看当前服务器中Linux系统的状态。 命令&#xff1a;free -h 第二步&#xff1a;备份内存缓冲区中的数据到磁盘中。 命令&#xff1a;sync 在大多数情况下&#xff0c;不需要手动使用sync命令&#xff0…

英文的美好。。。

If You Could Choose If you had the power to decide what types of opportunities would come your way, what opportunities would you select? If you knew that your experiences would match your expectations, what would your expectations be?In fact, you do have…

中国独特词的英文表达(转)

发表文章 中国独特词的英文表达&#xff08;转&#xff09; 2006-10-06 16:54:57 大中小 1、中国意念词&#xff08;Chinesenesses&#xff09; 八卦 trigram 阴、阳 yin, yang 道 Dao&#xff08;cf. logo&#xff09; 江湖&#xff08;世界&#xff09; the jianghu World &…