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

SQL创建和操纵表

本文介绍创建、更改和删除表的基本知识。

1. 创建表

SQL 不仅用于表数据操纵,而且还用来执行数据库和表的所有操作,包括表本身的创建和处理。一般有两种创建表的方法:

  1. 多数DBMS 都具有交互式创建和管理数据库表的工具;
  2. 表也可以直接用SQL 语句操纵。

用程序创建表,可以使用SQL 的 CREATE TABLE 语句。需要注意的是,使用交互式工具时实际上就是使用SQL 语句。这些语句不是用户编写的,界面工具会自动生成并执行相应的SQL 语句(更改已有的表时也是这样)。

注意:语法差别
在不同的SQL 实现中,CREATE TABLE 语句的语法可能有所不同。对于具体的DBMS 支持何种语法,请参阅相应的文档。

本文不会介绍创建表时可以使用的所有选项,那超出了本文的范围,我只给出一些基本选项。详细的信息说明,请参阅具体的DBMS 文档。

1.1 表创建基础

利用 CREATE TABLE 创建表,必须给出下列信息:

  1. 新表的名字,在关键字 CREATE TABLE 之后给出;
  2. 表列的名字和定义,用逗号分隔;
  3. 有的DBMS 还要求指定表的位置。

下面的SQL 语句创建本书中所用的 Products 表:

CREATE TABLE Products
(prod_id CHAR(10) NOT NULL,vend_id CHAR(10) NOT NULL,prod_name CHAR(254) NOT NULL,prod_price DECIMAL(8,2) NOT NULL,prod_desc VARCHAR(1000) NULL
);

分析
从上面的例子可以看到,表名紧跟 CREATE TABLE 关键字。实际的表定义(所有列)括在圆括号之中,各列之间用逗号分隔。这个表由5列组成。每列的定义以列名(它在表中必须是唯一的)开始,后跟列的数据类型。整条语句以圆括号后的分号结束。

前面提到,不同DBMS 的 CREATE TABLE 语法有所不同,这个简单脚本也说明了这一点。这条语句在绝大多数DBMS 中有效,但对于DB2,必须从最后一列中去掉 NULL

提示:语句格式化
回想一下在SQL 语句中忽略的空格。语句可以在一个长行上输入,也可以分成许多行,它们没有差别。这样,你就可以用最适合自己的方式安排语句的格式。前面的 CREATE TABLE 语句就是SQL 语句格式化的一个好例子,代码安排在多个行上,列定义进行了恰当的缩进,更易阅读和编辑。以何种格式安排SQL 语句并没有规定,但我强烈推荐采用某种缩进格式。

提示:替换现有的表
在创建新的表时,指定的表名必须不存在,否则会出错。防止意外覆盖已有的表,SQL 要求首先手工删除该表(请参阅后面的内容),然后再重建它,而不是简单地用创建表语句覆盖它。

1.2 使用NULL值

NULL 值就是没有值或缺值。允许 NULL 值的列也允许在插入行时不给出该列的值。不允许 NULL 值的列不接受没有列值的行,换句话说,在插入或更新行时,该列必须有值。

每个表列要么是 NULL 列,要么是 NOT NULL 列,这种状态在创建时由表的定义规定。请看下面的例子:

CREATE TABLE Orders
(order_num INTEGER NOT NULL,order_date DATETIME NOT NULL,cust_id CHAR(10) NOT NULL
);

分析
这条语句创建本书中所用的 Orders 表。Orders 包含三列:订单号、订单日期和顾客ID。这三列都需要,因此每一列的定义都含有关键字 NOT NULL。这就会阻止插入没有值的列。如果插入没有值的列,将返回错误,且插入失败。

下一个例子将创建混合了 NULLNOT NULL 列的表:

CREATE TABLE Vendors
(vend_id CHAR(10) NOT NULL,vend_name CHAR(50) NOT NULL,vend_address CHAR(50),vend_city CHAR(50),vend_state CHAR(5),vend_zip CHAR(10),vend_country CHAR(50)
);

分析
这条语句创建 Vendors 表。供应商ID 和供应商名字列是必需的,因此指定为 NOT NULL。其余五列全都允许 NULL 值,所以不指定 NOT NULLNULL 为默认设置,如果不指定 NOT NULL,就认为指定的是 NULL

