MySQL数据库基础合集

news2024/11/15 21:40:29

MySQL数据库基础合集

目录

  • MySQL数据库基础合集
    • SQL关键字
        • DDL关键字
        • DML关键字
        • DQL关键字
        • DCL关键字
        • 约束关键字
    • SQL基础数据类型
        • 整数类型
        • 字符类型
        • 浮点类型
        • 时间类型
    • 数据定义语言DDL
        • 1.查看数据库
        • 2.创建库
        • 3.删除库
        • 4.切换库
        • 5.创建表
        • 6.删除表
        • 7.查看表
        • 8.查看表属性
        • 9.插入列
        • 10.修改列
        • 11.设置主键
        • 12.设置外键并绑定主键
        • 13.设置自增
        • 14.删除列
        • 15.重命名
        • 16.设定默认值
        • 17.添加备注
        • 18.设置是否可为空
    • 数据操纵语言DML
        • 1.查表
        • 2.插入数据
        • 3.更新数据
        • 4.删除数据
    • 数据查询语言DQL
        • 1.子查询
        • 2.联表查询
        • 3.GROUP BY
        • 4.HAVING
        • 5.分页查询
        • 6.排序查询
    • 数据控制语言DCL
        • 1.事务
        • 2.用户权限
        • 2.用户权限

SQL关键字

DDL关键字
DDL关键字含义
CREATE TABLE创建一个新的数据库表
ALTER TABLE修改现有数据库表的结构或属性
DROP TABLE删除数据库中的表
MODIFY COLUMN修改列
ADD COLUMN新增列
CREATE INDEX创建索引
DROP INDEX删除索引
CREATE VIEW创建视图
DROP VIEW删除视图
CREATE FUNCTION创建函数
ALTER FUNCTION修改已存在的函数
DROP FUNCTION删除函数
ENUM()枚举(多选多)
SET()集合(多选一)
DML关键字
DML关键字含义
SELECT从数据库中检索数据
INSERT INTO向数据库表中插入新的行或数据
UPDATE更新数据库表中的现有行或数据
DELETE FROM从数据库表中删除行或数据
DQL关键字
DQL关键字含义
SELECTSELECT 字段列表,查询检索的列或表达式,它指定了最终结果包含的列
FROMFROM 表名,指定了要查询的列表或视图,例FROM table_name
WHEREWHERE 条件列表,筛选查询结果,通常是列(字段)的条件表达式,例:WHERE id = 10
GROUP BYGROUP BY 分组字段列表,根据一个或多个列对结果进行分组,但是通常需要满足聚合条件
HAVINGHAVING 分组后的条件列表,用于在GROUP BY子句的结果上进行过滤筛选
ORDER BYORDER BY 排序字段列表,用于按照一个或多个列对结果进行排序,它可以按升序(ASC)或降序(DESC)对查询结果进行排序
LIMITLIMIT 分页参数,一般在语句的最后,用于限制查询结果的数量
DQL执行顺序FROM -> WHERE -> GROUP BY -> HAVING ->SELECT -> ORDER BY -> LIMIT
DCL关键字
DCL关键字含义
GRANT授予用户或角色特定的权限
REVOKE撤销用户或角色的权限
COMMIT提交当前事务
ROLLBACK回滚当前事务
SAVEPOINT在事务中设置保存点
SET设置会话级别的参数
约束关键字
约束关键字含义
DEFAULT默认约束:为列设置默认值
AUTO_INCREMENT自增约束:自动递增生成唯一标识符
UNIQUE唯一约束:唯一约束确保列中的值是唯一的,但允许为空值
NOT NULL非空约束:非空约束要求列中的值不能为空
CHECK检查约束:检查约束定义了对列值的条件限制
PRIMARY KEY主键约束:主键必须是唯一且非空的,每个表只能有一个主键
FOREIGN KEY外键约束:用于建立表与表之间的关联关系,确保引用的数据存在于其他表中的主键列中
ZEROFILL填充约束:以0填充,int(4) ZEROFILL 赋值1结果= 0001
UNSIGNED非负约束:只能存储非负整数类型

