MySQL表的基本插入查询操作详解

在这里插入图片描述

博学而笃志,切问而近思

文章目录

  • 插入
    • 插入更新
  • 替换
  • 查询
    • 全列查询
    • 指定列查询
    • 查询字段为表达式
    • 查询结果指定别名
    • 查询结果去重
  • WHERE 条件
    • 基本比较
    • 逻辑运算符
    • 使用LIKE进行模糊匹配
    • 使用IN进行多个值匹配
  • 排序
  • 筛选分页结果
  • 更新数据
  • 删除数据
  • 截断表
  • 聚合函数
    • COUNT
    • SUM
    • AVG
    • MAX
    • MIN
  • group by
    • having
  • 面试题:SQL查询中各个关键字的执行先后顺序?
  • 总结


插入

在MySQL中,INSERT语句用于将新行插入数据库表中。

基本语法

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
  • table_name: 要插入数据的表名。
  • column1, column2, column3, ...: 要插入数据的列名。
  • value1, value2, value3, ...: 要插入的实际数据值。

例如,如果有一个名为 t1 的表,包含 namesex 列,可以使用以下INSERT语句插入新的记录:

create table t1(
    -> name varchar(5),
    -> sex char(1));
Query OK, 0 rows affected (0.02 sec)

mysql> insert into t1(name, sex) values('张三','男');
Query OK, 1 row affected (0.00 sec)

在这里插入图片描述

这将在t1表中插入一条新记录。另一种插入方式是省略列名,但在这种情况下,必须确保提供的值的顺序与表中列的顺序相匹配:

insert into t1 values('李四','男');

在这里插入图片描述

其中into是可以省略不写的,但是一般不建议省略

insert t1 values('王五','男');

在这里插入图片描述

还可以一次插入多条记录,只需在VALUES子句中提供多个值集:

insert into t1 values('赵六','女'),('托尼','男');

在这里插入图片描述

这将在t1表中插入两条记录。需要注意的是,如果插入的数据违反表中的任何约束(如主键约束或唯一性约束),则插入操作将失败。

插入更新

在MySQL中,要实现插入数据,如果数据已经存在,则进行更新操作,可以使用INSERT INTO ... ON DUPLICATE KEY UPDATE语句。这通常用于处理唯一性约束,例如主键或唯一索引。

基本语法:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...)
ON DUPLICATE KEY UPDATE
column1 = VALUES(column1), column2 = VALUES(column2), ...;

这里的关键是ON DUPLICATE KEY UPDATE子句,它指定了在出现主键冲突时应执行的更新操作。

例如,如果有一个名为 t2 的表,其中 id 是主键。

在这里插入图片描述

表中已经有如下数据

在这里插入图片描述

而此时如果再插入(1, '曹操', 68)这样一组数据,则会发生冲突。如果就是想插入这么一组数据的话,可以将造成冲突的那一组数据删除后在插入这一组数据,但是这样就有些麻烦了,还可以使用更新插入语句来操作。

在这里插入图片描述

insert into t2 values(1, '曹操', 68)
    -> on duplicate key update name='曹操', age=68;

在这里插入图片描述

注意:这种方法仅在表中存在唯一性约束(主键或唯一索引)时有效。如果没有唯一性约束,将不会执行更新操作。

替换

在MySQL中,可以使用REPLACE INTO语句来插入数据,如果唯一键(主键或唯一索引)已经存在,则替换(删除现有记录并插入新记录)。这可以用于插入或更新的场景。

基本语法

REPLACE INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

INSERT INTO语句不同的是,REPLACE INTO不需要ON DUPLICATE KEY UPDATE子句,因为它总是执行替换操作。

例如在如上的 t2 表中:

在这里插入图片描述

执行如下的替换操作。

replace into t2 values(2, '刘备', 100);

在这里插入图片描述

如果表中已经存在id为2的记录,它将被删除,并用新的数据(id=2,name=‘刘备’,age=100)替换。

需要注意的是,REPLACE INTO会删除已存在的记录,因此谨慎使用,特别是在需要保留历史数据的情况下。

查询

从MySQL数据库中查询数据的操作,可以使用SELECT语句。