注意:指定NULL
在不指定 NOT NULL 时,多数DBMS 认为指定的是 NULL,但不是所有的DBMS 都这样。某些DBMS 要求指定关键字 NULL,如果不指定将出错。关于完整的语法信息,请参阅具体的DBMS 文档。

提示:主键和NULL值
主键是其值唯一标识表中每一行的列。只有不允许 NULL 值的列可作为主键,允许 NULL 值的列不能作为唯一标识。

注意:理解NULL
不要把 NULL 值与空字符串相混淆。NULL 值是没有值,不是空字符串。如果指定 ''(两个单引号,其间没有字符),这在 NOT NULL 列中是允许的。空字符串是一个有效的值,它不是无值。NULL 值用关键字 NULL 而不是空字符串指定。

1.3 指定默认值

SQL 允许指定默认值,在插入行时如果不给出值,DBMS 将自动采用默认值。默认值在 CREATE TABLE 语句的列定义中用关键字 DEFAULT 指定。

请看下面的例子:

CREATE TABLE OrderItems
(order_num INTEGER NOT NULL,order_item INTEGER NOT NULL,prod_id CHAR(10) NOT NULL,quantity INTEGER NOT NULL DEFAULT 1,item_price DECIMAL(8,2) NOT NULL
);

分析
这条语句创建 OrderItems 表,包含构成订单的各项(订单本身存储在 Orders 表中)。quantity 列为订单中每个物品的数量。在这个例子中,这一列的描述增加了 DEFAULT 1,指示DBMS,如果不给出数量则使用数量 1

默认值经常用于日期或时间戳列。例如,通过指定引用系统日期的函数或变量,将系统日期用作默认日期。MySQL 用户指定 DEFAULT CURRENT_DATE(),Oracle 用户指定 DEFAULT SYSDATE,而SQL Server 用户指定 DEFAULT GETDATE()。遗憾的是,这条获得系统日期的命令在不同的DBMS 中大多是不同的。表17-1 列出了这条命令在某些DBMS 中的语法。


提示:使用DEFAULT 而不是NULL值
许多数据库开发人员喜欢使用 DEFAULT 值而不是 NULL 列,对于用于计算或数据分组的列更是如此。

2. 更新表

更新表定义,可以使用 ALTER TABLE 语句。虽然所有的 DBMS 都支持 ALTER TABLE,但它们所允许更新的内容差别很大。以下是使用 ALTER TABLE 时需要考虑的事情:

  1. 理想情况下,不要在表中包含数据时对其进行更新。应该在表的设计过程中充分考虑未来可能的需求,避免今后对表的结构做大改动。

  2. 所有的 DBMS 都允许给现有的表增加列,不过对所增加列的数据类型(以及 NULL 和 DEFAULT 的使用)有所限制。

  3. 许多 DBMS 不允许删除或更改表中的列。

  4. 多数 DBMS 允许重新命名表中的列。

  5. 许多 DBMS 限制对已经填有数据的列进行更改,对未填有数据的列几乎没有限制。

可以看出,对已有表做更改既复杂又不统一。对表的结构能进行何种更改,请参阅具体的 DBMS 文档。

使用 ALTER TABLE 更改表结构

使用 ALTER TABLE 更改表结构时,必须给出以下信息:

  1. 在 ALTER TABLE 之后给出要更改的表名(该表必须存在,否则将出错)。
  2. 列出要做哪些更改。

因为给已有表增加列可能是所有 DBMS 都支持的唯一操作,所以我们举个这样的例子:

ALTER TABLE Vendors
ADD vend_phone CHAR(20);

分析:
这条语句给 Vendors 表增加一个名为 vend_phone 的列,其数据类型为 CHAR

更改或删除列、增加约束或增加键,这些操作也使用类似的语法。
注意,下面的例子并非对所有 DBMS 都有效:

ALTER TABLE Vendors
DROP COLUMN vend_phone;

复杂的表结构更改

复杂的表结构更改一般需要手动删除过程,涉及以下步骤:

  1. 用新的列布局创建一个新表;
  2. 使用 INSERT SELECT 语句(关于这条语句的详细介绍,请参阅第 15 课)从旧表复制数据到新表。有必要的话,可以使用转换函数和计算字段;
  3. 检验包含所需数据的新表;
  4. 重命名旧表(如果确定,可以删除它);
  5. 用旧表原来的名字重命名新表;
  6. 根据需要,重新创建触发器、存储过程、索引和外键。

