当前位置: 首页 > news >正文

MySQL 入门学习笔记(二) 基本操作

MySQL 入门学习笔记(二) 数据库和表的基本操作

我们把一些表的集合称之为数据库,一个服务器中可以存在多个数据库.每个数据库中包含多个表,每个表都有一个名字作为标识,数据表则包含带有数据的记录.
PS:SQL 语句对大小写不敏感.

操作数据库命令

在 MySQL 命令中,数据库用DATABASE表示.
当我门想查看服务器中都有什么数据库时,可以用以下命令:

 SHOW DATABASES;+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+

需要注意的是,每条完整的 SQL 语句后面都需要跟一个分号:“;
分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的请求中执行多条 SQL 语句.

一些重要的操作数据库的命令:

CREATE DATABASE - 创建新数据库
USE DATABASE - 切换数据库
ALTER DATABASE - 修改数据库
DROP DATABASE - 删除数据库

创建数据库

首先是创建数据库命令:

mysql> CREATE DATABASE test;
Query OK, 1 row affected (0.00 sec)

这种情况表示我们的数据库创建成功.

但是如果数据库中已经存在了同名的数据库,执行创建数据库命令就会报错:

mysql> CREATE DATABASE test;
ERROR 1007 (HY000): Can't create database 'test'; database exists

这个时候命令的执行结果是一个ERROR,并且显示已经存在同名的数据库了.
当并不清楚是否已经存在同名的数据库时,可以使用IF NOT EXISTS:

mysql> CREATE DATABASE IF NOT EXISTS test;
Query OK, 1 row affected, 1 warning (0.00 sec)

这个时候提示就变为了一个Warning.

Warning 的好处就是不影响语句的执行,而 ERROR 之后的语句是不能执行的.

切换数据库

当需要进入某个数据库的时候需要使用USE DATABASE命令进行切换

mysql> USE test;
Database changed

“Database changed”说明数据库切换成功.

修改数据库

当需要修改数据库的某些参数时,可以是用ALTER DATABASE命令,例如

mysql> ALTER DATABASE test-> DEFAULT CHARACTER SET gb2312-> DEFAULT COLLATE gb2312_chinese_ci;
Query OK, 1 row affected (0.00 sec)

以上时使用命令行工具将数据库 test 指定字符集修改为 gb2312,默认校对规则修改为 gb2312_chinese_ci.

删除数据库

当一些数据库废弃的时候可以使用DROP DATABASE命令删除:

mysql> DROP DATABASE demo;
ERROR 1008 (HY000): Can't drop database 'demo'; database doesn't exist

当我们删除数据库中不存在的数据库时,同样会报ERROR

如果想避免 ERROR,跟之前创建命令不同的是,需要使用IF EXISTS,再执行一次:

mysql> DROP DATABASE IF EXISTS demo;
Query OK, 0 rows affected, 1 warning (0.00 sec)

这个时候与创建命令类似,ERROR 变成了 Warning.

♣删除数据库命令是一个非常非常危险的操作,因为删除数据库意味着同时删除了数据库中的表结构,还有数据库中的数据.这意味着所有的数据都会丢失,所以在实际开发中删除数据库需要慎之又慎.

操作数据库表命令

数据库建好之后就可以创建表结构了.
数据库表的基本操作会用到几个命令:


SHOW TABLES; - 展示表
CREATE TABLE ; - 创建表
ALTER TABLE; - 修改表
DROP TABLE; - 删除表

展示数据表

在数据库中可以使用**SHOW TABLES;**查看数据库的数据表.

mysql> SHOW TABLES;
+----------------+
| Tables_in_test |
+----------------+
| student        |
+----------------+
1 row in set (0.00 sec)

从结果可以看到数据库中有几张表,还有每张表的名字.

另外,还可以在该命令后加上数据库的名称,这样就可以展示其他数据库中的表信息了:

mysql> SHOW TABLES FROM test_2;
+------------------+
| Tables_in_test_2 |
+------------------+
| first_table      |
+------------------+
1 row in set (0.00 sec)

创建表

创建表的命令是:CREATE TABLE;,但是在创建的过程中,需要指定一些参数:

  • 数据表名称
  • 数据表中列的名称和列的数据类型
  • 数据表中列还有一些可选属性 比如"是否为 NULL 默认值" 等.
  • 可以同时创建多个列

