【MySQL】5.MySQL高级语句与sql语句

常用查询

对MySQL数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理;

例如:只取10条数据、对查询结果进行排序或分组等

一、按关键字排序

ps:类比与windows任务管理器

使用select 语句可以将需要的数据从MySQL数据库中查询出来;另外,还可以通过order by 语句实现排序,并将最终排序后的结果返回给用户;order by 排序语句可以针对单个或多个字段进行排序

(1)语法

select 字段1,字段2,... from 表名 order by 字段1,字段2,...

asc与desc

asc是按照升序进行排序的,是默认的排序方式,可以省略不写;select语句中如果没有指定具体的排序方式,就会默认按asc方式进行排序
desc是按降序方式进行行排列;order by语句前也可以使用where 子句来对查询结果进一步过滤;

模板表:
mysql> select * from class;
+------+--------+-------+----------+--------+
| id   | name   | score | address  | course |
+------+--------+-------+----------+--------+
| 0001 | yiyi   | 78.00 | shanghai | 1      |
| 0002 | lizi   | 92.00 | henan    | 1      |
| 0003 | monor  | 88.00 | nanjing  | 2      |
| 0004 | sisi   | 60.00 | nanjing  | 3      |
| 0005 | wuwu   | 37.00 | shanghai | 3      |
| 0006 | liuliu | 66.00 | henan    | 2      |
| 0007 | qiqi   | 13.00 | hangzhou | 4      |
+------+--------+-------+----------+--------+
7 rows in set (0.00 sec)mysql> desc class;
+---------+--------------------------+------+-----+---------+-------+
| Field   | Type                     | Null | Key | Default | Extra |
+---------+--------------------------+------+-----+---------+-------+
| id      | int(4) unsigned zerofill | NO   | PRI | NULL    |       |
| name    | char(10)                 | YES  |     | NULL    |       |
| score   | decimal(5,2)             | YES  |     | NULL    |       |
| address | varchar(80)              | YES  |     | NULL    |       |
| course  | char(10)                 | YES  |     | NULL    |       |
+---------+--------------------------+------+-----+---------+-------+
5 rows in set (0.00 sec)mysql> 
1.按指定字段默认排序
select 字段1,字段2,... from 表名 order by 排序字段;
#按score分数进行排序mysql> select id,name,score from class order by score;
+------+--------+-------+
| id   | name   | score |
+------+--------+-------+
| 0007 | qiqi   | 13.00 |
| 0005 | wuwu   | 37.00 |
| 0004 | sisi   | 60.00 |
| 0006 | liuliu | 66.00 |
| 0001 | yiyi   | 78.00 |
| 0003 | monor  | 88.00 |
| 0002 | lizi   | 92.00 |
+------+--------+-------+
7 rows in set (0.00 sec)
2.按指定字段降序
select 字段1,字段2,... from 表名 order by 排序字段 desc;
#按score分数进行降序排列mysql> select id,name,score from class order by score desc;
+------+--------+-------+
| id   | name   | score |
+------+--------+-------+
| 0002 | lizi   | 92.00 |
| 0003 | monor  | 88.00 |
| 0001 | yiyi   | 78.00 |
| 0006 | liuliu | 66.00 |
| 0004 | sisi   | 60.00 |
| 0005 | wuwu   | 37.00 |
| 0007 | qiqi   | 13.00 |
+------+--------+-------+
7 rows in set (0.00 sec)
3.结合where子句进行条件过滤
select 字段1,字段2,... from 表名 where 字段='过滤值' order by 排序字段 desc;
#order by 结合 where 子句过滤排序mysql> select id,name,score,course from class where course='2' order by score desc;
+------+--------+-------+--------+
| id   | name   | score | course |
+------+--------+-------+--------+
| 0003 | monor  | 88.00 | 2      |
| 0006 | liuliu | 66.00 | 2      |
+------+--------+-------+--------+
2 rows in set (0.00 sec)
4.多字段排序

order by语句也可以使用多个字段来进行排序;当排序的第一个字段有多个相同的记录时,这些记录再按第二个字段进行排序;多个排序字段间用逗号隔开,优先级按先后顺序而定;只用当记录的第一个排序字段相同时,第二个排序字段才会生效