基本语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • column1, column2, ...: 要检索的列名。
  • table_name: 要检索数据的表名。
  • WHERE condition: 可选的条件,用于过滤检索的数据。

例如,要从名为 t2 的表中检索所有人的姓名和年龄:

select name, age from t2;

在这里插入图片描述

全列查询

要执行全列查询,即检索表中的所有列,你可以使用通配符 *

基本语法

SELECT *
FROM table_name;

这将检索指定表中的所有列的数据。例如查询t2表中的所有数据。

select * from t2;

在这里插入图片描述

这将返回表中所有行的所有列数据。尽管使用 * 通配符可以方便地检索所有列,但在实际应用中不建议使用*进行全列查询,因为查询的列越多,意味着需要传输的数据量越大。有时最好明确指定要检索的列,以避免不必要的数据传输和提高查询性能。

指定列查询

指定列查询是通过明确列出你想要检索的列来执行的,指定列的顺序不需要按定义表的顺序来。

基本语法

SELECT column1, column2, ...
FROM table_name;
  • column1, column2, ...: 要检索的列名。
  • table_name: 要检索数据的表名。

例如,查询 t2 表的 idname 列,可以执行以下查询:

select id, name from t2;

在这里插入图片描述

这将返回 t2 表中所有行的 idname 列的数据。

查询字段为表达式

  • 表达式不包含任何字段
select name, 100 from t2;

查询一个没有任何意义的列(100)。

在这里插入图片描述

  • 表达式包含一个字段
select name, age + 100 from t2;

对查询的age列的结果都加上100。

在这里插入图片描述

  • 表达式包含多个字段
select name, id + age from t2;

将查询的idage加起来。

在这里插入图片描述

查询结果指定别名

在MySQL中可以为查询结果中的列或表达式指定别名,以提高结果的可读性或用于后续引用。

基本语法

SELECT column_name [AS] alias_name
FROM table_name;

例如查询 t2 表中人物百年后的年龄:

select name, age + 100 as '百年后年龄' from t2;

在这里插入图片描述

as也可以省略,别名提高了查询结果的可读性,并且在复杂查询中尤其有用。

查询结果去重

在MySQL中,要从查询结果中去重,可以使用DISTINCT关键字。DISTINCT关键字用于删除结果集中重复的行。

基本语法

SELECT DISTINCT column1, column2, ...
FROM table_name;

例如t2表中有如下数据,表中有重复数据:

在这里插入图片描述

如果想要检索数据,并确保name和age都是唯一的,可以使用DISTINCT,这将返回去重后的所有行数据。

select distinct name, age from t2;

在这里插入图片描述

需要注意的是,使用DISTINCT可能会影响查询的性能,因为它需要进行额外的处理以找到并删除重复的行。在使用时要注意查询的效率。

WHERE 条件

WHERE子句用于在MySQL查询中指定条件,以过滤满足特定条件的行。

基本语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • column1, column2, ...: 要检索的列名。
  • table_name: 要检索数据的表名。
  • condition: 用于过滤行的条件。

条件可以是任何能返回布尔值(True或False)的表达式。例如,你可以使用比较运算符(例如=, <, >, <=, >=)和逻辑运算符(例如AND, OR, NOT)来构建条件。

WHERE 条件中可以使用表达式,但是别名不能用在 WHERE 条件中使用。

比较运算符说明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于,例如 NULL = NULL 的结果是 NULL
<=><=> 是一种特殊的比较运算符,用于比较两个表达式是否相等,包括处理 NULL 值。它返回一个布尔值,表示两个表达式是否相等。
!=, <>不等于
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)

基本比较

select name, salary 
from employees 
where salary > 5000;

此查询将检索工资大于5000的员工的姓名和工资。

在这里插入图片描述

逻辑运算符

select name, department 
from employees 
where salary > 5000 and department = '蜀国';

此查询将检索工资大于5000且部门为’蜀国’的员工的姓名和部门。

在这里插入图片描述

使用LIKE进行模糊匹配

select name, salary, department
from employees
where name like '许%';

此查询将检索名字以’许’开头的员工的信息。