这里有一个主键的概念,简单来说就是:

表中经常有一列或者多列组合,他们能唯一的表示每一行.这样的列或者列的组合称为主键,通过主键可以增强表的实体完整性.

通过PRIMARY KEY约束来创建主键.一个表只能有一个 PRIMARY KEY 约束,且该约束的主键必须是非空(NOT NULL).

所以可以写成这样:

mysql> CREATE TABLE class(-> id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',-> name VARCHAR(30)  NULL COMMENT 'name',-> PRIMARY KEY(`id`)-> ) COMMENT='class';
Query OK, 0 rows affected (0.02 sec)

上面的命令是创建一个名称为"class"的表,且备注信息为"class"表里面有两列的创建信息:

  • 第一列的名称是"id",数据类型为 int,属性是"不为 NULL,自增,且备注信息为’id’"
  • 第二列的名称是"name",数据类型为 varchar,属性是"可以为 NULL,备注信息为’name’"
  • 同时,PRIMARY KEY指定了该表的主键为第一列

创建表命令有个需要注意的地方:

  • 列信息放在()中,各个列之间用英文版,分隔.

如果已经存在同名的表,这时候再执行创建命令就会报错ERROR,提示已经存在相同名称的表.
为了避免 ERROR,和创建数据库时相同,可以使用IF NOT EXISTS.
例如:

mysql> CREATE TABLE IF NOT EXISTS class(-> name VARCHAR(30)-> ) COMMENT ='class';
Query OK, 0 rows affected, 1 warning (0.00 sec)

使用 IF NOT EXISTS 重新创建‘class’,不会报 ERROR,而是给出 warning 的提示.

修改表

查看表结构

修改表之前可能需要查看表结构,可以用下面的命令查看表结构:

DESCRIBE <表名>;
DESC <表名>;
EXPLAIN <表名>;
SHOW COLUMNS FROM <表名>;
SHOW FIELDS FROM <表名>;

例如:

mysql> SHOW FIELDS FROM class;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | varchar(30)      | NO   |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

上面几条命令的查询的结果时相同的,都会展示表中每一列的名称、数据类型和属性.
此外,还有一条命令SHOW CREATE TABLE会将数据库表结构信息,按照创建时的样子展示出来:

mysql> show create table class;
+-------+---------------------------------------------------+
| Table | Create Table                                      |
+-------+---------------------------------------------------+
| class | CREATE TABLE `class` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',`name` varchar(30) NOT NULL COMMENT 'name',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='class'      |
+-------+---------------------------------------------------+
1 row in set (0.00 sec)

上面展示的表信息中出现了ENGINE=InnoDBDEFAULT CHARSET=latin1,他的意思是:

  • 该表指定的存储引擎是 InnoDB
  • 该表默认的字符集是 latin1
修改表名

首先,如果想修改表名称,可以使用RENAME TABLE <旧表明> TO <新表名>,例如:

mysql> RENAME TABLE class TO class_1;
Query OK, 0 rows affected (0.00 sec)mysql> SHOW TABLES;
+----------------+
| Tables_in_test |
+----------------+
| class_1        |
| student        |
+----------------+
2 rows in set (0.00 sec)

查看结果,发现命令有效,修改成功了.

另外,修改表名也可以用ALTER TABLE <旧表名> RENAME <新表名>;或者使用ALTER TABLE <旧表名> RENAME TO <新表名>;.效果都是相同的.

在 SQL 语句中,ALTER TABLE语句也用于在已有的表中添加、删除、或者修改列.

增加列

使用 ALTER TABLE 在表中增加一列,可以使用命令:

ALTER TABLE <表名> ADD COLUMN  <列名> 数据类型 属性;

例如:

mysql> ALTER TABLE class ADD COLUMN `describe` VARCHAR(100) NULL COMMENT 'describe';
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> DESC class;
+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| id       | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| name     | varchar(30)      | NO   |     | NULL    |                |
| describe | varchar(100)     | YES  |     | NULL    |                |
+----------+------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

可以看到,已经新增成功.

注意,上面的列名’describe’需要用反引号`标注起来,否则可能会出现修改不成功的情况.

有时为了数据更加直观,需要将有关描述放到一起,这个时候需要调整列的位置.
调整语句很简单,只需要在新增或者修改的时候在属性之后指定位置就可以.

例如:

 mysql> ALTER TABLE class ADD COLUMN `student_count` int(4) NOT NULL COMMENT 'count' FIRST;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> desc class;
+---------------+------------------+------+-----+---------+----------------+
| Field         | Type             | Null | Key | Default | Extra          |
+---------------+------------------+------+-----+---------+----------------+
| student_count | int(4)           | NO   |     | NULL    |                |
| id            | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| name          | varchar(30)      | NO   |     | NULL    |                |
| describe      | varchar(100)     | YES  |     | NULL    |                |
+---------------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

可以看到,新增的’student_count’列,被放到了最前面.

如果想添加到指定的列后面,可以将’FIRST’修改为 ‘AFTER <列名>’.

修改列

修改列的命令有三个,分别为 CHANGE COLUMN ALTER COLUMN MODIFY COLUMN.
这三个虽然都是在修改列,但是使用的场景不太相同

  • CHANGE COLUMN

主要用于列的重命名,列的类型以及属性的变更和位置移动.

mysql> ALTER TABLE class CHANGE COLUMN `student_count` `count` INT(5) AFTER `id`;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> SHOW FIELDS * FROM class;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM class' at line 1
mysql> SHOW FIELDS FROM class;
+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| id       | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| count    | int(5)           | YES  |     | NULL    |                |
| name     | varchar(30)      | NO   |     | NULL    |                |
| describe | varchar(100)     | YES  |     | NULL    |                |
+----------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
  • ALTER COLUMN

只用来设置或删除列的默认值

 mysql> ALTER TABLE class ALTER COLUMN `describe` SET DEFAULT 'this is default describe';
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> EXPLAIN class;
+----------+------------------+------+-----+--------------------------+----------------+
| Field    | Type             | Null | Key | Default                  | Extra          |
+----------+------------------+------+-----+--------------------------+----------------+
| id       | int(11) unsigned | NO   | PRI | NULL                     | auto_increment |
| count    | int(5)           | YES  |     | NULL                     |                |
| name     | varchar(30)      | NO   |     | NULL                     |                |
| describe | varchar(100)     | YES  |     | this is default describe |                |
+----------+------------------+------+-----+--------------------------+----------------+
4 rows in set (0.00 sec)
  • MODIFY COLUMN

功能和 CHANGE COLUMN 相同,但是不能用来给一个列重命名.

mysql> ALTER TABLE class MODIFY COLUMN `name` VARCHAR(50);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> SHOW COLUMNS FROM class;
+----------+------------------+------+-----+--------------------------+----------------+
| Field    | Type             | Null | Key | Default                  | Extra          |
+----------+------------------+------+-----+--------------------------+----------------+
| id       | int(11) unsigned | NO   | PRI | NULL                     | auto_increment |
| count    | int(5)           | YES  |     | NULL                     |                |
| name     | varchar(50)      | YES  |     | NULL                     |                |
| describe | varchar(100)     | YES  |     | this is default describe |                |
+----------+------------------+------+-----+--------------------------+----------------+
4 rows in set (0.00 sec)
删除列

删除列的操作是和删除表或者数据库一样,都是用DROP.

mysql> ALTER TABLE class DROP count;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> SHOW FIELDS FROM class;
+----------+------------------+------+-----+--------------------------+----------------+
| Field    | Type             | Null | Key | Default                  | Extra          |
+----------+------------------+------+-----+--------------------------+----------------+
| id       | int(11) unsigned | NO   | PRI | NULL                     | auto_increment |
| name     | int(10)          | YES  |     | NULL                     |                |
| describe | varchar(100)     | YES  |     | this is default describe |                |
+----------+------------------+------+-----+--------------------------+----------------+
3 rows in set (0.00 sec)

可以看到 'count’列已经被删除了.

同样的,当删除一个表中不存在的列时,也会报ERROR.
但需要注意的是DROP COLUMN 是不支持 IF EXISTS 的.

所以,要想在删除是判断字段是否存在,需要一些复杂的操作.

删除表

删除表的语句是DROP TABLE

mysql> DROP TABLE test_table;
Query OK, 0 rows affected (0.01 sec)

当删除一个不存在的表时,也会报 ERROR,所以也需要进行IF EXISTS判断来规避 ERROR.确保后面的 SQL 语句正常执行:

mysql> DROP TABLE IF EXISTS test_table;
Query OK, 0 rows affected, 1 warning (0.00 sec)

DROP 语句支持同时删除多张表,表与表之间用逗号隔开即可.

♣ 删除表也是一个很谨慎的操作,正常开发中尽量不要使用删除操作.

操作合并

一条语句中可以包含多个操作,例如当修改表时:

mysql> ALTER TABLE class-> DROP COLUMN `describe`,-> CHANGE COLUMN `name` `new_name` VARCHAR(20) NOT NULL,-> ADD COLUMN `size` INT(4) NOT NULL COMMENT 'size';
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> explain class;
+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| id       | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| new_name | varchar(20)      | NO   |     | NULL    |                |
| size     | int(4)           | NO   |     | NULL    |                |
+----------+------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

语句正常执行.

相关文章:

MySQL 入门学习笔记(二) 基本操作

MySQL 入门学习笔记(二) 数据库和表的基本操作 我们把一些表的集合称之为数据库,一个服务器中可以存在多个数据库.每个数据库中包含多个表,每个表都有一个名字作为标识,数据表则包含带有数据的记录. PS:SQL 语句对大小写不敏感. 操作数据库命令 在 MySQL 命令中,数据库用DAT…...

【Linux】理解文件系统

文章目录理解文件系统了解磁盘结构inode理解文件系统 了解磁盘结构 磁盘是计算机中的一个 机械设备 这个磁盘的盘片就像光盘一样,数据就在盘片上放着, 但是光盘是只读的,磁盘是可读可写的 机械硬盘的寻址的工作方式: 盘片不断旋转,磁头不断摆动,定位到特定的位置 我们可以把…...

Java如何String字符串带括号转成List

问题现象 今天在做一个需求&#xff1a;将存入数据库中的数据读到后解析成list遍历分析 数据格式&#xff1a; "[1677660600000, 1677660900000, 1677661200000]" "[5, 4, 4,3,2&#xff0c;0,0]" 我一开始想到的就是使用逗号分割即可 结果变成了这样的…...

react 使用 mqtt

也许很多人都好奇这个mqtt是什么东西&#xff0c;其实在互联网上可能不会使用到它&#xff0c;它是物联网上的东西&#xff0c;也是一种通信协议跟websocket。但它也能在浏览器跟服务器上跑&#xff0c;它的底层实现也是封装了websocket。 MQTT MQTT是一个客户端服务端架构的发…...

W25Q256被写保护如何修改

W25Q256被写保护如何修改1、 W25Q256数据读不到1.1 打印的寄存器的值1.2 可能原因1.3 解决办法1.4 用到的函数1、 W25Q256数据读不到 能够正确的读到ID&#xff0c;但是读到的数据不正确 1.1 打印的寄存器的值 0x2 BUSY &#xff1a;只读&#xff0c; 指令正在执行 WEL (1) &…...

论文投稿指南——中文核心期刊推荐(中国文学作品)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…...

MySQL 问题总结

什么是MVCC&#xff1f; 说说MySQL实现MVCC的原理&#xff1f; MVCC&#xff0c;全称Multi-Version Concurrency Control&#xff0c;即多版本并发控制。MVCC是一种并发控制的方法&#xff0c;一般在数据库管理系统中&#xff0c;实现对数据库的并发访问。 对于「读已提交」和…...

62. 不同路径

62. 不同路径 一个机器人位于一个 m∗nm * nm∗n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路…...

在windows安装python3.11同时进行一个数据的练习

安装包百度网盘如下&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1l9H1GWP64LOxLaXXLie2uA?pwd6666 提取码&#xff1a;6666 1.我们选择自定义安装 2.当我们点了自定义安装后就直接next 3.修改路径&#xff0c;之后点击安装(install) 4.安装完成&#xff0c;进行…...

Java接口专题

基本介绍 接口给出一些没有实现的方法&#xff0c;封装到一起&#xff0c;到某个类使用时再根据具体情况把这些方法写出来。 注意&#xff1a;在jdk7之前&#xff0c;接口里所有的方法都是抽象方法。在jdk8之后接口中可以有静态方法&#xff0c;默认方法 interface 接口名{/…...

6招优化WordPress打开速度-让你的网站飞起来

为什么我们的WordPress网站比你的快&#xff1f; 我们的官网是使用WordPress框架搭建的&#xff0c;有没有发现我们的网站非常快&#xff0c;而你的WordPress网站比较慢呢&#xff1f;那是因为我们的网站经过了优化。 WordPress 很慢&#xff1f; 为什么很多人都会觉得 Word…...

春天到了,来一场 VoxEdit 创作大赛吧!

春天的气息扑面而来&#xff0c;这是让你尽情绽放创造力的最佳时机&#xff01;我们将以「春天」为主题来一场 VoxEdit 大赛。在这里&#xff0c;你可以展示你的才华并赢得 $SAND 奖励&#xff01; 无论你是专业的设计师&#xff0c;还是仅仅喜欢创造美丽的艺术&#xff0c;这场…...

异步Buck和同步Buck的特点

1 介绍 随着时代的发展&#xff0c;工业&#xff0c;车载&#xff0c;通信&#xff0c;消费类等产品都提出了小型化&#xff0c;智能化的需求。相应的&#xff0c;对于这些系统中的电源模块提出了小型化的要求。目前&#xff0c;市场上依然存在很多异步Buck电源管理芯片使用的场…...

基于轻量级YOLO开发构建中国象棋目标检测识别分析系统

关于棋类相关的项目在我之前的博文里面都有做过&#xff0c;如下&#xff1a;《yolov5s融合SPD-Conv用于提升小目标和低分辨率图像检测性能实践五子棋检测识别》《YOLOV5融合SE注意力机制和SwinTransformer模块开发实践的中国象棋检测识别分析系统》《基于yolov5s实践国际象棋目…...

机器学习100天(三十五):035 贝叶斯公式

《机器学习100天》完整目录:目录 机器学习100天,今天讲的是:贝叶斯公式! 好了,上一节介绍完先验概率、后验概率、联合概率、全概率后,我们来看这样一个问题:如果我现在挑到了一个瓜蒂脱落的瓜,则该瓜是好瓜的概率多大? 显然,这是一个计算后验概率的问题,根据我们之…...

大话数据结构-栈

1 概述 栈&#xff08;Stack&#xff09;是限定仅在表尾进行插入和删除操作的线性表。 允许插入和删除的一端称为栈顶&#xff08;top&#xff09;&#xff0c;另一端称为栈底&#xff08;bottom&#xff09;&#xff0c;不含任何数据元素的栈称为空栈&#xff0c;栈又称为后进…...

javaFx实现放大镜效果——圆形、矩形、三角形放大镜,拖动调整放大镜大小,设置放大倍数

系列文章专栏:javafx图形绘制、桌面录屏录音源码合集 目录 一、实现的效果 二、实现思路 三、程序实现...

什么是客户忠诚度?建立忠诚文化的 5 种方法

客户忠诚度影响企业的各个方面&#xff0c;例如收入、品牌形象、预算分配和产品路线图。拥有忠实的客户群对于建立成功的企业至关重要&#xff0c;因为您的客户是您的主要拥护者&#xff0c;有助于为您的企业营造积极的氛围。 什么是客户忠诚度&#xff1f; 客户忠诚度衡量客户…...

【ROS2知识】关于colcon编译和ament指定

一、说明 这里说说编译和包生成的操作要点&#xff0c;以python包为例。对于初学者来说&#xff0c;colcon和ament需要概念上搞清楚&#xff0c;与此同时&#xff0c;工作空间、包、节点在一个工程中需要熟练掌握。本文以humble版的ROS2&#xff0c;进行python编程的实现。 二、…...

数据结构: 最小栈

最小栈的特色是保持栈后进先出的特性&#xff0c;同时能够以O(1)复杂度获得当前栈的最小值。 栈是比较好实现的&#xff0c;直接搞个链表&#xff0c;从头部删除和添加即可。 最小栈的核心逻辑是&#xff1a; 因为栈是后进先出的&#xff0c;因此栈顶元素之下的数字永远在栈…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...