说明:ALTER TABLE 和 SQLite

SQLite 对使用 ALTER TABLE 执行的操作有所限制。最重要的一个限制是,它不支持使用 ALTER TABLE 定义主键和外键,这些必须在最初创建表时指定。

注意:小心使用 ALTER TABLE

使用 ALTER TABLE 要极为小心,应该在进行改动前做完整的备份(表结构和数据的备份)。数据库表的更改不能撤销,如果增加了不需要的列,也许无法删除它们。类似地,如果删除了不应该删除的列,可能会丢失该列中的所有数据。

3. 删除表

删除表(删除整个表而不是其内容)非常简单,使用 DROP TABLE 语句即可:

DROP TABLE CustCopy;

分析:
这条语句删除 CustCopy 表(第 15 课中创建的)。删除表没有确认步骤,也不能撤销,执行这条语句将永久删除该表。

提示:使用关系规则防止意外删除

许多 DBMS 允许强制实施有关规则,防止删除与其他表相关联的表。在实施这些规则时,如果对某个表发布一条 DROP TABLE 语句,且该表是某个关系的组成部分,则 DBMS 将阻止这条语句执行,直到该关系被删除为止。如果允许,应该启用这些选项,它能防止意外删除有用的表。

4. 重命名表

每个 DBMS 对表重命名的支持有所不同。对于这个操作,不存在严格的标准。以下是不同 DBMS 的支持情况:

  • DB2、MariaDB、MySQL、Oracle 和 PostgreSQL 用户使用 RENAME 语句;
  • SQL Server 用户使用 sp_rename 存储过程;
  • SQLite 用户使用 ALTER TABLE 语句。

所有重命名操作的基本语法都要求指定旧表名和新表名。不过,存在 DBMS 实现差异。关于具体的语法,请参阅相应的 DBMS 文档。

小结

本文介绍了几条 SQL 语句:

  • CREATE TABLE 用来创建新表;
  • ALTER TABLE 用来更改表列(或其他诸如约束或索引等对象);
  • DROP TABLE 用来完整地删除一个表。

这些语句必须小心使用,并且应该在备份后使用。由于这些语句的语法在不同的 DBMS 中有所不同,所以更详细的信息请参阅相应的 DBMS 文档。

相关文章:

SQL创建和操纵表

本文介绍创建、更改和删除表的基本知识。 1. 创建表 SQL 不仅用于表数据操纵,而且还用来执行数据库和表的所有操作,包括表本身的创建和处理。一般有两种创建表的方法: 多数DBMS 都具有交互式创建和管理数据库表的工具;表也可以…...

1.微服务灰度发布(方案设计)

前言 微服务架构中的灰度发布(也称为金丝雀发布或渐进式发布)是一种在不影响现有用户的情况下,逐步将新版本的服务部署到生产环境的策略。通过灰度发布,你可以先将新版本的服务暴露给一小部分用户或特定的流量,观察其…...

QT笔记- QTreeView + QFileSystemModel 当前位置的保存与恢复 #选中 #保存当前索引

保存当前位置 QString currentPath model->filePath(view->currentIndex()); // 获得当前位置路径 恢复位置 view->setCurrentIndex(model->index(currentPath)); // 设置此路径所在位置为当前位置...

LeetCode - Google 校招100题 第6天 回溯法(Backtracking) (8题)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/144743505 LeetCode 合计最常见的 112 题: 校招100题 第1天 链表(List) (19题)校招100题 第2天 树(Tree) (21题)校招100题 第3天 动态规划(DP) (20题)...

k8s,service如何找到容器

Kubernetes之所以需要Service,一方面是因为Pod的IP不是固定的,另一方面则是因为一组Pod实例之间总会有负载均衡的需求 被selector选中的Pod,就称为Service的Endpoints,查看方式: kubectl get endpoints hostnames需要…...

计算机的错误计算(一百九十二)

摘要 用两个大模型计算 csc(0.999), 其中,0.999是以弧度为单位的角度,结果保留5位有效数字。两个大模型均给出了 Python代码与答案。但是,答案是错误的。 例1. 计算 csc(0.999), 其中,0.999是以弧度为单位的角度,结…...