select 字段1,字段2,... from 表名 order by 排序字段1,排序字段2;
#查询学生信息,先按科目升序,再按分数降序mysql> select id,name,score,course from class order by course,score desc;
+------+--------+-------+--------+
| id   | name   | score | course |
+------+--------+-------+--------+
| 0002 | lizi   | 92.00 | 1      |
| 0001 | yiyi   | 78.00 | 1      |
| 0003 | monor  | 88.00 | 2      |
| 0006 | liuliu | 66.00 | 2      |
| 0004 | sisi   | 60.00 | 3      |
| 0005 | wuwu   | 37.00 | 3      |
| 0007 | qiqi   | 13.00 | 4      |
+------+--------+-------+--------+
7 rows in set (0.00 sec)

总结:按照关键字 或者字段进行 降序排列或者升序排列

二、区间判断及查询不重复记录(去重)

1.区间判断排序(and/or)
and 和 or ———— 且 和 或
#and 同时满足;分数大于60且小于90mysql> select * from class where score>60 and score<90;
+------+--------+-------+----------+--------+
| id   | name   | score | address  | course |
+------+--------+-------+----------+--------+
| 0001 | yiyi   | 78.00 | shanghai | 1      |
| 0003 | monor  | 88.00 | nanjing  | 2      |
| 0006 | liuliu | 66.00 | henan    | 2      |
+------+--------+-------+----------+--------+
3 rows in set (0.00 sec)#or 满足其一即可;分数大于90或小于等于60
mysql> select * from class where score>90 or score<=60;
+------+------+-------+----------+--------+
| id   | name | score | address  | course |
+------+------+-------+----------+--------+
| 0002 | lizi | 92.00 | henan    | 1      |
| 0004 | sisi | 60.00 | nanjing  | 3      |
| 0005 | wuwu | 37.00 | shanghai | 3      |
| 0007 | qiqi | 13.00 | hangzhou | 4      |
+------+------+-------+----------+--------+
4 rows in set (0.00 sec)
2.嵌套/多条件查询排序
mysql> select * from class where score>60 or (score>65 and score<95);
+------+--------+-------+----------+--------+
| id   | name   | score | address  | course |
+------+--------+-------+----------+--------+
| 0001 | yiyi   | 78.00 | shanghai | 1      |
| 0002 | lizi   | 92.00 | henan    | 1      |
| 0003 | monor  | 88.00 | nanjing  | 2      |
| 0006 | liuliu | 66.00 | henan    | 2      |
+------+--------+-------+----------+--------+
4 rows in set (0.00 sec)mysql> select * from class where score>10 and (score>=60 and score<90);
+------+--------+-------+----------+--------+
| id   | name   | score | address  | course |
+------+--------+-------+----------+--------+
| 0001 | yiyi   | 78.00 | shanghai | 1      |
| 0003 | monor  | 88.00 | nanjing  | 2      |
| 0004 | sisi   | 60.00 | nanjing  | 3      |
| 0006 | liuliu | 66.00 | henan    | 2      |
+------+--------+-------+----------+--------+
4 rows in set (0.00 sec)
3.distinct查询不重复记录
select distinct 字段 from 表名;
mysql> select distinct course from class;
+--------+
| course |
+--------+
| 1      |
| 2      |
| 3      |
| 4      |
+--------+
4 rows in set (0.00 sec)

三、对结果进行分组(聚合函数)

通过sql查询出来的结果,还可以对其进行分组,使用group by语句来实现;

group by 通常都是结合聚合函数一起使用的,常用的聚合函数包括:计数(COUNT)、 求和(SUM)、求平均数(AVG)、最大值(MAX)、最小值(MIN),group by 分组的时候可以按一个或多个字段对结果进行分组处理。

语法
select 字段1,聚合函数(字段名) from 表名 where 字段名 运算符值 group by 被分组字段名;SELECT column_name, aggregate_function(column_name)FROM table_name WHERE column_name operator value GROUP BY column_name;#聚合函数后面括号中的字段要有唯一性(主键或唯一键)

1.分组统计个数
select count(字段1),字段2 from 表名 group by 字段2;#表示以字段2分组,并以字段1来统计每组的个数
#不管是分组、升序还是降序 都是针对字段进行的

以科目分组,统计相同科目的学生人数(基于name个数进行计数)