在这里插入图片描述

使用IN进行多个值匹配

select name, department
from employees
where department in ('蜀国');

此查询将检索部门为’蜀国’的员工的姓名和部门。

在这里插入图片描述

排序

在MySQL中,可以使用ORDER BY子句对查询结果进行排序。ORDER BY子句允许你指定一个或多个列作为排序的基准,并指定升序(ASC)或降序(DESC)排序。ORDER BY中也可以使用表达式和使用列别名。

基本语法

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ...;
  • column1, column2, ...: 要检索的列名。
  • table_name: 要检索数据的表名。
  • ORDER BY: 指定排序的列和排序顺序(可选)。

没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序。

例如有一个名为 employees 的表,包含 namesalary 列,你可以按工资降序排序:

select name, salary
from employees
order by salary desc;

这将返回按工资降序排序的员工姓名和工资。

在这里插入图片描述

如果要按多个列进行排序,可以指定多个列名,并为每个列指定排序顺序。例如,按部门升序排序,然后按工资降序排序:

select name, salary, department
from employees
order by department asc, salary desc;

这将返回按部门升序排序,对于相同部门的员工,按工资降序排序的结果。

在这里插入图片描述

需要注意的是,如果不指定排序顺序,默认为升序(ASC)。如果要降序排序,必须显式指定为DESC。NULL 视为比任何值都小,降序出现在最下面。

筛选分页结果

在MySQL中要筛选分页结果,可以使用LIMITOFFSET子句。LIMIT用于限制返回的行数,而OFFSET用于指定结果集的起始位置。

基本语法

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ...
LIMIT number_of_rows OFFSET offset_value;
  • column1, column2, ...: 要检索的列名。
  • table_name: 要检索数据的表名。
  • ORDER BY: 指定排序的列和排序顺序(可选)。
  • LIMIT: 指定返回的行数。
  • OFFSET: 指定结果集的起始位置。

例如查询 employees 表按工资降序排序的前5名员工:

select name, salary
from employees
order by salary desc
limit 5;

在这里插入图片描述

如果想获取下一个页的结果,可以使用OFFSET。例如,要获取第6到10名员工:

select name, salary
from employees
order by salary desc
limit 5 offset 5;

在这里插入图片描述

需要注意的是,OFFSET的值表示跳过的行数,而不是页数。如果要实现分页功能,你需要根据每页的行数和当前页数计算LIMITOFFSET的值。对未知表进行查询时,最好加一条 LIMIT 1,避免因为表中数据过大,查询全表数据导致数据库卡死。

更新数据

在MySQL中,UPDATE语句用于修改表中现有记录的数据。

基本语法

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
  • table_name: 要更新数据的表名。
  • column1, column2, ...: 要更新的列名。
  • value1, value2, ...: 要更新的新值。
  • WHERE condition: 可选,用于指定要更新的记录的条件。

例如,将 employees 表工资提高10%,可以执行如下的UPDATE语句:

update employees
set salary = salary + salary * 0.1;

这将更新employees表中所有员工的工资,使其增加10%。

在这里插入图片描述

如果你只想更新满足特定条件的记录,可以使用WHERE子句。例如,只更新部门为’蜀国’的员工的工资:

update employees 
set salary = salary * 1.1
where department='蜀国';

在这里插入图片描述

需要谨慎使用UPDATE语句,特别是在没有WHERE子句的情况下,因为它将影响表中的所有记录。务必确保在执行更新之前理解并检查条件,以防止意外的数据更改。

删除数据

在MySQL中,DELETE语句用于从表中删除记录。

基本语法

DELETE FROM table_name
WHERE condition;
  • table_name: 要删除数据的表名。
  • WHERE condition: 用于指定要删除的记录的条件。

例如在 employees 表中,你想删除所有工资低于5000的员工记录,可以执行如下的DELETE语句:

DELETE FROM employees
WHERE salary < 50000;

在这里插入图片描述

这将删除employees表中所有工资低于50000的员工记录。如果你希望删除表中的所有记录,可以不使用WHERE子句:

DELETE FROM employees;

这将删除employees表中的所有记录,但保留表的结构。