SQL基础数据类型

整数类型
类型含义
TINYINT占用1个字节,范围-128-127,无符号范围0-255
SMALLINT占用2个字节,范围-32768-32767,无符号范围0-65535
MEDIUMINT占用3个字节,范围-8388608-8388607,无符号范围0-16777215
INT占用4个字节,范围-2147483648-2147483647,无符号范围0-4294967295
BIGINT占用8个字节,范围-9223372036854775808-9223372036854775807,无符号范围0-18446744073709551615
字符类型
类型含义
CHAR默认长度为1,可指定长度,例如CHAR(10)为长度10
VARCHAR默认长度为1,可指定长度,例如VARCHAR(32)为长度32
TINYTEXT最多可容纳255个字符
TEXT无固定长度限制,可以容纳更大的字符数量,最多可容纳65535个字符(约64KB)
MEDIUMTEXT最多容纳16777215个字符(约16MB)
LONGTEXT最多可容纳4294967295个字符(约4GB)
ENUM用于存储预定义的枚举值之一。需要定义可选的枚举值,例如ENUM('A', 'B', 'C')
SET用于存储从一个或多个预定义选项集合中选择的值。需要定义可选的集合,例如SET('option1', 'option2', 'option3')
浮点类型
类型含义
FLOAT单精度浮点数,精度约为6-7位有效数字
DOUBLE双精度浮点数,精度约为15-16位有效数字
DECIMAL用于存储高精度的十进制数,精度由用户指定
时间类型
类型含义
DATE格式为’YYYY-MM-DD’
TIME格式为’HH:MM:SS’
DATETIME格式为’YYYY-MM-DD HH:MM:SS’
TIMESTAMP类似于DATETIME,格式为’YYYY-MM-DD HH:MM:SS’,用DEFAULT将默认值设置为CURRENT_TIMESTAMP可以默认当前时间
YEAR用于存储年份值,表示四位数的年份

数据定义语言DDL

主要分为

  • CREAT:创建
  • DROP:删除
  • ALTER:修改

登录MySQL

mysql -uroot -p
Enter password: ****
1.查看数据库
show databases;

image-20240123211131623

2.创建库
create database emp;

image-20240123211431191

3.删除库
drop database users;

image-20240123211955194

4.切换库
use emp;

image-20240123211507715

5.创建表
create table emp(id int,name varchar(32),age int);

image-20240123211809372

  • enum插入数据时只能是enum中包含的数据
  • set插入数据时必须是set数据中的一个
create table emp(id int,name varchar(32),hobby enum('read','run','listen'), gender set('male','female'));
6.删除表

注意要先use选择数据库

drop table emp;

image-20240123212137664

7.查看表
show tables;

image-20240123212607182

8.查看表属性
desc emp;

image-20240123212639207

9.插入列
alter table emp add(sex varchar(2));

image-20240123212912014

image-20240123212959931

10.修改列

必须是当前表中存在的属性

alter table emp modify column name varchar(24);

image-20240123213315673

11.设置主键

修改

alter table emp modify column id int primary key;

新建

create table emp1(id int primary key);

image-20240123213616383

12.设置外键并绑定主键

表1

create table dep (id int primary key auto_increment,
                  name varchar(32) comment'部门名');

表2

create table emp (id int primary key auto_increment,
                  name varchar(32) comment'员工名',
                  dep_id int, 
                  foreign key(dep_id) references dep(id));
  • 当外键表2试图添加表1主键中不存在的数据时便会报错

image-20240126163922606

  • 当表1企图删除表2所在的行时也会报错(修改同理)

image-20240126164401992

13.设置自增
alter table emp modify column id int auto_increment;

image-20240123214011338

14.删除列
alter table emp drop column sex;

image-20240123214337573

15.重命名

RENAME

rename table emp to stu;
16.设定默认值

DEFAULT

create table emp3(id int,name varchar(32),age varchar(3) default "男");
17.添加备注

COMMENT

为表添加备注:

create table emp4(id int,name varchar(32)) COMMENT '员工表';

为字段添加备注:

create table emp4(id int COMMENT '员工编号',name varchar(32) COMMENT '员工姓名');
ALTER table emp4 modify column name varchar(32) COMMENT '员工名';
18.设置是否可为空

默认情况都是可以为空

NULL:可以为空

create table emp4(id int COMMENT '员工编号',name varchar(32) NULL COMMENT '员工姓名');

NOT NULL:不可为空

create table emp4(id int COMMENT '员工编号',name varchar(32) NOT NULL COMMENT '员工姓名');

数据操纵语言DML

  • SELECT:查表,SELECT在官方文档中隶属于DML,但是我们一般将其当做DQL操作
  • INSERT:插入数据
  • UPDATE:更新数据
  • DELETE:删除数据
1.查表

查表之前首先要选择库use database_name

查看emp表全部列

select * from emp5;

查看name字段

select name from emp5

image-20240124214136961

2.插入数据

insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...);

insert into emp5(name) value("李四");
3.更新数据
update emp5 set name="王五" where id=1;

image-20240124214736419

4.删除数据
delete from emp5 where id=4;

image-20240124215604517

删除表中所有数据

delete from emp5 ;

或者

truncate emp5;

image-20240124215803787

数据查询语言DQL

1.子查询
  • 将一个查询语句的结果当做另外一个查询语句的条件使用
+----+--------+---------------------+------+-------+
| id | name   | time                | age  | wages |
+----+--------+---------------------+------+-------+
|  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |
|  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |
|  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |
|  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |
|  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |
|  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |
|  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |
+----+--------+---------------------+------+-------+
-- 查询最大工资
select max(wages) from emp5;
+------------+
| max(wages) |
+------------+
|       2200 |
+------------+
-- 将最大工资作为条件插入查询name字段的语句中
select name from emp5 where wages = (select max(wages) from emp5);
+--------+
| name   |
+--------+
| 竖八   |
+--------+
-- 多个字段同理
select name,age,wages from emp5 where wages = (select max(wages) from emp5);
+--------+------+-------+
| name   | age  | wages |
+--------+------+-------+
| 竖八   |   20 |  2200 |
+--------+------+-------+
2.联表查询
-- 查询部门表
select * from dep
+-----+--------------+
| id  | name         |
+-----+--------------+
| 200 | 技术部       |
| 201 | 人力资源     |
| 202 | 销售部       |
| 203 | 运营部       |
| 204 | 售后部       |
+-----+--------------+

-- 查询员工表
select * from emp5;
+----+--------+---------------------+------+-------+--------+
| id | name   | time                | age  | wages | dep_id |
+----+--------+---------------------+------+-------+--------+
|  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
|  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
|  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
|  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
|  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
|  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
|  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
+----+--------+---------------------+------+-------+--------+

-- 联表查询dep和emp5
select * from dep,emp5;
+-----+--------------+----+--------+---------------------+------+-------+--------+
| id  | name         | id | name   | time                | age  | wages | dep_id |
+-----+--------------+----+--------+---------------------+------+-------+--------+
| 204 | 售后部       |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 203 | 运营部       |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 202 | 销售部       |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 201 | 人力资源     |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 200 | 技术部       |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 204 | 售后部       |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 203 | 运营部       |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 202 | 销售部       |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 201 | 人力资源     |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 200 | 技术部       |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 204 | 售后部       |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 203 | 运营部       |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 202 | 销售部       |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 201 | 人力资源     |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 200 | 技术部       |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 204 | 售后部       |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 203 | 运营部       |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 202 | 销售部       |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 201 | 人力资源     |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 200 | 技术部       |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 204 | 售后部       |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 203 | 运营部       |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 202 | 销售部       |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 201 | 人力资源     |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 200 | 技术部       |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 204 | 售后部       |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
| 203 | 运营部       |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
| 202 | 销售部       |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
| 201 | 人力资源     |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
| 200 | 技术部       |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
| 204 | 售后部       |  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
| 203 | 运营部       |  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
| 202 | 销售部       |  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
| 201 | 人力资源     |  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
| 200 | 技术部       |  7 | 竖八   | 2024-01-25 16:14:19 |   20 |  2200 |    205 |
+-----+--------------+----+--------+---------------------+------+-------+--------+