mysql> select count(name),score,course from class group by course;
+-------------+-------+--------+
| count(name) | score | course |
+-------------+-------+--------+
|           2 | 78.00 | 1      |
|           2 | 88.00 | 2      |
|           2 | 60.00 | 3      |
|           1 | 13.00 | 4      |
+-------------+-------+--------+
4 rows in set (0.00 sec)
2.结合where语句进行筛选

筛选分数大于等于80的分组,并计算学生个数

mysql> select count(name),score,course from class where score>=80 group by course;
+-------------+-------+--------+
| count(name) | score | course |
+-------------+-------+--------+
|           1 | 92.00 | 1      |
|           1 | 88.00 | 2      |
+-------------+-------+--------+
2 rows in set (0.00 sec)count(name):计数
>=80    优秀
>=60    及格
<60     不及格
3.结合order by 进行排序

结合order by把计算出的学生个数按成绩降序排列

mysql> select count(name),score,course from class where score>=80 group by course order by score desc;
+-------------+-------+--------+
| count(name) | score | course |
+-------------+-------+--------+
|           1 | 92.00 | 1      |
|           1 | 88.00 | 2      |
+-------------+-------+--------+
2 rows in set (0.00 sec)
统计表中有多少条数据
select count(*) from 表名;
#统计表中有多少条数据
mysql> select count(*) from class;
+----------+
| count(*) |
+----------+
|        7 |
+----------+
1 row in set (0.00 sec)#统计分数的总和
mysql> select sum(score) from class;
+------------+
| sum(score) |
+------------+
|     434.00 |
+------------+
1 row in set (0.01 sec)#统计最小分数
mysql> select min(score) from class;
+------------+
| min(score) |
+------------+
|      13.00 |
+------------+
1 row in set (0.00 sec)#统计最大分数
mysql> select max(score) from class;
+------------+
| max(score) |
+------------+
|      92.00 |
+------------+
1 row in set (0.00 sec)#统计平均分数
mysql> select avg(score) from class;
+------------+
| avg(score) |
+------------+
|  62.000000 |
+------------+
1 row in set (0.00 sec)

限制结果条目(limit)

limit限制输出的结果记录

在使用mysql 的 select 语句进行查询时,结果集返回的是所有匹配的行(记录);但有时仅需要返回第一行或者某几行时,就要用到 limit子句了

语法
select 字段1,字段2,... from 表名 limit 参数1,参数2;

limit 的第一个参数时位置偏移量(可选参数,可不写),设置MySQL从哪一行开始显示;
如果不设置第一个参数将会默认从第一条记录开始显示;
第一条记录的位置偏移量是0(一般是列名行),第二条是1,以此类推;
第二个参数是设置返回记录行的最大数目;

1.查询所有信息并只显示前3行记录
mysql> select * from class limit 3;
+------+-------+-------+----------+--------+
| id   | name  | score | address  | course |
+------+-------+-------+----------+--------+
| 0001 | yiyi  | 78.00 | shanghai | 1      |
| 0002 | lizi  | 92.00 | henan    | 1      |
| 0003 | monor | 88.00 | nanjing  | 2      |
+------+-------+-------+----------+--------+
3 rows in set (0.00 sec)
2.从第3行开始,往后显示3行
mysql> select * from class limit 2,3;
+------+-------+-------+----------+--------+
| id   | name  | score | address  | course |
+------+-------+-------+----------+--------+
| 0003 | monor | 88.00 | nanjing  | 2      |
| 0004 | sisi  | 60.00 | nanjing  | 3      |
| 0005 | wuwu  | 37.00 | shanghai | 3      |
+------+-------+-------+----------+--------+
3 rows in set (0.00 sec)
3.结合order by 语句,按id升序排列显示前3行
mysql> select * from class order by id limit 3;
+------+-------+-------+----------+--------+
| id   | name  | score | address  | course |
+------+-------+-------+----------+--------+
| 0001 | yiyi  | 78.00 | shanghai | 1      |
| 0002 | lizi  | 92.00 | henan    | 1      |
| 0003 | monor | 88.00 | nanjing  | 2      |
+------+-------+-------+----------+--------+
3 rows in set (0.00 sec)
基础select 小的升阶
1.怎么只输出后3行
mysql> select * from class order by id desc limit 3;
+------+--------+-------+----------+--------+
| id   | name   | score | address  | course |
+------+--------+-------+----------+--------+
| 0007 | qiqi   | 13.00 | hangzhou | 4      |
| 0006 | liuliu | 66.00 | henan    | 2      |
| 0005 | wuwu   | 37.00 | shanghai | 3      |
+------+--------+-------+----------+--------+
3 rows in set (0.00 sec)#先desc 降序排列,再输出前3行即可
2.怎么对前3行进行降序
第一种方法:mysql> select * from (select * from class limit 3) as a order by score desc;
+------+-------+-------+----------+--------+
| id   | name  | score | address  | course |
+------+-------+-------+----------+--------+
| 0002 | lizi  | 92.00 | henan    | 1      |
| 0003 | monor | 88.00 | nanjing  | 2      |
| 0001 | yiyi  | 78.00 | shanghai | 1      |
+------+-------+-------+----------+--------+
3 rows in set (0.00 sec)第二种方法:
可以先限制输出前3行并将数据导入一个新表,再在新表中进行降序