需要特别注意的是,DELETE语句删除的记录是永久性的,谨慎使用以防止意外的数据损失。务必在执行DELETE语句之前仔细检查WHERE条件,确保只删除你想要删除的记录。

截断表

在MySQL中,可以使用TRUNCATE TABLE语句截断(清空)表,该操作会删除表中的所有行,但保留表的结构。

基本语法

TRUNCATE TABLE table_name;
  • table_name: 要截断的表名。

例如你执行如下的TRUNCATE TABLE语句,这将删除employees表中的所有行,但保留表的结构(列定义、索引等)。

TRUNCATE TABLE employees;

需要注意的是,与DELETE FROM语句不同,TRUNCATE TABLE是一个DDL(数据定义语言)语句,而不是DML(数据操作语言)语句。因此,TRUNCATE TABLE操作通常比DELETE FROM操作更快,因为它不会以逐行的方式删除记录,而是直接删除整个表的数据。

然而,TRUNCATE TABLE有一些限制,例如不能用于有外键引用的表,以及在事务中的表。在这些情况下,可能需要使用DELETE FROM语句,并且会重置 AUTO_INCREMENT 项 。

聚合函数

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

COUNT

COUNT 函数是用于计算表中行的数量的聚合函数。

基本语法

SELECT COUNT(column_name) FROM table_name WHERE condition;
  • column_name: 要计数的列名,或使用 * 表示计数所有行。
  • table_name: 要计数数据的表名。
  • WHERE condition: 可选,用于指定条件以过滤计数的行。

COUNT 函数返回一个整数,表示满足条件的行的数量。

  • 计算表中所有行的数量:
select count(*) from employees;

这将返回 “employees” 表中的总行数。

在这里插入图片描述

  • 计算特定条件下的行数:
select count(*) from employees where department='吴国';

这将返回 “employees” 表中部门为 ‘吴国’ 的员工的数量。

在这里插入图片描述

需要注意的是,COUNT 函数可以用于不同的情境,包括计算所有行、计算满足特定条件的行数,或者在与其他聚合函数和 GROUP BY 子句一起使用时,用于分组计数。

SUM

SUM 函数是 MySQL 中的一个聚合函数,用于计算指定列的数值总和。

基本语法

SELECT SUM(column_name) FROM table_name WHERE condition;
  • column_name: 要计算总和的列名。
  • table_name: 包含要计算总和的数据的表名。
  • WHERE condition: 可选,用于指定条件以过滤计算总和的行。

例如计算 employees 表中的工资总和:

select sum(salary) from employees;

在这里插入图片描述

如果你只想计算特定条件下的工资总和,可以使用 WHERE 子句:

select sum(salary) from employees where department='蜀国';

在这里插入图片描述

SUM 函数对于计算数值型列的总和非常有用,例如货币金额或数量。你还可以将 SUM 与其他聚合函数和 GROUP BY 子句一起使用,以便对数据进行更详细的汇总和分组。

AVG

AVG 函数是 MySQL 中的一个聚合函数,用于计算指定列的数值平均值。

基本语法

SELECT AVG(column_name) FROM table_name WHERE condition;
  • column_name: 要计算平均值的列名。
  • table_name: 包含要计算平均值的数据的表名。
  • WHERE condition: 可选,用于指定条件以过滤计算平均值的行。

例如计算employees表的工资的平均值:

select avg(salary) from employees;

在这里插入图片描述

如果你只想计算特定条件下的平均值,可以使用 WHERE 子句:

select avg(salary) from employees where department='魏国';

在这里插入图片描述

AVG 函数对于计算数值型列的平均值非常有用。与 SUM 类似,你还可以将 AVG 与其他聚合函数和 GROUP BY 子句一起使用,以便对数据进行更详细的汇总和分组。

MAX

MAX 函数是 MySQL 中的一个聚合函数,用于计算指定列的最大值。

基本语法

SELECT MAX(column_name) FROM table_name WHERE condition;
  • column_name: 要计算最大值的列名。
  • table_name: 包含要计算最大值的数据的表名。
  • WHERE condition: 可选,用于指定条件以过滤计算最大值的行。