-- 添加条件限制,当员工表中的部门id = 部门表中id时,如果不存在对应的部门则不打印(比如id7的205部门)
select * from dep,emp5 where emp5.dep_id=dep.id;
+-----+--------------+----+--------+---------------------+------+-------+--------+
| id  | name         | id | name   | time                | age  | wages | dep_id |
+-----+--------------+----+--------+---------------------+------+-------+--------+
| 203 | 运营部       |  1 | 张三   | 2024-01-25 15:24:19 |   18 |  2000 |    203 |
| 201 | 人力资源     |  2 | 倪哥   | 2024-01-25 15:34:11 |   20 |  1000 |    201 |
| 202 | 销售部       |  3 | 李四   | 2024-01-25 16:14:19 |   18 |  2000 |    202 |
| 203 | 运营部       |  4 | 陈五   | 2024-01-25 16:14:19 |   19 |  1000 |    203 |
| 201 | 人力资源     |  5 | 王六   | 2024-01-25 16:14:19 |   19 |  2000 |    201 |
| 200 | 技术部       |  6 | 横七   | 2024-01-25 16:14:19 |   20 |  1000 |    200 |
+-----+--------------+----+--------+---------------------+------+-------+--------+
  • 例:打印各个部门中最高工资的员工信息
select * from emp5 where wages in (select max(wages) from emp5 group by dep_id);

image-20240125194221662

3.GROUP BY
  • group by 作用于where之后,order by 之前
  • 不适用group by的场景:查询后显示所有数据,且没有分组需要,例如当表中基本没有重复数据时就没必要分组

将表格emp5wages(工资)分组(2000,1000,2200)

select wages from emp5 group by wages;

image-20240125191222964

  • 例:我想查询各个部门的最高工资:
select dep_id,max(wages) from emp5 group by dep_id;

image-20240125191257691

  • 配合函数作用列,如summaxavgcount
select dep_id,sum(wages) from emp5 group by dep_id;
select dep_id,max(wages) from emp5 group by dep_id;
select dep_id,avg(wages) from emp5 group by dep_id;
select dep_id,count(*) from emp5 group by dep_id;
  • group_concat可以查看到组内所有人的属性
    • 根据部门(dep_id)分组,并且显示各个部门的人员
select group_concat(name), dep_id from emp5 group by dep_id;

image-20240126090824755

  • group_concat也可以查看进行字符的拼接
    • 根据部门(dep_id)分组,并且显示各个部门的人员以及其工资
select group_concat(name,":",wages), dep_id from emp5 group by dep_id;

image-20240126090943001

4.HAVING
  • HAVING一般紧随GROUP BY之后,一般用于限定SELECT筛选的字段
  • 查询各个部门的最高工资,并且排除薪资低于2000的
select dep_id,max(wages) from emp5 group by dep_id having max(wages)>2000;

image-20240125215505179

  • 查询各个部门的最高工资,并且只要202和203部门的
select dep_id,max(wages) from emp5 group by dep_id having dep_id in (202,203);

image-20240125215533299

5.分页查询
  • limit 0,2从第0页开始,往后每页2条数据
  • limit 2,2每页两条数据从第二页开始查询
select * from emp5 limit 0,2

image-20240125211023994

image-20240125211152056

6.排序查询
  • 升序:ASC
  • 降序:DESC
  • 按照员工的工资升序排序
select * from emp5 order by wages ASC;

image-20240125214218936

  • 按照员工的部门排序,当部门相同时按照工资升序排序
select * from emp5 order by dep_id ASC, wages ASC;

image-20240125214328490

数据控制语言DCL

1.事务

事务的四大特性:原子性,一致性,隔离性,持久性

  • START TRANSACTION:开始事务
start transaction;
  • ROLLBACK:回滚
rollback

image-20240129162916933

  • COMMIT:提交事务

提交事务后意味着改部分sql语句已运行结束,不能再执行回滚操作