企业中删除数据时,先用select 查看,确认数据后,再换用delete删除,比较安全准确

四、设置别名alias

在MySQL查询时,当表的名字比较长或者表内某些字段比较长时,为了方便书写或者多次使用相同的表,可以给字段或者表设置别名;使用时直接使用别名,简洁明了,增强可读性;

可以给表或表的列设置别名,增强可读性;alias可以简写为as;
别名的设置是临时的,只有临时的显示效果,并不会修改表的结构;

语法

列的别名:select 列名1,列名2 as 别名,... from 表名;

表的别名:select 别名.列名1,别名.列名2,... from 表名 as 别名;

  在使用as后,可用 别名 代替 表名 ,其中as语句是可选的;as之后的别名,主要是为表内的列或者表提供临时的名称,在查询过程中使用,库内实际的表名 或字段名是不会被改变的

设置列名的别名

别名只有临时的显示效果,并不会修改表的结构;

mysql> select id,name as 姓名,score,course 课程 from class;
+------+--------+-------+--------+
| id   | 姓名   | score | 课程   |
+------+--------+-------+--------+
| 0001 | yiyi   | 78.00 | 1      |
| 0002 | lizi   | 92.00 | 1      |
| 0003 | monor  | 88.00 | 2      |
| 0004 | sisi   | 60.00 | 3      |
| 0005 | wuwu   | 37.00 | 3      |
| 0006 | liuliu | 66.00 | 2      |
| 0007 | qiqi   | 13.00 | 4      |
+------+--------+-------+--------+
7 rows in set (0.00 sec)#alias 别名可以简写为 as;应为是系统默认的值,所以也可以省略不写(列名后面直接跟别名)
设置表名的别名

当多表之间的有相同字段时,可以用别名来区分

mysql> select a.id,a.name,a.score from class as a;
+------+--------+-------+
| id   | name   | score |
+------+--------+-------+
| 0001 | yiyi   | 78.00 |
| 0002 | lizi   | 92.00 |
| 0003 | monor  | 88.00 |
| 0004 | sisi   | 60.00 |
| 0005 | wuwu   | 37.00 |
| 0006 | liuliu | 66.00 |
| 0007 | qiqi   | 13.00 |
+------+--------+-------+
7 rows in set (0.00 sec)
查询表的字段数量

使用场景:

1.对复杂的表进行查询的时候,别名可以缩短查询语句的长度
2.多表查询时,方便通俗易懂,简短sql语句

as 将查询的数据导入新表

create table test as select * from class limit 3;

此处 as 的作用:
1、创建了一个新表test 并定义表结构,插入表数据(与class表相同)
2、但是”约束“没有被完全”复制“过来 #但是如果原表设置了主键,那么附表的:default字段会默认设置一个0
相似:与克隆表复制表结构时相似
create table test (select * from class);
#也可以加入where 语句判断
create table test1 as select * from class where score >=60;
 
在为表设置别名时,要保证别名不能与数据库中的其他表的名称冲突。
列的别名是在结果中有显示的,而表的别名在结果中没有显示,只在执行查询时使用。 
 