例如查询employees表中工资的最大值:

select max(salary) from employees;

在这里插入图片描述

如果你只想计算特定条件下的最大值,可以使用 WHERE 子句:

select max(salary) from employees where department='魏国';

在这里插入图片描述

MAX 函数对于找出数值型列的最大值非常有用。可以将 MAX 与其他聚合函数和 GROUP BY 子句一起使用,以便对数据进行更详细的汇总和分组。

MIN

MIN 函数和MAX函数相对应,也是 MySQL 中的一个聚合函数,用于计算指定列的最小值。

基本语法

SELECT MIN(column_name) FROM table_name WHERE condition;
  • column_name: 要计算最小值的列名。
  • table_name: 包含要计算最小值的数据的表名。
  • WHERE condition: 可选,用于指定条件以过滤计算最小值的行。

例如查询employees表中的最小工资:

select min(salary) from employees;

在这里插入图片描述

如果只想计算特定条件下的最小值,可以使用 WHERE 子句:

select min(salary) from employees where department='魏国';

在这里插入图片描述

MIN 函数对于找出数值型列的最小值非常有用。可以将 MIN 与其他聚合函数和 GROUP BY 子句一起使用,以便对数据进行更详细的汇总和分组。

group by

GROUP BY 子句用于对查询结果按照一个或多个列进行分组。它通常与聚合函数(如 COUNTSUMAVGMAXMIN)一起使用,以便对每个分组应用这些聚合函数。

基本语法

SELECT column1, column2, ..., aggregate_function(column)
FROM table_name
WHERE condition
GROUP BY column1, column2, ...;
  • column1, column2, ...: 要选择的列。
  • aggregate_function(column): 对每个分组应用的聚合函数。
  • table_name: 要查询的表名。
  • WHERE condition: 可选,用于指定条件以过滤行。
  • GROUP BY column1, column2, ...: 指定要分组的列。

例如想统计每个国家的员工总工资,可以使用 GROUP BY 子句:

select department,sum(salary) 
from employees 
group by department;

在这里插入图片描述

having

HAVING 子句用于在使用 GROUP BY 子句进行分组后,对分组结果进行筛选。它允许你使用条件过滤分组后的结果,类似于 WHERE 子句对未分组的数据进行过滤。

基本语法

SELECT column1, column2, ..., aggregate_function(column)
FROM table_name
WHERE condition
GROUP BY column1, column2, ...
HAVING condition;
  • column1, column2, ...: 要选择的列。
  • aggregate_function(column): 对每个分组应用的聚合函数。
  • table_name: 要查询的表名。
  • WHERE condition: 可选,用于指定条件以过滤行。
  • GROUP BY column1, column2, ...: 指定要分组的列。
  • HAVING condition: 对分组结果进行筛选的条件。

HAVING 子句在分组后对分组结果进行条件过滤,与 WHERE 子句不同,它可以使用聚合函数的结果进行比较。例如,查询国家的总工资大于20000的国家:

select department '国家', sum(salary) '工资' 
from employees 
group by department 
having sum(salary) > 20000;

在这里插入图片描述

HAVING 子句通常用于在进行分组后,对聚合结果进行进一步的过滤。

面试题:SQL查询中各个关键字的执行先后顺序?

在一个 SQL 查询中,关键字的执行顺序通常按照以下顺序进行:

  1. FROM: 定义要查询的表。

  2. JOIN: 如果在查询中使用了多个表,JOIN 用于将它们连接起来。

  3. WHERE: 用于过滤满足特定条件的行。

  4. GROUP BY: 将结果按照指定的列进行分组。

  5. HAVING: 在分组后对分组结果进行筛选。

  6. SELECT: 选择要显示的列或进行计算。

  7. DISTINCT: 用于返回唯一不重复的行。

  8. ORDER BY: 对结果进行排序。

  9. LIMIT: 用于限制返回的行数。

这个顺序并不是固定的,具体的查询可能会根据需求有所变化。例如,GROUP BYHAVING 只在进行分组操作时才会使用,而 DISTINCTORDER BYLIMIT 只在需要时才会使用。

