看一眼Mysql查询语句

news2024/10/6 6:40:40


目录

🛻 查询数据

🛻基本查询语句

🛻单表查询

🚕查询所有字段

🚕查询指定字段

🚕查询指定记录

🚕带in关键字的查询

🚕带between and的范围查询

🚕带like的字符匹配查询

🚕查询空值

🚕带and的多条件查询

🚕带or的多条件查询

🚕查询结果不重复

🚕对查询结果排序

🛻单列排序

🛻多列排序

🛻指定排序方向

🚕分组查询

🛻聚合函数查询

🚕count()函数

🚕sum()函数

🚕avg()函数

🚕max()函数


MySQL 数据库基本查询
Mysql基本查询

 查询数据

      数据库管理系统的一个最重要的功能就是数据查询,数据查询不应只是简单查询数据库中存储的数据,还应该根据需要对数据进行筛选,以及确定数据以什么样的格式显示。MySQL提供了功能强大、灵活的语句来实现这 些操作

基本查询语句

mysql 从数据表中查询数据的基本语句为 select 语句。 select 语句的基本格式是:
SELECT {* | < 字段列表 >} [ FROM < 1>, < 2>.... [ where < 表达式 > ] [ group by ] [ having ] [ order by
<..> ] [ limit <...> ]
{*|<字段列表>} 包含星号通配符选择字段列表,表示查询的字段,其中字段列至少包含一个字段名称,如果要查询多个字段,多个字段之间用逗号隔开,最后一个字段后不要加逗号。
FROM < 1>,< 2>... :表 1 和表 2 表示查询数据的来源,可以是单个或多个。
WHERE子句是可选项 ,如果选择该项,将限定查询必须满足的查询条件。
GROUP BY<字段> ,该子句告诉 MySQL 按什么样的顺序显示查询出来的数据,可以进行的排序有:升序 (asc )、降序( desc )。
[limit], 该子句告诉 mysql 每次显示查询出来的数据条款。

创建表:
mysql> create table fruits
    -> (
    -> f_id char(10) not null,
    ->  s_id int not null,
    ->  f_name char(255) not null,
    ->  f_price decimal(8,2) not null,
    ->  primary key(f_id)
    ->  );

添加内容:

mysql> insert into fruits(f_id,s_id,f_name,f_price)
    -> values('a1',101,'apple','5.2'),
    ->  ('b1',101,'blackberry','10.2'),
    ->  ('bs1',102,'orange','11.2'),
    ->  ('bs2',105,'melon','8.2'),
    ->  ('t1',102,'banana','10.3'),
    ->  ('t2',102,'grape','5.3'),
    ->  ('o2',103,'coconut','9.2'),
    ->  ('c0',101,'cherry','3.2'),
    ->  ('a2',103,'apricot','2.2'),
    ->  ('l2',104,'lemon','6.4'),
    ->  ('b2',104,'berry','7.6'),
    ->  ('m1',106,'mango','15.7'),
    ->  ('m2',105,'xbabay','2.6'),
    ->  ('t4',107,'xbababa','3.6'),
    ->  ('m3',105,'xxtt','11.6'),
    ->  ('b5',107,'xxxx','3.6');

单表查询

单表查询是指从一张表数据中查询所需的数据。主要有:查询所有字段、查询指定字段、查询指定记录、查询空值、多条件的查询、对查询结果进行排序等方式。

查询所有字段

1. select 语句中使用星号( )通配符查询所有字段。 select 查询记录最简单的形式是从一个表中检索所有记录,实现的方法是使用星号()通配符指定查找所有列的名称。 (不建议使用)
mysql> select * from fruits;
+------+------+------------+---------+
| f_id | s_id | f_name     | f_price |
+------+------+------------+---------+
| a1   |  101 | apple      |    5.20 |
| a2   |  103 | apricot    |    2.20 |
| b1   |  101 | blackberry |   10.20 |
| b2   |  104 | berry      |    7.60 |
| b5   |  107 | xxxx       |    3.60 |
| bs1  |  102 | orange     |   11.20 |
| bs2  |  105 | melon      |    8.20 |
| c0   |  101 | cherry     |    3.20 |
| l2   |  104 | lemon      |    6.40 |
| m1   |  106 | mango      |   15.70 |
| m2   |  105 | xbabay     |    2.60 |
| m3   |  105 | xxtt       |   11.60 |
| o2   |  103 | coconut    |    9.20 |
| t1   |  102 | banana     |   10.30 |
| t2   |  102 | grape      |    5.30 |
| t4   |  107 | xbababa    |    3.60 |
+------+------+------------+---------+
16 rows in set (0.00 sec)

查询指定字段

select 字段名 from 表名;

mysql> select f_name from fruits;
+------------+
| f_name     |
+------------+
| apple      |
| apricot    |
| blackberry |
| berry      |
| xxxx       |
| orange     |
| melon      |
| cherry     |
| lemon      |
| mango      |
| xbabay     |
| xxtt       |
| coconut    |
| banana     |
| grape      |
| xbababa    |
+------------+
16 rows in set (0.00 sec)

2.查询多个字段 使用select声明,可以获取多个字段下的数据,只需要在关键字select后面指定要查询的字段的名称,不同字段名称之间用逗号分隔,最后一个字段后面不需要加逗号

mysql> select f_id,s_id,f_name from fruits;
+------+------+------------+
| f_id | s_id | f_name     |
+------+------+------------+
| a1   |  101 | apple      |
| a2   |  103 | apricot    |
| b1   |  101 | blackberry |
| b2   |  104 | berry      |
| b5   |  107 | xxxx       |
| bs1  |  102 | orange     |
| bs2  |  105 | melon      |
| c0   |  101 | cherry     |
| l2   |  104 | lemon      |
| m1   |  106 | mango      |
| m2   |  105 | xbabay     |
| m3   |  105 | xxtt       |
| o2   |  103 | coconut    |
| t1   |  102 | banana     |
| t2   |  102 | grape      |
| t4   |  107 | xbababa    |
+------+------+------------+
16 rows in set (0.00 sec)

查询指定记录

数据库中包含大量的数据,根据特殊要求可能只需要查询表中的指定数据,相当于对数据的过滤。在select语句中,通过where子句可以对数据进行过滤。
select 字段1,字段2....字段n from 表名 where 查询条件;
操作符
说明
=
相等
<>,!=
不相等
<
小于
<=
小于等于
>
大于等于
>=
大于等于
BETWEEN
位于两端之间
mysql> select f_name,f_price
    -> from fruits
    -> where f_price = 10.2;
+------------+---------+
| f_name     | f_price |
+------------+---------+
| blackberry |   10.20 |
+------------+---------+
1 row in set (0.01 sec)

in关键字的查询

in操作符用来查询满足指定范围内的条件的记录,使用IN操作符,将所有检索条件用括号括起来,检索条件之间用逗号分隔开,只要满足条件范围内的一个值即为匹配项。
mysql> select s_id,f_name,f_price
    -> from fruits
    -> where s_id in (101,102)
    -> order by f_name;
+------+------------+---------+
| s_id | f_name     | f_price |
+------+------------+---------+
|  101 | apple      |    5.20 |
|  102 | banana     |   10.30 |
|  101 | blackberry |   10.20 |
|  101 | cherry     |    3.20 |
|  102 | grape      |    5.30 |
|  102 | orange     |   11.20 |
+------+------------+---------+
6 rows in set (0.00 sec)

between and的范围查询

Between and用来查询某个范围内的值,该操作符需要两个参数,即范围的开始值和结束值,如果字段值满足指定的范围查询条件,则这些记录被返回。
mysql> select f_name,f_price
    -> from fruits
    -> where f_price between 2.00 and 3.00;
+---------+---------+
| f_name  | f_price |
+---------+---------+
| apricot |    2.20 |
| xbabay  |    2.60 |
+---------+---------+
2 rows in set (0.00 sec)

like的字符匹配查询

通配符是一种在SQLwhere条件子句中拥有特殊意思的字符,SQL语句中支持多种通配符,可以和like一起使用的通配符有‘%’‘_’

1.百分号(%)通配符,匹配任意长度的字符,甚至包括零字符


mysql> select f_id,f_name
    -> from fruits
    -> where f_name like 'b%';
+------+------------+
| f_id | f_name     |
+------+------------+
| b1   | blackberry |
| b2   | berry      |
| t1   | banana     |
+------+------------+
3 rows in set (0.00 sec)

2.下划线(__)通配符,一次只能匹配任意一个字符

mysql> select f_id,f_name
    -> from fruits
    -> where f_name like '____y';
+------+--------+
| f_id | f_name |
+------+--------+
| b2   | berry  |
+------+--------+
1 row in set (0.00 sec)

查询空值

数据表创建的时候,设计者可以指定某列中是否可以包含空值(NULL)。空值不同于0,也不同于空字符串。空 值一般表示数据未知、不适用或将在以后添加数据。在select语句中使用IS NULL子句,可以查询某字段内容为 空的记录。

mysql> create table customers
    ->  (
    ->  c_id int not null auto_increment,
    ->  c_name char(50) not null,
    ->  c_address char(50) null,
    ->  c_city char(50) null,
    ->  c_zip char(50) null,
    ->  c_contact char(50) null,
    ->  c_email char(50) null,
    ->  primary key(c_id)
    ->  );
Query OK, 0 rows affected (0.00 sec)
mysql> insert into customers(c_id,c_name,c_address,c_city,c_zip,c_contact,c_email)
    ->  values(10001,'RedHook','200
    '> Street','Tianjin','300000','LiMing','LMing@163.com'),
    ->  (10002,'Stars','333 Fromage
    '> Lane','Dalian','116000','Zhangbo','Jerry@hotmail.com'),
    ->  (10003,'Netbhood','1 Sunny Place','Qingdao','266000','LuoCong',NULL),
    -> (10004,'JOTO','829 Riverside Drive', 'Haikou','570000','YangShan',
    -> 'sam@hotmail.com');
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0
mysql> select c_id,c_name,c_email from customers where c_email IS NULL;
+-------+----------+---------+
| c_id  | c_name   | c_email |
+-------+----------+---------+
| 10003 | Netbhood | NULL    |
+-------+----------+---------+
1 row in set (0.00 sec)

and的多条件查询

使用select查询时,可以增加查询的限制条件,这样可以使查询的结果更加精确。MySQLwhere子句中使用and操作符限定只有满足所有查询条件的记录才会被返回。可以使用and连接两个甚至多个查询条件,多个条件表达式之间用and分开。
mysql> select f_id,f_price,f_name
    -> from fruits
    -> where s_id = '101' and f_price >=5;
+------+---------+------------+
| f_id | f_price | f_name     |
+------+---------+------------+
| a1   |    5.20 | apple      |
| b1   |   10.20 | blackberry |
+------+---------+------------+
2 rows in set (0.00 sec)

or的多条件查询

与and相反,在where声明中使用or操作符,表示只需要满足其中一个条件的记录即可返回or也可以连接两个甚至多个查询条件,多个条件表达式之间用or分开。

mysql> select s_id,f_name,f_price
    -> from fruits
    -> where s_id = 101 or s_id = 102;
+------+------------+---------+
| s_id | f_name     | f_price |
+------+------------+---------+
|  101 | apple      |    5.20 |
|  101 | blackberry |   10.20 |
|  102 | orange     |   11.20 |
|  101 | cherry     |    3.20 |
|  102 | banana     |   10.30 |
|  102 | grape      |    5.30 |
+------+------------+---------+
6 rows in set (0.00 sec)

查询结果不重复

mysql> select distinct s_id from fruits;
+------+
| s_id |
+------+
|  101 |
|  103 |
|  104 |
|  107 |
|  102 |
|  105 |
|  106 |
+------+
7 rows in set (0.00 sec)

对查询结果排序

单列排序

mysql> select f_name from fruits order by f_name;
+------------+
| f_name     |
+------------+
| apple      |
| apricot    |
| banana     |
| berry      |
| blackberry |
| cherry     |
| coconut    |
| grape      |
| lemon      |
| mango      |
| melon      |
| orange     |
| xbababa    |
| xbabay     |
| xxtt       |
| xxxx       |
+------------+
16 rows in set (0.00 sec)

多列排序

+------------+---------+
| f_name     | f_price |
+------------+---------+
| apple      |    5.20 |
| apricot    |    2.20 |
| banana     |   10.30 |
| berry      |    7.60 |
| blackberry |   10.20 |
| cherry     |    3.20 |
| coconut    |    9.20 |
| grape      |    5.30 |
| lemon      |    6.40 |
| mango      |   15.70 |
| melon      |    8.20 |
| orange     |   11.20 |
| xbababa    |    3.60 |
| xbabay     |    2.60 |
| xxtt       |   11.60 |
| xxxx       |    3.60 |
+------------+---------+
16 rows in set (0.00 sec)

注:在多列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序。如果第一列数据中所有值都是唯一的,将不再对第二列进行排序。

指定排序方向

默认情况下,查询数据按字母升序进行排序(从A~Z),但数据的排序并不仅限于此,还可以使用order by对查询结果进行降序排序(从Z~A),这可以通过关键字DESC实现。

mysql> select f_name,f_price from fruits order by f_name,f_price DESC;
+------------+---------+
| f_name     | f_price |
+------------+---------+
| apple      |    5.20 |
| apricot    |    2.20 |
| banana     |   10.30 |
| berry      |    7.60 |
| blackberry |   10.20 |
| cherry     |    3.20 |
| coconut    |    9.20 |
| grape      |    5.30 |
| lemon      |    6.40 |
| mango      |   15.70 |
| melon      |    8.20 |
| orange     |   11.20 |
| xbababa    |    3.60 |
| xbabay     |    2.60 |
| xxtt       |   11.60 |
| xxxx       |    3.60 |
+------------+---------+
16 rows in set (0.00 sec)

注:与DESC相反ASC是升序

分组查询

分组插叙是对数据按照某个或多个字段进行分组, MySQL 中使用 group by 关键字对数据进行分组,基本语法形式为:group by 字段 1 、创建分组
Group by 关键字通常和集合函数一起使用,例如: MAX() MIN() COUNT() SUM() AVG() 。 根据 s_id 对fruits表中的数据进行分组
mysql> select s_id,count(*) as total from fruits group by s_id;
+------+-------+
| s_id | total |
+------+-------+
|  101 |     3 |
|  102 |     3 |
|  103 |     2 |
|  104 |     2 |
|  105 |     3 |
|  106 |     1 |
|  107 |     2 |
+------+-------+
7 rows in set (0.00 sec)
根据s_idfruits表中的数据进行分组,将每个供应商的水果名称显示出来
mysql> select s_id,group_concat(f_name) as name from fruits group by s_id;
+------+-------------------------+
| s_id | name                    |
+------+-------------------------+
|  101 | apple,blackberry,cherry |
|  102 | orange,banana,grape     |
|  103 | apricot,coconut         |
|  104 | berry,lemon             |
|  105 | melon,xbabay,xxtt       |
|  106 | mango                   |
|  107 | xxxx,xbababa            |
+------+-------------------------+
7 rows in set (0.00 sec)
使用having过滤分组 根据s_idfruits表中的数据进行分组,并显示水果种类大于1的分组信息
mysql> select s_id,group_concat(f_name) as name from fruits group by s_id having 
    -> count(f_name) > 1;
+------+-------------------------+
| s_id | name                    |
+------+-------------------------+
|  101 | apple,blackberry,cherry |
|  102 | orange,banana,grape     |
|  103 | apricot,coconut         |
|  104 | berry,lemon             |
|  105 | melon,xbabay,xxtt       |
|  107 | xxxx,xbababa            |
+------+----------------------
group by 子句中使用 with rollup 使用 with rollup 关键字之后,在所有查询出的分组记录之后增加一条记录,该记录计算查询出的所有记录的总和,即统计记录数量。
mysql> select s_id,count(*) as total
    -> from fruits
    -> group by s_id with rollup;
+------+-------+
| s_id | total |
+------+-------+
|  101 |     3 |
|  102 |     3 |
|  103 |     2 |
|  104 |     2 |
|  105 |     3 |
|  106 |     1 |
|  107 |     2 |
| NULL |    16 |
+------+-------+
8 rows in set (0.00 sec)
多字段分组 使用 group by 可以对多个字段进行分组, group by 关键字后面跟需要分组的字段, MySQL 根据 多字段的值来进行层次分组,分组层次从左到右,即先按第1 个字段分组,然后在第 1 个字段值相同的记录中,再根据第2 个字段的值进行分组,以此类推。
mysql> select * from fruits group by f_id,f_name;
+------+------+------------+---------+
| f_id | s_id | f_name     | f_price |
+------+------+------------+---------+
| a1   |  101 | apple      |    5.20 |
| a2   |  103 | apricot    |    2.20 |
| b1   |  101 | blackberry |   10.20 |
| b2   |  104 | berry      |    7.60 |
| b5   |  107 | xxxx       |    3.60 |
| bs1  |  102 | orange     |   11.20 |
| bs2  |  105 | melon      |    8.20 |
| c0   |  101 | cherry     |    3.20 |
| l2   |  104 | lemon      |    6.40 |
| m1   |  106 | mango      |   15.70 |
| m2   |  105 | xbabay     |    2.60 |
| m3   |  105 | xxtt       |   11.60 |
| o2   |  103 | coconut    |    9.20 |
| t1   |  102 | banana     |   10.30 |
| t2   |  102 | grape      |    5.30 |
| t4   |  107 | xbababa    |    3.60 |
+------+------+------------+---------+
16 rows in set (0.00 sec)
group by order by 一起使用 某些情况下需要对分组进行排序
mysql> create table orderitems
    -> (
    -> o_num int not null,
    -> o_item int not null,
    -> f_id char(10) not null,
    -> quantity int not null,
    -> item_price decimal(8,2) not null,
    -> primary key(o_num,o_item)
    -> );
Query OK, 0 rows affected (0.03 sec)
mysql> insert into orderitems(o_num,o_item,f_id,quantity,item_price)
    ->  values(30001,1,'a1',10,'5.2'),
    ->  (30001,2,'b2',3,'7.6'),
    ->  (30001,3,'bs1',5,'11.2'),
    ->  (30001,4,'bs2',15,'9.2'),
    ->  (30002,1,'b3',2,'20.0'),
    ->  (30003,1,'c0',100,10),
    ->  (30004,1,'o2',50,'2.50'),
    ->  (30005,1,'c0',5,'10'),
    ->  (30005,2,'b1',10,'8.99'),
    ->  (30005,3,'a2',10,'2.2'),
    ->  (30005,4,'m1',5,'14.99');
Query OK, 11 rows affected (0.00 sec)
Records: 11  Duplicates: 0  Warnings: 0
查询价格大于 100 的订单号和总价订单价格
mysql> select o_num,sum(quantity*item_price) as ordertotal
    -> from orderitems
    -> group by o_num
    -> having sum(quantity*item_price) >= 100;
+-------+------------+
| o_num | ordertotal |
+-------+------------+
| 30001 |     268.80 |
| 30003 |    1000.00 |
| 30004 |     125.00 |
| 30005 |     236.85 |
+-------+------------+
4 rows in set (0.00 sec)
使用 limit 限制查询结果的数量 select 返回所有匹配的行,有可能是表中所有的行,如仅仅需要返回第一 行或者前几行,使用limit 关键字,语法格式如下: limit [ 位置偏移量 ] 行数
mysql> select * from fruits limit 4;
+------+------+------------+---------+
| f_id | s_id | f_name     | f_price |
+------+------+------------+---------+
| a1   |  101 | apple      |    5.20 |
| a2   |  103 | apricot    |    2.20 |
| b1   |  101 | blackberry |   10.20 |
| b2   |  104 | berry      |    7.60 |
+------+------+------------+---------+
4 rows in set (0.00 sec)

mysql> select * from fruits limit 4,3;
+------+------+--------+---------+
| f_id | s_id | f_name | f_price |
+------+------+--------+---------+
| b5   |  107 | xxxx   |    3.60 |
| bs1  |  102 | orange |   11.20 |
| bs2  |  105 | melon  |    8.20 |
+------+------+--------+---------+
3 rows in set (0.00 sec)

使用聚合函数查询

函数
作用
AVG()
返回某列的平均值
COUNT()
返回某列的行数
MAX()
返回某列的最大值
MIN()
返回某列的最小值
SUM()
返回某列的和

count()函数

Count()函数统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数。 Count(*)计算表中总的函数,不管某列有数列或者为空值 Count(字段名)计算指定列下总的行数,计算时将忽略空值的行

mysql> select count(*) as cust_num
    -> from customers;
+----------+
| cust_num |
+----------+
|        4 |
+----------+
1 row in set (0.00 sec)

mysql> select count(c_email) as email_num
    -> from customers;
+-----------+
| email_num |
+-----------+
|         3 |
+-----------+
1 row in set (0.00 sec)

mysql> select o_num,count(f_id)
    -> from orderitems
    -> group by o_num;
+-------+-------------+
| o_num | count(f_id) |
+-------+-------------+
| 30001 |           4 |
| 30002 |           1 |
| 30003 |           1 |
| 30004 |           1 |
| 30005 |           4 |
+-------+-------------+
5 rows in set (0.00 sec)

sum()函数

sum()是一个求总和的函数,返回指定列值得总和

mysql> select sum(quantity) as items_total
    -> from orderitems
    -> where o_num = 30005;
+-------------+
| items_total |
+-------------+
|          30 |
+-------------+
1 row in set (0.00 sec)

mysql> select o_num,sum(quantity) as items_total
    -> from orderitems
    -> group by o_num;
+-------+-------------+
| o_num | items_total |
+-------+-------------+
| 30001 |          33 |
| 30002 |           2 |
| 30003 |         100 |
| 30004 |          50 |
| 30005 |          30 |
+-------+-------------+
5 rows in set (0.00 sec)
注意:sum()函数在计算时,忽略列值为NULL的行。

avg()函数

mysql> select avg(f_price) as avg_price
    -> from fruits
    -> where s_id=103;
+-----------+
| avg_price |
+-----------+
|  5.700000 |
+-----------+
1 row in set (0.00 sec)

mysql> select s_id,avg(f_price) as avg_price
    -> from fruits
    -> group by s_id;
+------+-----------+
| s_id | avg_price |
+------+-----------+
|  101 |  6.200000 |
|  102 |  8.933333 |
|  103 |  5.700000 |
|  104 |  7.000000 |
|  105 |  7.466667 |
|  106 | 15.700000 |
|  107 |  3.600000 |
+------+-----------+
7 rows in set (0.01 sec)

max()函数

max()返回指定列中的最大值

mysql> select max(f_price) as max_price from fruits;
+-----------+
| max_price |
+-----------+
|     15.70 |
+-----------+
1 row in set (0.00 sec)

mysql> select s_id,max(f_price) as max_price from fruits group by s_id ;
+------+-----------+
| s_id | max_price |
+------+-----------+
|  101 |     10.20 |
|  102 |     11.20 |
|  103 |      9.20 |
|  104 |      7.60 |
|  105 |     11.60 |
|  106 |     15.70 |
|  107 |      3.60 |
+------+-----------+
7 rows in set (0.00 sec)

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

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

相关文章

一文带你了解socket网络编程以及详解过程和原理

创作不易&#xff0c;期望亲友们给个免费的就行 文章目录 一、什么是socket二、TCP/IP三、socket原理四、代码说明五、API函数 一、什么是socket Socket&#xff08;套接字&#xff09;是计算机网络编程中的一种抽象概念&#xff0c;它提供了在网络上进行通信的接口。通过使用…

RankNet(pairwise)

原论文&#xff1a;From ranknet to lambdarank to lambdamart: An overview 构造样本&损失函数 首先对同一个query下返回的连接&#xff0c;进行配对构造样本<Ui, Uj>代表了一对样本。用Pij代表样本的得分&#xff0c;si,sj代表了模型对样本的打分。 有了样本模型…

处理 Windows Server 中 CVE-2016-2183(SSL/TLS) 漏洞的方法

一、漏洞说明 Windows server 2008或2012远程桌面服务SSL加密默认是开启的&#xff0c;且有默认的CA证书。由于SSL/ TLS自身存在漏洞缺陷&#xff0c;当开启远程桌面服务&#xff0c;使用漏洞扫描工具扫描&#xff0c;发现存在SSL/TSL漏洞。 例如如下漏洞&#xff1a; 二、…

(02)Cartographer源码无死角解析-(75) 2D后端优化→整体复盘,理解后端优化核心思想

讲解关于slam一系列文章汇总链接:史上最全slam从零开始&#xff0c;针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解&#xff1a;https://blog.csdn.net/weixin_43013761/article/details/127350885 文…

跨境干货|Etsy安全入驻开店攻略

2023了&#xff0c;跨境电商现在上车还来得及吗&#xff1f;当然&#xff01;Etsy是一个低成本低竞争高回报的平台&#xff0c;相较于其他电商平台&#xff0c;他的佣金非常低&#xff0c;利润率更高&#xff0c;非常合适跨境小白入局。 但由于目前Etsy关闭了中国大陆卖家的注…

设计模式- 一、设计原则-1

一、设计原则 当涉及到软件设计和开发原则时&#xff0c;有一些常见的原则和准则可以帮助我们编写高质量、可维护和可扩展的代码。以下是其中一些重要的原则和准则&#xff1a; SOLID原则&#xff1a; 单一职责原则&#xff08;Single Responsibility Principle&#xff0c;SRP…

SpringMVC快速学习

一、SSM框架优化的方向 目录结构&#xff1a; 二、前期文件配置 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 ht…

USB转串口电路—电源与防倒灌设计

USB转串口芯片和串口负载&#xff08;MCU、CPU、其他串口外设等&#xff09;的供电方式可以分为2个大类&#xff1a;统一供电和独立供电。 一、供电说明 统一供电是指USB芯片和串口负载使用同一电源&#xff0c;上下电同步&#xff0c;此时不会存在彼此之间电流倒灌的问题。 …

ORA-01122 ORA-01200故障处理---惜分飞

由于某种原因客户的数据库启动报ORA-01122 ORA-01200错误 让客户把system01.dbf文件发给我进行分析,发现system01.dbf文件大于32G(在8k的blocksize库中,默认情况system01.dbf文件不会超过32G),这个明显异常 检测坏块情况发现4096000之后的block全部为全0块 通过bbed分析文…

数学建模常用模型(二):插值与拟合

数学建模常用模型&#xff08;二&#xff09;&#xff1a;插值与拟合 在数学建模中&#xff0c;插值和拟合是常用的数据分析技术&#xff0c;用于从给定的离散数据中推断出连续函数或曲线的近似形式。 插值是通过已知数据点之间的插值多项式来估计未知数据点的值。插值方法的目…

SQL之收集SQL Server线程等待信息

要知道线程等待时间是制约SQL Server效率的重要原因&#xff0c;这一个随笔中将学习怎样收集SQL Server中的线程等待时间&#xff0c;类型等信息&#xff0c;这些信息是进行数据库优化的依据。 sys.dm_os_wait_stats 这是一个系统视图&#xff0c;里面存储线程所遇到的所有的等…

smart Spring:自定义注解、拦截器的使用(更新中...)

文章目录 〇、使用自定义注解的好处和工作原理一、如何使用自定义注解1.自定义一个注解2.在类、属性、方法上进行使用3.元注解 二、使用拦截器的好处和工作原理三、如何使用拦截器参考 本博客源码&#xff1a; 〇、使用自定义注解的好处和工作原理 自定义注解是Java语言提供的…

消息中间件应用场景

提高系统性能首先考虑的是数据库的优化&#xff0c;但是数据库因为历史原因&#xff0c;横向扩展是一件非常复杂的工程&#xff0c;所有我们一般会尽量把流量都挡在数据库之前。 不管是无限的横向扩展服务器&#xff0c;还是纵向阻隔到达数据库的流量&#xff0c;都是这个思路。…

JSP网上手机商城系统 用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 网上手机商城系统是一套完善的web设计系统&#xff0c;对理解JSP java SERLVET mvc编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,eclipse开发&#xff0c;数据库为Mysql5.0&a…

Camera API1 简叙述

目录 一、开启相机 1.1创建项目 1.2注册权限 1.3配置相机特性要求 1.4 获取摄像头的个数 1.5 根据 ID 获取 CameraInfo facing 1.6 开启相机 1.7 关闭相机 二、预览 2.1认识 Parameters 2.2 设置预览尺寸 2.3添加预览 Surface 2.4 开启和关闭预览 2.5 校正预览画…

【电路原理学习笔记】第2章:电压、电流和电阻:2.3 电压

第2章&#xff1a;电压、电流和电阻 2.3 电压 正电荷和负电荷之间存在着吸引力&#xff0c;必须以做功的形式施加一定的能量来克服吸引力&#xff0c;才能使正、负电荷分开一定的距离。所以极性相反的电荷由于它们之间的距离而具有一定的势能。电荷之间的势能之差就称为电位差…

一、枚举类型——新特性(switch 中的 case null)

JDK 17新増了&#xff08;预览&#xff09;功能&#xff0c;可以在 switch 中引入原本非法的 case null。以前只能在 switch 的外部检查是否为 null&#xff0c;如 old() 中所示&#xff1a; CaseNull.java import java.util.function.Consumer;public class CaseNull {static …

Apache Doris 2.0-beta 盲测性能 10 倍提升,更统一的多场景极速分析体验!

亲爱的社区小伙伴们&#xff0c;我们很高兴地向大家宣布&#xff0c;Apache Doris 2.0-beta 版本已于 2023 年 7 月 3 日正式发布&#xff01;在 2.0-beta 版本中有超过 255 位贡献者为 Apache Doris 提交了超过 3500 个优化与修复&#xff0c;欢迎大家下载使用&#xff01; 下…

UE4/5数字人Metahuman与Style3D的使用【三、用数字人进行布料模拟可能出现的两个问题】

目录 接下来我们简单讲解数字人进行的布料模拟 存在的问题一&#xff1a;肩带滑落问题 存在的问题二&#xff1a; 存在的问题三&#xff1a; 关于前面数字人如何操作以及Style3D的相关知识便不在重复&#xff0c;不了解的可以看&#xff1a; UE4/5数字人Metahuman与Style3…

蓝桥杯专题-试题版含答案-【奋斗的小蜗牛】【兰州烧饼】【对决】【画图】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…