mysql> create table test as select * from class limit 3;
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| class            |
| test             |
+------------------+
2 rows in set (0.00 sec)mysql> select * from test;
+------+-------+-------+----------+--------+
| id   | name  | score | address  | course |
+------+-------+-------+----------+--------+
| 0001 | yiyi  | 78.00 | shanghai | 1      |
| 0002 | lizi  | 92.00 | henan    | 1      |
| 0003 | monor | 88.00 | nanjing  | 2      |
+------+-------+-------+----------+--------+
3 rows in set (0.00 sec)

五、通配符

通配符主要用于替换字符串中的部分字符,通过部分字符的匹配将相关结果查询出来

通常通配符都是跟 like (模糊匹配)一起使用,协同where子句共同完成查询任务;

常用的通配符有两个:% 和 _

%        百分号表示零个、一个或多个字符
_        下划线表示单个字符

查询以xxx开头的记录

查询以l开头的用户

mysql> select * from class where name like 'l%';
+------+--------+-------+---------+--------+
| id   | name   | score | address | course |
+------+--------+-------+---------+--------+
| 0002 | lizi   | 92.00 | henan   | 1      |
| 0006 | liuliu | 66.00 | henan   | 2      |
+------+--------+-------+---------+--------+
2 rows in set (0.00 sec)mysql> select * from class where name like 'L%';
+------+--------+-------+---------+--------+
| id   | name   | score | address | course |
+------+--------+-------+---------+--------+
| 0002 | lizi   | 92.00 | henan   | 1      |
| 0006 | liuliu | 66.00 | henan   | 2      |
+------+--------+-------+---------+--------+
2 rows in set (0.00 sec)#对大小写不敏感
查询以xxx结尾的记录

查询以r结尾的记录

mysql> select * from class where name like '%r';
+------+-------+-------+---------+--------+
| id   | name  | score | address | course |
+------+-------+-------+---------+--------+
| 0003 | monor | 88.00 | nanjing | 2      |
+------+-------+-------+---------+--------+
1 row in set (0.00 sec)
查询中间有xxx的记录

查询中间有u的记录

mysql> select * from class where name like '%u%';
+------+--------+-------+----------+--------+
| id   | name   | score | address  | course |
+------+--------+-------+----------+--------+
| 0005 | wuwu   | 37.00 | shanghai | 3      |
| 0006 | liuliu | 66.00 | henan    | 2      |
+------+--------+-------+----------+--------+
2 rows in set (0.00 sec)
查询 xxx 隔xxx个字符后为 xxx 的记录

查询 i 隔一个字符后为 l 的记录

mysql> select * from class where name like '%i_l%';
+------+--------+-------+---------+--------+
| id   | name   | score | address | course |
+------+--------+-------+---------+--------+
| 0006 | liuliu | 66.00 | henan   | 2      |
+------+--------+-------+---------+--------+
1 row in set (0.00 sec)mysql> select * from class where name like 'l%i%';
+------+--------+-------+---------+--------+
| id   | name   | score | address | course |
+------+--------+-------+---------+--------+
| 0002 | lizi   | 92.00 | henan   | 1      |
| 0006 | liuliu | 66.00 | henan   | 2      |
+------+--------+-------+---------+--------+
2 rows in set (0.00 sec)

总结

1. order by 排序

指定字段默认排序
select 字段1,字段2,... from 表名 order by 排序字段;
指定字段降序
select 字段1,字段2,... from 表名 order by 排序字段 desc;
结合where子句进行条件过滤
select 字段1,字段2,... from 表名 where 字段='过滤值' order by 排序字段 desc;
多字段排序
select 字段1,字段2,... from 表名 order by 排序字段1,排序字段2;

2.区间判断排序and 和 or

select * from class where 区间1 and 区间2;
select * from class where 区间1 or 区间2;嵌套/多条件查询排序
select * from class where score>60 or (score>65 and score<95);distinct查询不重复记录
select distinct 字段 from 表名;

3.对结果进行分组(聚合函数)