金仓数据库安装-Kingbase v9-centos

在很多年前有个项目用的金仓数据库,上线稳定后就没在这个项目了,只有公司的开发环境还在维护,已经好多年没有安装过了,重温一下金仓数据库安装,体验一下最新版本,也做一个新版本的试验环境; 一、…...

深入解析 Java 中的 getDeclaredMethods() 方法:使用与原理全攻略

在 Java 的反射机制中,getDeclaredMethods() 是一个非常重要的方法,它允许我们获取类中声明的所有方法(包括公共、私有、保护以及默认访问权限的方法)。通过这个方法,我们可以动态地分析和操作类的行为,这在…...

Dockerfile的用法

Dockerfile的用法 示例 `Dockerfile`使用 `Dockerfile` 创建 Docker 镜像`Dockerfile` 指令详解其他常用指令总结Dockerfile 是一个文本文件,包含了用于创建 Docker 镜像的一系列指令。这些指令描述了镜像的基础、所安装的软件、文件的复制、环境变量的设置以及其他配置。下面…...

Gmsh有限元网格剖分(Python)---点、直线、平面的移动

Gmsh有限元网格剖分(Python)—点、直线、平面的移动和旋转 最近在学习有限元的网格剖分算法,主要还是要参考老外的开源Gmsh库进行,写一些博客记录下学习过程,方便以后回忆嘞。 Gmsh的官方英文文档可以参考:gmsh.pdf 但咋就说&a…...

AI的进阶之路:从机器学习到深度学习的演变(三)

(承接上集:AI的进阶之路:从机器学习到深度学习的演变(二)) 四、深度学习(DL):机器学习的革命性突破 深度学习(DL)作为机器学习的一个重要分支&am…...

如何通过 360 驱动大师检查自己电脑上的显卡信息

在深入探讨如何查看显卡信息之前,首先需要了解显卡的基本概念。显卡(Graphics Processing Unit, GPU),是计算机中负责处理图形输出到显示器的重要硬件。根据其集成度和性能,显卡通常被分为两类: 集成显卡&…...

数据仓库工具箱—读书笔记02(Kimball维度建模技术概述04、使用一致性维度集成)