需要注意的是,这里只是一个通用的执行顺序,实际查询可能会因为具体的需求而有所调整。在编写复杂的查询时,建议根据实际情况合理使用这些关键字。

总结

我们对于数据库的操作,大多都是对表的操作,也可以说在数据库中,一切皆为表。可见在数据库中对表的操作占有的比重是非常大的。因此这篇文章就介绍了一些常用的对于表的操作,希望对你有所帮助!

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言——atoi函数解析

目录 前言 atoi函数的介绍 atoi函数的使用 atoi函数的模拟实现 前言 对于atoi函数大家可能会有些陌生&#xff0c;不过当你选择并阅读到这里时&#xff0c;请往下阅读&#xff0c;我相信你能对atoi函数熟悉该函数的头文件为<stdlib.h> 或 <cstdlib> atoi函数的…

被遗忘在角落的RPA,成了提升AI Agent执行能力的天选神器

LLM&#xff08;Large Language Models&#xff09;刚爆发之时&#xff0c;很多人认为RPA要完了&#xff0c;自然语言交互API操作足以干掉任何UI自动化工具。 然而&#xff0c;大语言模型应用发展到AI Agent这一步&#xff0c;大家才发现API并不是万能的。Agent平台雨后春笋一…

【开源项目】经典开源项目实景三维数字孪生泰山

飞渡科技数字孪生文旅运营中心&#xff0c;基于文旅单位的运营管理、服务质量以及游客需求&#xff0c;通过数字孪生、AR/VR、大数据分析等技术&#xff0c;为景区打造虚实融合、超沉浸体验的专属虚拟数字场景&#xff0c;实现文旅领域的数据可视化、产业数字化以及智能化管理。…

Django Web开发(day4)——数据模型使用与填充网站数据(对数据库的基本操作)

本博客将会涉及: Django 数据模型的使用视频数据的导入admin 后台的使用 1、Django 数据模型的使用 在上一篇中完成了网站的数据模型的创建,在数据模型创建之后,Django 会为我们的数据模型创建一套数据库抽象的 API 接口,以供我们进行检索数据、创建数据、更新和修改数据…

vim 编辑器如何同时注释多行以及将多行进行空格

当然可以&#xff0c;以下是我对您的文字进行润色后的版本&#xff1a; 一、场景 YAML文件对空格的要求非常严格&#xff0c;因此在修改YAML时&#xff0c;我们可能需要批量添加空格。 二、操作步骤 请注意&#xff1a;您的所有操作都将以第一行为基准。也就是说&#xff0…

滚动菜单ListView

activity_main.xml <include layout"layout/title"/> 引用上章自定义标题栏 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app&qu…

BigeMap在Unity3d中的应用,助力数字孪生

1. 首先需要用到3个软件&#xff0c;unity&#xff0c;gis office 和 bigemap离线服务器 Unity下载地址:点击前往下载页面(Unity需要 Unity 2021.3.2f1之后的版本) Gis office下载地址:点击前往下载页面 Bigemap离线服务器 下载地址: 点击前往下载页面 Unity用于数字孪生项…

计算机系统基础知识揭秘:硬件、处理器和校验码

计算机系统基础知识揭秘&#xff1a;硬件、处理器和校验码 一、计算机系统基础知识的重要性二、计算机系统硬件2.1、内存和存储设备2.2、输入输出设备 三、中央处理器&#xff08;CPU&#xff09;3.1、运算器3.2、控制器3.3、寄存器组3.4、多核CPU 四、数据表示4.1、原码、反码…

前端项目配置 Dockerfile 打包后镜像部署无法访问

Dockerfile 配置如下&#xff1a; FROM node:lts-alpineWORKDIR /app COPY . . RUN npm install RUN npm run buildEXPOSE 3001CMD ["npm", "run", "preview"]构建镜像 docker build -t vite-clarity-project .启动镜像容器 docker run -p 30…

《C++入门篇》——弥补C不足