聚合函数
select 字段1,聚合函数(字段名) from 表名 where 字段名 运算符值 group by 被分组字段名;
#聚合函数后面括号中的字段要有唯一性(主键或唯一键)分组统计个数
select count(字段1),字段2 from 表名 group by 字段2;
结合where语句进行筛选
select count(name),score,course from class where score>=80 group by course;
结合order by 进行排序
select count(name),score,course from class where score>=80 group by course order by score desc;聚合函数:count计数、sum求和、avg求平均数、max最大值、min最小值
select count(*) from 表名;
select sum(score) from class;
select min(score) from class;
select max(score) from class;
select avg(score) from class;
限制结果条目(limit)
限制结果条目(limit)
select 字段1,字段2,... from 表名 limit 参数1,参数2;按id升序排列显示前3行
select * from class order by id limit 3;只输出后3行
select * from class order by id desc limit 3;对前3行进行降序
select * from (select * from class limit 3) as a order by score desc;

4.设置别名alias

别名的设置是临时的,只有临时的显示效果,并不会修改表的结构;

列的别名
select 列名1,列名2 as 别名,... from 表名;
表的别名
select 别名.列名1,别名.列名2,... from 表名 as 别名;as 将查询的数据导入新表
create table 新表名 as select * from 表名;

5.通配符

% 和 _ 与like和where子句共同完成查询任务;对大小写不敏感

查询以xxx开头的记录
select * from class where name like 'l%';
查询 xxx 隔xxx个字符后为 xxx 的记录
select * from class where name like '%i_l%';

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

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

相关文章

谷粒商城——缓存——SpringCache

1. 配置使用 首先需要导入相关的依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency> 随后在配置文件中进行配置&#xff1a; spring:cache:t…

oracle补丁升级(19.3-19.22)

一、备份原来的opatch和数据库文件 这里要根据自己的路径&#xff1a; mv /u01/app/oracle/product/19.3.0/db_1/OPatch /u01/app/oracle/product/19.3.0/db_1/OPatch.bakcd /u01/app mkdir -p /u01/app/backup tar -pcvf /u01/app/backup/oracle_backup.tar /u01/app/oracle/…

nginx 同一个端口支持http和https配置

原理&#xff1a;使用nginx的stream、 stream_ssl_preread模块 由于stream和stream_ssl_preread模块非默认引入&#xff0c;需要在编译安装nginx时引入&#xff1b;编译时添加配置参数 --with-stream --with-stream_ssl_preread_module 1、编译nginx ./configure --prefix/usr…

git文件夹瘦身

git历史commit中可能包含一些build文件夹&#xff0c;想要删掉缩小git大小。主要参考&#xff1a; git: 如何减少.git文件的大小&#xff1f;_.git瘦身-CSDN博客 一、查看git中文件大小 # 查看.git中前十位大小的文件 &#xff08;hash值&#xff0c; 大小Byte&#xff09; …

使用llamafile 构建本地大模型运用

安装 https://github.com/Mozilla-Ocho/llamafile 下载 大模型文件&#xff0c;选择列表中任意一个 wget https://huggingface.co/jartine/llava-v1.5-7B-GGUF/resolve/main/llava-v1.5-7b-q4.llamafile?downloadtrue https://github.com/Mozilla-Ocho/llamafile?tabre…

智慧农业领航:数字乡村助力乡村振兴与可持续发展

目录 一、引言 二、智慧农业的内涵与特点 三、数字乡村助力乡村振兴的路径 1、提升农业生产效率 2、优化农业产业结构 3、促进乡村社会治理现代化 三、智慧农业在可持续发展中的作用 1、促进资源节约与环境保护 2、提升农产品质量与食品安全 3、推动乡村经济多元化发…

蓝桥杯第十三届蓝桥杯大赛软件赛决赛CC++ 研究生组之交通信号

蓝桥杯第十三届蓝桥杯大赛软件赛决赛C/C 研究生组之交通信号 题目链接[0交通信号 - 蓝桥云课 (lanqiao.cn)] 本题的思路十分简单&#xff0c;先看题意&#xff0c;是由n个节点&#xff0c;m条边的有向图&#xff0c;红绿灯的顺序为绿黄红黄&#xff0c;在最开始时候为绿灯&am…

VOC(客户之声)赋能智能家居:打造个性化、交互式的未来生活体验

随着科技的飞速发展&#xff0c;智能家居已成为现代家庭不可或缺的一部分。然而&#xff0c;如何让智能家居更好地满足用户需求&#xff0c;提供更贴心、更智能的服务&#xff0c;一直是行业关注的焦点。在这个背景下&#xff0c;VOC&#xff08;客户之声&#xff09;作为一种用…