Kimball维度建模技术概述 记录一下读《数据仓库工具箱》时的思考,摘录一些书中关于维度建模比较重要的思想与大家分享🤣🤣🤣 第二章前言部分作者提到:技术的介绍应该通过涵盖各种行业的熟悉的用例展开(赞同…...

.net framework wpf 打包免安装exe文件

1、打开所在项目csproj文件添加以下内容&#xff1a; <Target Name"AfterResolveReferences"><ItemGroup><EmbeddedResource Include"(ReferenceCopyLocalPaths)" Condition"%(ReferenceCopyLocalPaths.Extension) .dll"><…...

瑞吉外卖项目学习笔记(八)修改菜品信息、批量启售/停售菜品

瑞吉外卖项目学习笔记(一)准备工作、员工登录功能实现 瑞吉外卖项目学习笔记(二)Swagger、logback、表单校验和参数打印功能的实现 瑞吉外卖项目学习笔记(三)过滤器实现登录校验、添加员工、分页查询员工信息 瑞吉外卖项目学习笔记(四)TableField(fill FieldFill.INSERT)公共字…...

Oracle 日常巡检

1. 检查服务器状态 1.1. CPU使用情况 1.1.1. top top 命令是 Linux 和 Unix 系统中用于显示实时系统状态的工具&#xff0c;特别是对于监控 CPU 和内存的使用非常有用。 在命令行中输入 top&#xff0c;top 会显示一个实时更新的界面&#xff0c;其中包含系统的关键指标&am…...

CS 144 check7: putting it all together

Exercises 经验&#xff1a;两边的TCP连接建立得尽快&#xff0c;如果服务器端启动了&#xff0c;客户端没有启动就连不上。。 服务器端&#xff1a; 客户端&#xff1a; 文件收发测试&#xff1a; 参考&#xff1a; CS 144CS144 | Winter 2024, Lab 0~7 记录&#xff0…...

springboot数据校验报错

目录 报错信息 原因 解决 报错信息 springboot在进行数据校验的时候ConfigurationProperties注解形式下Email报错 Caused by: javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint javax.validation.constraints.Email valid…...

mapbox基础,加载天地图矢量底图

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;mapbox 从入门到精通 文章目录 一、&#x1f340;前言1.1 ☘️mapboxgl.Map 地图对象…...

SLAM/数字图象处理基础

概念 视差&#xff1a;相同特征的不同深度估计的偏差 BoW&#xff0c;DBoW&#xff0c;DBoW2的区别是什么 Bag of Words (BoW)、DBoW&#xff08;Dynamic Bag of Words&#xff09;和DBoW2是用于图像处理和计算机视觉中的不同特征表示和匹配方法。它们之间的主要区别如下&am…...

修改vue-element-admin,如何连接我们的后端

改哪几个文件就可以连接我们后端 ​​​​​​​ 主要就这四个 main.js&#xff0c;屏蔽这个或者删除 vue-config 最后两个文件改下端口即可 这样基本就能发了&#xff0c;但是还要改下 改成api 然后还要修改request.js 这里改成我们返回的状态码 我讲一个东西很容易就懂了&…...

基于PLC的采摘机械手系统(论文+源码)

1系统方案设计 本次设计围绕基于PLC的采摘机械手系统进行设计&#xff0c; PLC即可编程控制器其是一种常见的微处理器&#xff0c;本次拟采用西门子是S7-200 PLC&#xff0c;一方面对整个设计从器件选型到I/O分配&#xff0c;图纸绘制等进行设计&#xff0c;另一方面还通过组态…...

使用ArcGIS/ArcGIS pro绘制六边形/三角形/菱形渔网图

在做一些尺度分析时&#xff0c;经常会涉及到对研究区构建不同尺度的渔网进行分析&#xff0c;渔网的形状通常为规则四边形。构建渔网的方法也很简单&#xff0c;使用ArcGIS/ArcGIS Pro工具箱中的【创建渔网/CreateFishnet】工具来构建。但如果想构建其他形状渔网进行相关分析&…...

【5/6 面向应用相关的优化 网卡实现及评估 】

5 面向应用相关的优化 面对数据中心多样化的部署需求和应用场景&#xff0c;如分布式存储、多租户性能隔离等&#xff0c;构建高性能的RDMA系统需要仔细选择传输模式和通信原语以充分发挥其性能优势&#xff0c;并调整软硬件结构进行适配.整体手段&#xff1a;在软件层面结合R…...

如何识别钓鱼邮件和诈骗网站?(附网络安全意识培训PPT资料)

识别钓鱼邮件和诈骗网站是网络安全中的一个重要环节。以下是一些识别钓鱼邮件和诈骗网站的方法&#xff1a; 识别钓鱼邮件&#xff1a; 检查发件人地址&#xff1a; 仔细查看发件人的电子邮件地址&#xff0c;看是否与官方域名一致。 检查邮件内容&#xff1a; 留意邮件中是否…...

TOGAF之架构标准规范-业务架构

TOGAF标准规范中&#xff0c;业务架构阶段的主要工作是开发支持架构愿景的业务架构。 如上所示&#xff0c;业务架构&#xff08;Business Architecture&#xff09;在TOGAF标准规范中处于B阶段&#xff0c;该阶段的主要内容包括阶段目标、阶段输入、流程步骤、架构方法。 阶段…...

嵌入式轻量级开源操作系统:HeliOS的使用

嵌入式轻量级开源操作系统:HeliOS的使用 &#x1f4cd;项目地址&#xff1a;https://github.com/heliosproj/HeliOS HeliOS项目是一个社区交付的开源项目&#xff0c;用于构建和维护HeliOS嵌入式操作系统&#xff08;OS&#xff09;。HeliOS是一个功能齐全的操作系统&#xff0…...

mysql 数据库迁移到达梦数据库

1.windows安装达梦数据库&#xff0c;去官网下载 dm8 进行安装&#xff0c;安装后&#xff0c;可以使用管理工具管理数据 使用迁移工具对数据进行迁移&#xff1b; 2.使用php 或者 thinkphp连接达梦数据库 2.1、先PHP开启DM扩展 从达梦数据库安装目录下drivers/php_pdo 复制对…...

Java中的异常处理机制

今天想和大家探讨Java中的异常处理机制。异常处理是任何编程语言中不可或缺的一部分&#xff0c;它帮助我们处理程序运行时可能出现的错误&#xff0c;确保程序的健壮性和稳定性。Java作为一种强类型、面向对象的编程语言&#xff0c;提供了一套完整的异常处理框架。 1. 异常的…...

iOS 苹果开发者账号: 查看和添加设备UUID 及设备数量

参考链接&#xff1a;苹果开发者账号下添加新设备UUID - 简书 如果要添加新设备到 Profiles 证书里&#xff1a; 1.登录开发者中心 Sign In - Apple 2.找到证书设置&#xff1a; Certificate&#xff0c;Identifiers&Profiles > Profiles > 选择对应证书 edit &g…...

数据仓库工具箱—读书笔记02(Kimball维度建模技术概述03、维度表技术基础)

Kimball维度建模技术概述 记录一下读《数据仓库工具箱》时的思考&#xff0c;摘录一些书中关于维度建模比较重要的思想与大家分享&#x1f923;&#x1f923;&#x1f923; 第二章前言部分作者提到&#xff1a;技术的介绍应该通过涵盖各种行业的熟悉的用例展开&#xff08;赞同…...

Linux中常用的Shell脚本(运维+常用)汇总

废话不多说&#xff0c;直接上干货&#xff01; 一、运维脚本 &#xff08;1&#xff09;监控CPU和内存的使用情况 #!/bin/bashcpu_threshold80 mem_threshold80# 获取CPU和内存使用率 cpu_usage$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.…...

Java 方法注释:规范、实用和高质量的写法

目录 为什么要注释方法&#xff1f; 方法注释的基本要求 Javadoc 注释格式 示例&#xff1a;一个计算圆面积的方法 代码示例 注释分析 如何写出高质量的 Java 方法注释&#xff1f; 1. 关注可读性 2. 使用 Javadoc 格式 3. 描述异常 4. 适当的解释复杂的算法 5. 避…...

解决JIRA、Confluence用户自动注销、反复登录的问题

一、问题描述&#xff1a;当工作从从confluence里面打开jira的时候&#xff0c;在回到confluence时候&#xff0c;就自动退出了&#xff0c;需要账号密码登录重复登录&#xff0c;使人十分厌恶。 二、原因分析&#xff1a; 访问 JIRA、Confluence 或任何其他具有相同域或 IP 上…...

Python9-作业2

记录python学习&#xff0c;直到学会基本的爬虫&#xff0c;使用python搭建接口自动化测试就算学会了&#xff0c;在进阶webui自动化&#xff0c;app自动化 python基础8-灵活运用顺序、选择、循环结构 作业2九九乘法表三种方式打印九九乘法表使用两个嵌套循环使用列表推导式和…...

基于c语言的union、字符串、格式化输入输出

结构体之共用体union 共用体也叫联合体&#xff0c;其关键词为union 与结构体不同的是&#xff0c;共用体所开辟的存储空间仅仅为其中最长类型变量的存储空间而不是全部变量的存储空间&#xff0c;由于同一内存单元在同一时间内只能存放其中一种的数据类型&#xff0c;因此在每…...

SpringCloudAlibaba实战入门之路由网关Gateway初体验(十)

Spring Cloud 原先整合 Zuul 作为网关组件&#xff0c;Zuul 由 Netflix 公司提供的&#xff0c;现在已经不维护了。后面 Netflix 公司又出来了一个 Zuul2.0 网关&#xff0c;但由于一直没有发布稳定版本&#xff0c;所以 Spring Cloud 等不及了就自己推出一个网关&#xff0c;已…...

活着就好20241227

亲爱的朋友们&#xff0c;大家早上好&#xff01;&#x1f31e; 今天是27号&#xff0c;星期五&#xff0c;2024年12月的第二十七天&#xff0c;同时也是第51周的第五天&#xff0c;农历甲辰[龙]年十一月初二十三日。在这晨光渐浓的美好时刻&#xff0c;愿那温暖而明媚的阳光洒…...

robotframework中的测试套件

一. 简介 本文简单来了解一下&#xff0c;robotframework中的测试套件。 二. robotframework中测试套件 1. 什么是测试套件&#xff1f; 测试套件&#xff08;Test Suite&#xff09; 是一组相关测试用例的集合。每个测试套件通常代表一个特定的功能模块、系统组件或业务流程…...

Echarts连接数据库,实时绘制图表详解

文章目录 Echarts连接数据库&#xff0c;实时绘制图表详解一、引言二、步骤一&#xff1a;环境准备与数据库连接1、环境搭建2、数据库连接 三、步骤二&#xff1a;数据获取与处理1、查询数据库2、数据处理 四、步骤三&#xff1a;ECharts图表配置与渲染1、配置ECharts选项2、动…...

【QED】爱丽丝与混沌的无尽海

文章目录 题目题目描述输入输出格式数据范围测试样例 思路代码复杂度分析时间复杂度空间复杂度 题目 题目链接&#x1f517; 题目描述 如图所示&#xff0c;爱丽丝在一个3x3的迷宫之中&#xff0c;每个方格中标有 1 − 9 1-9 1−9各不相同的数字&#xff0c;爱丽丝可以从一格…...

CHM助手 >> 如何安装CHM助手

1 如何安装CHM助手 下载CHM助手.ezip&#xff0c;下载地址打开EverEdit&#xff0c;选择主菜单“扩展 -> 扩展管理 -> 从本地文件安装扩展”&#xff0c;在弹出的文件浏览窗口中选择插件安装包&#xff0c;如下图所示&#xff1a; &#x1f56e;说明&#xff1a;   …...

硬件设计:LVDS电平标准

什么是LVDS&#xff1f; LVDS&#xff08;Low-Voltage Differential Signaling&#xff09;是一种高速、低功耗的差分信号传输标准。它通过一对差分信号线&#xff08;通常是两根互补信号线&#xff09;来传输数据&#xff0c;广泛应用于高速数字通信领域。 LVDS 的核心特点 低…...

宝塔-firefox(Docker应用)-构建自己的Web浏览器

安装基础软件 宝塔中安装firefox(Docker应用) 。宝塔中需要先安装docker及docker-composefirefox配置安装 点击firefox应用&#xff0c;选择【安装配置】点击右边绿色按钮&#xff0c;进行安装&#xff0c;这一步等待docker-compose根据你的配置初始化docker应用 等待安装 …...

微信小程序-基于Vant Weapp UI 组件库的Area 省市区选择

Area 省市区选择&#xff0c;省市区选择组件通常与 弹出层 组件配合使用。 areaList 格式 areaList 为对象结构&#xff0c;包含 province_list、city_list、county_list 三个 key。 每项以地区码作为 key&#xff0c;省市区名字作为 value。地区码为 6 位数字&#xff0c;前两…...

宏转录组+HiFi宏基因组:揭示厌氧消化中的碳流和能量转换

厌氧消化是一种重要的工程生物技术&#xff0c;对有机废物的资源回收和可再生能源的生产起着关键作用。然而&#xff0c;由于对未培养的厌氧菌及其适应环境变化的能力了解有限&#xff0c;这限制了该技术的优化和生物气生产的可持续性。今天小编带大家看一篇发表在《Microbiome…...

【VSCode】工作区及设置

【VSCode】工作区及设置 VSCode介绍工作区设置 VSCode介绍 Visual Studio Code&#xff08;简称VSCode&#xff09;是一个由微软开发的免费、开源的代码编辑器&#xff0c;以下是VSCode的一些功能及特性&#xff1a; 编辑器核心&#xff1a; 多文档界面&#xff1a;VSCode允许…...

瀚高数据库

文章目录 瀚高数据库安装瀚高数据库快速入门遇到的问题总结 瀚高数据库 瀚高数据库&#xff08;HanGaoDB&#xff09;是一款在分布式存储、高并发处理和高可用性方面表现优异的数据库&#xff0c;特别适用于大数据、高吞吐量、高并发的应用场景。它结合了传统 SQL 数据库和分布…...

xterm遇到的问题及解决方案

xterm遇到的问题及解决方案 /r插入终端导致的之后插入的数据覆盖了改行头部的数据 问题说明 如图所示&#xff0c;当在一行输入的候&#xff0c;输入的l插入到了改行的头部。 查看ws返回数据 可见ws返回的信息存在\r字符&#xff0c;在xterm.js中\r是回车字符的意思&…...

嵌入式单片机温湿度模块控制与实现

温湿度模块的使用 温湿度模块的特点 温湿度模块的原理通信的开始(打电话) 通信的过程(交流中)...