start transaction;
insert into emp(name) values("王五");
commit;	# 提交事务后无法再进行回滚
2.用户权限
  • CREATE USER:创建新的用户并指定权限

username为用户名,password为密码,IDENTIFIED为指定用户密码的关键字

create user username IDENTIFIED by 'password';
  • DROP USER:删除用户
DROP USER username;
  • ALTER USER:更改用户权限或属性
ALTER USER username SET PASSWORD = 'new_password';
  • GRANT:赋予用户权限

赋予user用户 SELECTINSERT等权限,table_name为权限生效的表名(修改权限之前要use库)

GRANT SELECT, INSERT ON table_name TO user;
  • REVOKE:取消用户权限

用法与grant相同

REVOKE SELECT, INSERT ON table_name FROM user;

6518652337)]

  • COMMIT:提交事务

提交事务后意味着改部分sql语句已运行结束,不能再执行回滚操作

start transaction;
insert into emp(name) values("王五");
commit;	# 提交事务后无法再进行回滚
2.用户权限
  • CREATE USER:创建新的用户并指定权限

username为用户名,password为密码,IDENTIFIED为指定用户密码的关键字

create user username IDENTIFIED by 'password';
  • DROP USER:删除用户
DROP USER username;
  • ALTER USER:更改用户权限或属性
ALTER USER username SET PASSWORD = 'new_password';
  • GRANT:赋予用户权限

赋予user用户 SELECTINSERT等权限,table_name为权限生效的表名(修改权限之前要use库)

GRANT SELECT, INSERT ON table_name TO user;
  • REVOKE:取消用户权限

用法与grant相同

REVOKE SELECT, INSERT ON table_name FROM user;

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

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

相关文章

设计模式——模板方法模式(Template Method Pattern)

概述 模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式是一种基于继承的代码复用技术,它是一种类行为型模式。模板方法模式是结…

氢气传感器报警值:守护实验室安全的隐形卫士

随着科技的发展,我们的生活变得越来越便捷,但是与此同时,安全问题也日益凸显。其中,氢气作为一种清洁能源,被广泛应用于各个领域,但是如果不加以控制,氢气泄漏也可能带来严重的安全隐患。因此&a…

成都源聚达:抖音开店卖什么最好

在数字化浪潮的推动下,抖音已成为一个集娱乐与商业于一体的平台,吸引着无数商家和创作者。但在这个竞争激烈的市场中,选择什么样的产品才能在抖音上脱颖而出呢? 自然是那些符合抖音用户喜好的产品。据统计,服饰、美妆、食品、家居…

[k8s系列]:kubernetes·概念入门

文章目录 序言1 kubernetes概述1.1 kubernetes解决的问题1.1.1 部署方式的演变1.1.2 容器化部署——容器编排问题 1.2 kubernetes组件1.2.1 kubernetes组件调用关系1.2.2 调用逻辑示例 序言 序言:本文将从,第一节:kubernetes解决的问题、组件…

Linux实验记录:使用iptables

前言: 本文是一篇关于Linux系统初学者的实验记录。 参考书籍:《Linux就该这么学》 实验环境: VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注: 防火墙作为公网与内网的屏障&#…

2023年黄金市场行业分析(电商数据查询软件):年销售额激增104%,黄金消费持续走热

近日,社交平台上不少年轻人将实物金条在黄金加工店加工成黄金首饰的帖子爆火,不少人也在评论区表示要跟随。可以看到,黄金的热潮还在持续。 根据世界黄金协会《2022年中国金饰市场趋势洞察》报告显示,黄金市场被认为是销售大头的…

Flask 入门1:一个简单的 Web 程序

1. 关于 Flask Flask诞生于2010年, Armin Ronacher的一个愚人节玩笑。不过现在已经是一个用python语言基于Werkzeug工具箱编写的轻量级web开发框架,它主要面向需求简单,项目周期短的小应用。 Flask本身相当于一个内核,其他几乎所…

idea报错:Cannot resolve symbol ‘springframework‘