Redis入门到实战-第十七弹

Redis实战热身t-digest篇 完整命令参考官网 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是一个开源的&#xff08;采用BSD许可证&#xff09;&#xff0c;用作数据库、缓存、消息代理…

【Java程序设计】【C00379】基于(JavaWeb)Springboot的旅游服务平台(有论文)

【C00379】基于&#xff08;JavaWeb&#xff09;Springboot的旅游服务平台&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c…

3.学习前后端关联

目录 1.接口类型 2.错误状态码 3.如何定义路由 4.那如何要求前端传入一个JSON数据呢&#xff1f; 4.解决前后端口不同源,跨域问题 1.使用CrossOrigin 2.直接复制代码使用 5.用户登录校验 1.接口类型 POST(新增数据)、PUT(更新更改数据)、GET(查询)、DELET(删除数据) …

Anaconda和Python是什么关系?

Anaconda和Python相当于是汽车和发动机的关系&#xff0c;你安装Anaconda后&#xff0c;就像买了一台车&#xff0c;无需你自己安装发动机和其他零配件&#xff0c;而Python作为发动机提供Anaconda工作所需的内核。 简单来说&#xff0c;Anaconda是一个集成了IDE、Notepad、P…

node项目中express的使用

01 expres项目的基础配置 第一步 需要先初始化项目 npm init -y第二步 安装express&#xff1a; npm i express;第三步 项目中创建app.js文件第四步 进行配置代码如下&#xff1a;var express require(express)var app express()配置路由app.get(/,(req,res)>{res.send(…

Linux初学(九)shell 脚本

一、shell 脚本编程 1.1 简介 shell脚本就是一个文件 在这个文件中包含了要批量自动执行的命令 写shell脚本的基本规范 第一步&#xff1a;用vi/vim创建一个后缀是.sh的文件 第二步&#xff1a;在文件中写入内容 第一行是&#xff1a;#!/bin/bash 指定程序的解释器从第二行开始…

网络层介绍,IP地址分类以及作用

IP地址组成&#xff1a; TTL&#xff1a;生存时间 基于ICMP报文 特殊地址&#xff1a; 0.0.0.0-0.255.255.255 1.代表未指定的地址 默认路由 DHCP下发地址的时候&#xff0c;发个报文给DHCP服务器 临时用0.0.0.0借用地址&#xff0c;未指定地址。 2.全网地址&#xff1a;目…

nginx 日志配置

access_log access_log用来记录客户端请求访问日志&#xff0c;可以出现在http&#xff0c;server&#xff0c;location&#xff0c;if块中。语法如下: access_log path [format [buffersize] [gzip[level]] [flushtime] [ifcondition]];path用来指定日志存放路径&#xff0c…

【pytorch】安装合集

使用conda或者pip安装的指令 https://pytorch.org/get-started/previous-versions/ 测试pytorch_gpu是否可用的代码 # 测试pytorch是否安装成功 import torch print(torch.__version__) print(torch.cuda.is_available())

阐述el-dropdown(下拉菜单)的基本知识

目录 1. 基本知识2. Demo3. 实战 1. 基本知识 el-dropdown是一个常用的UI组件&#xff0c;用于创建下拉菜单&#xff0c;通常用于实现各种交互式菜单、导航栏或下拉选项 确保安装Element UI库&#xff0c;它包含了el-dropdown组件 npm install element-ui # 或者 yarn add e…

配置Web运行环境与第一个网页

安装与配置Web环境: 如下使用了VSC作为web的运行环境。 下面是VSC的官网点击进入:Download Visual Studio Code - Mac, Linux, Windowshttps://code.visualstudio.com/download 1.下载 进入官网后可以看到有windows&#xff0c;linux&#xff0c;还有苹果按照自己的系统下载&…

Node Sass does not yet support your current environment

项目运行时报错&#xff1a;Node Sass does not yet support your current environment 原因是node版本过高。 解决办法&#xff1a; 使用nvm管理node版本&#xff0c;&#xff08;如何安装nvm&#xff1f;请点击跳转&#xff09; 具体步骤如下&#xff1a; 1.查看当前node…