文章目录 前言一.命名空间二.缺省参数三.函数重载四.引用4.1引用做参数4.2引用做返回值 五.内联函数六.小语法6.1auto6.2范围for6.3空指针 前言 C是业内一门久负盛名的计算机语言&#xff0c;从C语言发展起来的它&#xff0c;不仅支持C语言的语法&#xff0c;还新添加了面向对…

MySQL之视图索引

学生表&#xff1a;Student (Sno, Sname, Ssex , Sage, Sdept) 学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#xff0c;所在系 Sno为主键 课程表&#xff1a;Course (Cno, Cname,) 课程号&#xff0c;课程名 Cno为主键 学生选课表&#xff1a;SC (Sno, Cno, Score)…

华为设备NAT的配置

实现内网外网地址转换 静态转换 AR1&#xff1a; sys int g0/0/0 ip add 192.168.10.254 24 int g0/0/1 ip add 22.33.44.55 24 //静态转换 nat static global 22.33.44.56 inside 192.168.10.1 动态转换 最多有两台主机同时访问外网 AR1&#xff1a; sys int g0/0/0 ip add…

C语言之【函数】篇章以及例题分析

文章目录 前言一、函数是什么&#xff1f;二、C语言中函数的分类1、库函数2、自定义函数 三、函数的参数1、实际参数&#xff08;实参&#xff09;2、形式参数&#xff08;形参&#xff09; 四、函数的调用1、传值调用2、传址调用3、专项练习3.1 素数判断3.2 闰年判断3.3 二分查…

【OpenCV学习笔记17】- 平滑图像

这是对于 OpenCV 官方文档中 图像处理 的学习笔记。学习笔记中会记录官方给出的例子&#xff0c;也会给出自己根据官方的例子完成的更改代码&#xff0c;同样彩蛋的实现也会结合多个知识点一起实现一些小功能&#xff0c;来帮助我们对学会的知识点进行结合应用。 如果有喜欢我笔…

【数据结构】栈的远房亲戚——队列

队列的基本概念 前言一、队列的定义二、队列的重要术语三、队列的基本操作四、数据结构的三要素4.1 线性表的三要素4.2 栈的三要素4.3 队列的三要素 结语 前言 大家好&#xff0c;很高兴又和大家见面啦&#xff01;&#xff01;&#xff01; 在经过前面内容的介绍&#xff0c;…

“Oops,Account deactivated” 账号被停用,如何解封?

“Oops&#xff0c;Account deactivated” &#xff0c;当看到这个报错的时候&#xff0c;说明账号被停用&#xff0c;封了。 为什么被封 出现这种情况&#xff0c;多是因为违规使用账号&#xff0c;比如&#xff0c;批量注册多个账号或者违规使用账号&#xff0c;白嫖官方Api…

代码随想录算法训练营第三十六天 | 435.无重叠区间、763.划分字母区间、56.合并区间

435.无重叠区间 题目链接&#xff1a;435.无重叠区间 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 文章讲解/视频讲解&#xff1a;https://programmercarl.com/0435.%E6%9…

Java毕业设计-基于jsp+servlet的家用电器购物商城管理系统-第87期

获取源码资料&#xff0c;请移步从戎源码网&#xff1a;从戎源码网_专业的计算机毕业设计网站 项目介绍 基于jspservlet的家用电器购物商城管理系统&#xff1a;前端 jsp、jquery、layui&#xff0c;后端 servlet、jdbc&#xff0c;角色分为管理员、用户&#xff1b;集成商品…

AI制作《流浪地球3》高清宣传片

AI制作《流浪地球3》高清宣传片 星辰大海&#xff0c;再次启航&#xff0c;人类的冒险&#xff0c;永无止境。The vast expanse of stars and oceans, setting sail once again. Human adventure knows no bounds. 当家园变得遥不可及&#xff0c;我们唯有勇往直前。With our …

电脑端网络记事本哪个安全稳定?

随着互联网科技的飞速发展&#xff0c;越来越多的上班族发现在电脑上使用网络记事本的重要性。这种网络记事本不仅便于记录工作内容&#xff0c;而且自动将数据上传到云端进行备份&#xff0c;让用户不再为数据丢失而担忧。让我们来看看上班族使用网络记事本的好处。 在日常工…
最新文章