说明maven没有配置好或者加载好 解决: 1)File–>Invalidate Caches… 清理缓存,重启idea客户端 然后我这里只进行了第一步就不报错了!!! 如果你依然报错,就继续第二步: 2&…

实战教程:如何用Spring Boot和MySQL存储共享单车数据

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

数字孪生项目开发的注意事项

数字孪生是指使用数字化技术创建物理实体的数字副本,通常用于模拟、监测和优化实际系统的运行。数字孪生项目的开发涉及多个方面,以下是一些注意事项,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&#…

Node.js-express

1.了解Ajax 1.1 什么是ajax Ajax的全称是Asynchronous Javascript And XML(异步Js和XML). 通俗的理解:在网页中利用XMLHttpRequest对象和服务器进行数据交互的方式,就是Ajax 1.2 为什么要学习Ajax 之前所学的技术&#xff0c…

想查大数据信用报告,这几点高性价比查询平台的特点要了解!内附查询平台推荐

随着大数据技术的不断发展,大数据信用报告成为不少人全方位了解自身个人信用的重要工具。在众多大数据信用报告查询平台中,选择高性价比的查询平台是很多人都想了解的,本文就为大家介绍大数据信用报告查询高性价比平台的特点,希望…

如何在群晖NAS部署office服务实现多人远程协同办公编辑文档

文章目录 本教程解决的问题是:1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是: 1.Word,PPT,Excel等重要文件存在本地环境,如何在编…

阿里云幻兽帕鲁服务器4核16G配置报价

自建幻兽帕鲁服务器租用价格表,2024阿里云推出专属幻兽帕鲁Palworld游戏优惠服务器,配置分为4核16G和4核32G服务器,4核16G配置32.25元/1个月、10M带宽66.30元/1个月、4核32G配置113.24元/1个月,4核32G配置3个月339.72元。ECS云服务…

RabbitMQ之三种队列之间的区别及如何选型

目录 不同队列之间的区别 Classic经典队列 Quorum仲裁队列 Stream流式队列 如何使用不同类型的队列​ Quorum队列 Stream队列 不同队列之间的区别 Classic经典队列 这是RabbitMQ最为经典的队列类型。在单机环境中,拥有比较高的消息可靠性。 经典队列可以选…

【Algorithms 4】算法(第4版)学习笔记 01 - 1.5 案例研究:union-find算法

文章目录 前言参考目录学习笔记1:动态连通性2:UF 实现 1:快速查找 quick-find2.1:demo 演示 12.2:demo 演示 22.3:quick-find 代码实现3:UF 实现 2:快速合并 quick-union3.1&#xf…

Powershell 并发任务 | Runspace 线程 | 结果获取

介绍 在 PowerShell 中进行多任务处理(Multithreading 或 Parallel Processing)主要目的是提高脚本的执行效率和性能。对于需要处理大量数据或执行多个独立任务的脚本来说尤其有用。 提高性能: 多任务处理允许脚本同时执行多个任务&#xff…

Centos7 双机单网卡安装 OpenStack

虚拟机配置 1:准备虚拟机2台,配置如下 openstack master----192.168.20.205 2cpu,8G内存,200G硬盘,网络桥接方式--静态IP----单网卡 node1计算节点---192.168.20.215 2cpu,8G内存,200G硬盘&a…

数据结构【初阶】--排序(归并排序和基数排序)

目录 一.归并排序的非递归写法 1.思想应用 2.代码基本实现 (1)单趟归并逻辑 (2)多趟&#xff08;循环&#xff09;的控制条件 ① 迭代条件&#xff1a;i2*gap ② 结束条件&#xff1a;i(或i<n-2*gap)<> (3)代码展示 ① 单趟逻辑 ②整体逻辑 3.优化代码…

《HTML 简易速速上手小册》第6章:HTML 语义与结构(2024 最新版)

文章目录 6.1 语义化标签的重要性6.1.1 基础知识6.1.2 案例 1&#xff1a;使用 <article>, <section>, <aside>, <header>, 和 <footer>6.1.3 案例 2&#xff1a;构建带有嵌套语义化标签的新闻网站6.1.4 案例 3&#xff1a;创建一个带有 <mai…