MySQL(一)——初识数据库(概念、数据类型、基本表库操作)

文章目录

  • 初识数据库
    • 数据库相关基本概念
    • 数据库的分类
  • MySQL数据库
    • 数据模型
    • 基本操作
      • 库操作
        • 查看数据库
        • 创建数据库
        • 删除数据库
        • 选中数据库
      • 数据类型
        • 数值类型
        • 字符串类型
        • 日期类型
      • 表操作
        • 查看所有表
        • 查看表结构
        • 创建表
        • 删除表
      • 其他操作
        • 查看警告信息
        • 查看编码集

这是我们 MySQL 学习的第一程,话不多说,直接开始吧!

初识数据库

数据库相关基本概念

【数据库(DataBase)】

数据库(DB)是一个按照数据结构来组织、存储和管理数据的仓库,通俗点,就是存储数据的仓库。

数据库与数据结构的关系:

数据库是一个用于存储、管理和操作大量数据的系统,而数据结构则提供了数据的组织和存储方式,使数据库能够高效地管理和操作这些数据。通俗的讲,数据库底层使用了合适的数据结构来组织存储数据。

为什么要使用数据库?

最简单的一点就是,为了保证数据的持久性

我们在例如IDEA上编程并运行时,数据会存在内存中,这些数据会存在安全问题,断电或其他系统故障可能导致内存中的数据未能及时保存到磁盘而丢失,所以引出了数据库。

当然,我们要使用数据库还有其他的原因,例如:数据共享与协同合作、支持复杂数据分析。

为什么不使用文件呢?

因为文件系统通常面向某一特定应用程序,数据共享性差,冗余度大,并且数据独立性较差,同时不利于数据查询和管理,不利于存储海量数据。

综上所述,我们要学习使用数据库。


【数据库管理系统(DataBase Management System)】

数据库管理系统(DBMS)是建立、操作和管理数据库的大型软件,通俗地讲,就是操作数据库的工具


【数据库服务】

数据库服务是指提供数据库访问和管理功能的系统或软件。它通常包括数据库服务器、网络连接、存储设备等组件,用于存储、检索和管理数据。数据库服务可以由多个客户端应用程序共享,并提供数据的一致性、安全性和可靠性。常见的数据库服务包括MySQL、Oracle、Microsoft SQL Server等。

数据库服务与数据库管理系统的区别:

数据库服务是一个更广泛的概念,涵盖了数据库管理系统以及相关的硬件和软件组件;而数据库管理系统则是具体的软件产品,专注于管理和操作数据库的功能。


【SQL】

SQL(Structured Query Language)是一种特定于数据库的编程语言,用于管理、查询和操作关系型数据库。

SQL分类:

  • 数据查询语言(DQL)
    • DQL是SQL中最重要的部分,用于从数据库中检索数据。
    • 主要命令是SELECT,用于选择表中的特定列和行。
  • 数据定义语言(DDL)
    • DDL用于定义和管理数据库的结构,包括创建、修改和删除表和其他数据库对象。
    • 主要命令包括CREATE(创建数据库对象)、ALTER(修改数据库对象)、DROP(删除数据库对象)和TRUNCATE(清空数据库对象)
  • 数据操纵语言(DML)
    • DML用于添加、修改和删除数据库中的数据。
    • 主要命令包括INSERT(插入数据)、UPDATE(更新数据)和DELETE(删除数据)
  • 数据控制语言(DCL)
    • DCL用于控制对数据库的访问权限,确保数据的安全和完整。
    • 主要命令包括GRANT(授予权限)和REVOKE(撤销权限)
  • 事务控制语言(TCL)
    • TCL用于管理数据库中的事务,确保数据的一致性和完整性。
    • 主要命令包括COMMIT(提交事务)和ROLLBACK(回滚事务)
  • 游标控制语言(CCL)
    • CCL用于管理和操作数据库中的游标,游标是一个存储在DBMS服务器上的数据库查询。
    • 主要命令包括DECLARE(声明游标)和FETCH(获取游标中的数据)

所以,我们使用 SQL 操作 数据库管理系统(DBMS),再通过 数据库管理系统 操作 数据库以及数据库中的数据。

在这里插入图片描述


数据库的分类

数据库大体可分为关系型数据库非关系型数据库

  • 关系型数据库(Relational Database)

    指采用了关系模型来组织数据的数据库。

    使用表格来组织数据,每个表由行和列组成,具有固定的模式(schema),对数据的结构和关系进行严格定义。关系模型可以简单理解为二维表格模型,一个关系型数据库就是由这些二维表及其之间的关系组成的数据组织。

    例如:OracleMySQLSQL Server

  • 非关系型数据库(NoSQL DataBase)

    不使用传统关系模型的数据库系统,并且不基于SQL

    它们通常以不同的方式存储和处理数据,旨在解决关系型数据库在某些应用场景下的局限性,如大规模数据、高并发访问和高可扩展性需求等。

    例如:redismongodbhbase


区别:

关系型数据库非关系型数据库
使用SQL不强制要求,一般不基于SQL实现
事务支持支持不支持
复杂操作支持不支持
海量读写操作效率低效率高
基本结构基于表和列,结构固定灵活性比较高,例如键值对、文档
使用场景业务方面的联机事务处理(OLTP)系统用于数据的缓存、或基于统计分析的联机分析处理(OLAP)系统

主流数据库一览(2019年的,了解为主):

了解数据库(包括数据库发展史、分类、著名人物、主流数据库、关系与非关系型数据库)_BBOYWISH的博客-CSDN博客


MySQL数据库

MySQL是一种流行的开源关系型数据库管理系统,用于有效地存储、管理和处理数据。它由瑞典MySQL AB公司开发,并现属于Oracle公司。作为一个关系型数据库,MySQL使用表格来存储数据,支持标准的SQL语言,并能够运行在多种系统和多语言环境下。

MySQL因其开源高效灵活的特点,成为广泛应用的数据库管理系统。无论是小型网站还是大型企业应用,MySQL都能提供强大的数据管理和处理能力。


数据模型

MySQL的数据模型指的是数据库中数据的组织结构和操作方式。数据模型是数据库系统的核心,它定义了如何存储、访问和管理数据。

MySQL的数据模型的类型有很多,最常用的就是关系模型,除关系模型外,还有网状模型和层次模型等,但关系模型因其简单性和强大的数学理论基础被广泛使用,我们后续讨论的就是关系模型。

我们的MySQL关系型数据库建立在关系模型的基础上,由多张相互连接的二维表及其关系组成。

我们只需要记住:一个MySQL数据库服务下,可以有多个数据库,而一个数据库中可以有多张表,一张表中可以有很多的数据行(或记录),每条记录由很多的属性(字段、列)构成。

二维表,可称为数据表,由行和列组成,一行代表一条记录,一列代表一个属性或字段

如下图就是两个二维表及其关系:
在这里插入图片描述

  • 如员工表中1 金庸 总裁 2这一行就是一条记录(数据行)
  • id、name、job、dept_id分别是员工表这张二维表的四个属性
  • 一个关系型数据库就是由这些二维表及其之间的关系组成的数据组织

基本操作

了解了MySQL数据库是由一张张二维表组成等基本结构的知识后,我们学习一些最基本SQL语句来操作数据库,主要包括基本库操作,基本表操作,另外还有数据类型。其他的知识后序会不断发文介绍的,这只是我们的第一步!

库操作

查看数据库、创建数据库、删除数据库、选中数据库

查看数据库

语法:

SHOW DATABASES;
  • 分号问题: MySQL分号是可选的,并且可以省略。每条语句默认以换行符作为结束标志。这意味着你可以在一行中编写多个SQL语句,而不需要使用分号分隔它们。

    但为了确保你的SQL语句在不同的数据库系统中都能正确执行,建议在每个SQL语句的末尾添加分号。 这样可以提高代码的可移植性,并避免潜在的语法错误。

  • SHOW 是一个关键字,作用是显示某些信息

  • 注意DATABASES是复数。

  • 作用就是:查看当前服务器的所有数据库

例如:
在这里插入图片描述


创建数据库

语法:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name[create_option] ...create_option: [DEFAULT] {CHARACTER SET [=] charset_name| COLLATE [=] collation_name| ENCRYPTION [=] {'Y' | 'N'}
}
  • |:表示"或"的意思,用于分隔不同的选项。例如,在CREATE语句中,可以选择CREATE DATABASE或者CREATE SCHEMA来创建一个数据库(最常用的是DATABASE)。
  • []:表示可选的部分。例如,在CREATE DATABASE语句中,IF NOT EXISTScreate_option都是可选的,不选也可以达到效果,不过会有差别,这要视情况而定。
  • {}:表示一组选项中的一个必须被选择。例如,用户选择创建数据库必须选择DATABASE | SCHEMA
  • =:表示赋值操作符,用于给变量或参数赋值。例如,在CHARACTER SET [=] charset_name中,等号左边的CHARACTER SET是一个变量名,右边的charset_name是要赋给它的值。
  • 大写显示的都是关键字,db_name是我们要创建的数据库的名称

【最简单的建库语法】

CREATE DATABASE db_name;

用对关键字并自定义一个数据库名,就可以创建成功;不过,以这种方式创建数据库,如果数据库已经存在(重名),就会报错,而一旦报错整个SQL就会终止

在这里插入图片描述

【加上IF NOT EXISTS

CREATE DATABASE IF NOT EXISTS db_name;

IF NOT EXISTS翻译过来就是如果不存在,意味着只有db_name这个数据库不存在时才会创建,相当于多了一层校验,如果数据库存在,最多只会警告(终端),有的甚至没有显式地展示警告(如 Navicat Premium Lite 17),这样的话,就不会出现一条语句的错误影响整个执行的情况了。

【加上可选选项】

可选项有三个,可多选,用于指定数据库的特性:

create_option: [DEFAULT] {CHARACTER SET [=] charset_name| COLLATE [=] collation_name| ENCRYPTION [=] {'Y' | 'N'}
}
  • CHARACTER SET指定数据库使用的字符编码方式,通常采用utf8mb4
  • COLLATE指定数据库中的字符排序规则,常用utf8mb4_0900_ai_ci
    • utf8mb4是一种字符集,支持最多4个字节的UTF-8编码。与传统的utf8(实际上是utf8mb3,即最多3个字节)不同,utf8mb4能够存储更多的Unicode字符,包括所有的emoji表情符号和一些特殊字符。
    • 0900表示使用Unicode的排序规则(collation),其中"0900"是该排序规则的编号。
    • ai代表“accent insensitive”(不区分重音符号),意味着在排序和比较时,带有重音符号的字符(如“á”和“a”)会被视为相等。
    • ci代表“case insensitive”(不区分大小写),意味着在排序和比较时,大写和小写字符(如“A”和“a”)会被视为相等,所以,当设定成功后,我们编写的所有SQL语句就不区分大小写了,将关键字大写只是方便区分而已。
  • ENCRTPTION用于指定数据库是否加密

例如:

CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

【以关键字为库名】

直接将关键字作为库名是不可以的,需要用``(反引号)`引起来

CREATE DATABASE IF NOT EXISTS `create`;

在这里插入图片描述

  • 以后若想将关键字作为名字,就得使用反引号引起来。

删除数据库

语法

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
  • 不加IF EXISTS校验,如果删除不存在的库,就会报错,终止;如果需要删除建议加上校验
  • 删库操作谨慎使用,误删后果十分严重

选中数据库

语法:

USE db_name;
  • 选择了数据库才可以在选中数据库中执行建表等操作,如果想换数据库,那就再用USE db_name切换即可。

  • 可以通过数据库的一个内置函数观察当前连接(选择)的数据库,语法如下:

    SELECT DATABASE();
    
    • 如果没有选择任何数据库,得到的结果就是NULL

在这里插入图片描述

  • 如果选择了某个数据库,就会显示该数据库的名字:

在这里插入图片描述

  • NULL并不是空指针或空引用,SQL中的NULL表示缺失值或未知值,具有很多特性,后序将在合适的位置介绍

数据类型

数值类型
类型大小作用
TINYINT1 BytesTINYINT(1)用作BOOL类型,常用作表示性别
SMALLINT2 Bytes大整数值
MEDIUMINT3 Bytes大整数值
INT4 Bytes大整数值
BIGINT8 Bytes极大整数值,一般编号为此类型
FLOAT4 Bytes单精度浮点数值,存在精度损失(可以像DECIMAL一样使用M和D)
DOUBLE8 Bytes双精度浮点数值,存在精度损失,但比FLOAT精度高(可以像DECIMAL一样使用M和D)
DECIMAL(M, D)如果M>D,为M+2,否则D+2M表示位数(包括小数位),D指定小数位数,精度极高,一般用于表示金额
NUMERIC(M, D)如果M>D,为M+2,否则D+2等同于DECIMAL
  • 数值类型默认为有符号类型,如果需要可以指定为无符号,做法如:INT UNSIGNED、BIGINT UNSIGNED,尽量不使用无符号,容量不足时,建议更换更大的类型(如int转为bigint),而不是有符号转无符号

  • 对于整型类型范围(不必特意记忆):

    • 有符号范围:-2^(类型字节数 * 8-1)到2^(类型字节数 * 8-1)-1,如int是4字节,就 是-231到231-1

    • 无符号范围:0到2^(类型字节数 * 8)-1,如int就是2^32-1


字符串类型
类型大小作用
CHAR(SIZE)0-255 bytes定长字符串,SIZE指定字符数,固定占用指定空间
VARCHAR(SIZE)0-65 535 bytes变长字符串,SIZE指定字符数,最多占用指定空间,根据实际存储字符串的长度来占用存储空间
TINYBLOB0-255 bytes不超过255个字符的二进制字符串
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据
  • CHAR类型占用固定长度的空间,当存储较短的字符串时会浪费存储空间,但这样的好处是提高了检索效率。定长字段的存取效率通常高于变长字段。适用于存储长度相近或固定长度的数据,如身份证号码、电话号码等。
  • VARCHAR(SIZE)是使用最多的字符串类型,按实际存储内容占用空间,适合存储长度变化较大的字符串,从而可以节省存储空间。但是在检索效率上通常低于CHAR类型。适合用于存储长度不定的文本数据,如评论、文章内容等。

日期类型
类型大小范围格式用途
YEAR1 bytes1901/2155YYYY年份值
DATE3 bytes1000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3 bytes‘-838:59:59’ / ‘838:59:59’HH:MM:SS时间值或持续时间
DATETIME8 bytes1000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4 bytes从1970到2038年,自动检索当前时 区并进行转换。YYYYMMDDHHMMSS时间戳
  • 最常用的就是DATEDATETIMEDATE用于表示如生日,DATETIME用于表示如创建xx的时间等

表操作

查看某个数据库的表,查看表结构,创建表,删除表

查看所有表

语法:

SHOW TABLES;
  • 一定要选中数据库才可以查看该数据库的所有表

在这里插入图片描述


查看表结构

语法:

DESC tbl_name;

在这里插入图片描述

解释:(后四条有关约束,后面发文介绍)

  • Field:属性(字段)名
  • Type:属性(字段)类型
  • NULL:是否允许为空
  • Key:索引类型(键值的类型)
  • Default:默认值
  • Extra:拓展功能

查看的是结构,并不是数据。


创建表

语法:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (field1 datatype [COMMENT 'string'],field2 datatype [COMMENT 'string'],field3 datatype [COMMENT 'string']
);
  • field1、field2… 均为自定义的字段名;datatype为该字段的数据类型;注意最后个字段后没有逗号

  • 可以使用COMMENT关键字增加字段说明(注意 注释说明必须被单引号引起来,不论中文还是英文):
    在这里插入图片描述

  • 加上TEMPORARY意味着创建的是一个临时表(否则就是永久表),临时表通常以特定的命名约定(例如,以#开头)来标识,是在数据库会话期间创建的,它们通常用于存储中间结果或临时数据。这些表只在当前会话中可见,并且在会话结束时会自动删除。

    • 临时表和真实的表(永久表)的区别

      1. 生命周期:临时表只在当前会话期间存在,当会话结束时,临时表会自动删除。而真实的表是持久化的,它们存储在数据库中,并且可以在多个会话之间共享和使用。
      2. 可见性:临时表仅对创建它们的会话可见,其他会话无法访问或修改这些表。而真实的表可以被所有连接到数据库的用户访问和操作。
      3. 数据持久性:临时表的数据不是永久存储的,它们只存在于内存中,并且在会话结束后会被自动清除。真实的表则将数据存储在磁盘上,即使会话结束,数据仍然存在。
      4. 用途:临时表通常用于存储中间结果、临时计算或处理大量数据时使用。它们提供了一种快速且临时的方式来存储和操作数据,而不会对真实表造成影响。真实的表通常用于长期存储和管理数据,如用户信息、订单记录等。
      5. 性能:由于临时表存储在内存中,访问速度通常比真实表快,因为它们不需要从磁盘读取数据。然而,如果内存不足,临时表可能会被交换到磁盘上,导致性能下降。
    • SHOW TABLES;不会显示临时表

    • DESC tmp_tbl_name;可以查看临时表的结构

【拓展】

快速创建结构相等的表

上面例子我们已经创建好了一张表table1,我们快速创建一个结构相等的表,语法如下:

CREATE TABLE [IF NOT EXISTS] tbl_name LIKE copyed_tbl_name;

在这里插入图片描述

  • 只复制表的结构,不会复制表的数据!

删除表

语法:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...;
  • 一条语句可以删除多个表,多个表的表名用,(逗号)连接,但注意一条语句只能删除一条数据库
  • TEMPORARY用于显式地说明删除的是临时表,即使不加TEMPORARY也可以删除临时表,因为临时表和永久表不能重名
  • 删除操作谨慎执行,不论是删表还是删库

其他操作

查看警告信息

语法:

SHOW WARNINGS;
  • 目前我前已知的警告信息只有IF NOT EXISTS发现存在、IF EXISTS发现不存在抛出的。

查看编码集

语句:

SHOW VARIABLES LIKE '%character%';

在这里插入图片描述

  • 该语句用于显示MySQL数据库中所有与字符相关的系统变量。这些变量包括字符集、排序规则等设置。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构+图的基本应用

一、问题描述 求有向图的简单路径 编写一个程序,设计相关算法完成以下功能。 (1)输出如图所示的有向图 G 从顶点 5 到顶点 2 的所有简单路径。 (2)输出如图所示的有向图 G 从顶点 5 到顶点 2 的所有长度为 3 的简单路径。 (3)输出如图所示的有向图 G 从顶点 5 到顶点…

【nvidia-smi】Failed to initialize NVML: Driver/library version mismatch

服务器更新后,输入nvidia-smi出现如下报错: 解决方法参考: 已解决【nvidia-smi】Failed to initialize NVML: Driver/library version mismatch解决方法-腾讯云开发者社区-腾讯云 (tencent.com) 输入命令查看nvidia驱动的版本号&#xff1a…

python从入门到精通:判断语句

目录 前言 1、布尔类型和比较运算符 2、if语句的基本格式 3、if else语句 4、if elif else语句 5、判断语句的嵌套 6、实战演练 前言 逻辑判断是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。 判断是程序最基础最核心的逻辑…

Hive3:识别内部表、外部表及相互转换

一、识别方法 查看内部表信息 desc formatted stu;查看外部表信息 desc formatted test_ext1;通过Table Type对应的值,我们可以区分外部表和内部表。 二、相互转换 内部表转外部表 alter table stu set tblproperties(EXTERNALTRUE);外部表转内部表 alter ta…

应急响应-主机安全之系统及进程排查相关命令(Linux操作系统-初级篇)

目录 概述lscpu-显示有关CPU架构的信息uname-查看系统信息lsmod-输出加载的所有模块lastb-输出最后登录失败的用户last-展示用户最近登录信息lastlog-展示所有用户最后的登录时间systemctl-系统服务,开机自启排查crontab-计划任务选项 history-查看历史命令选项常用…

正向代理 vs 反向代理:有什么区别?

在本文中,我们将讨论: 什么是常规代理(正向代理)?什么是反向代理?我应该为我的业务选择哪种代理?使用正向和反向代理的案例完成任务的代理替代方案 什么是常规代理(正向代理&#…

【Electron】npm安装Electron项目失败报错问题和解决办法

前言 闲来无事,便想着研究一下Electron,没想到安装直接就卡住了 问题 npm ERR! RequestError: Hostname/IP does not match certificates altnames: Host: npm.taobao.org. is not in the certs altnames: DNS:*.tbcdn.cn, DNS:*.taobao.com, DNS:*.al…

haproxy是什么?以及haproxy基础实验

目录 一、什么是负载均衡? 二、为什么要用haproxy? 三、haproxy的基本部署实验: 3.1 基本配置实验 环境准备: 详细步骤: 3.2 haproxy-多进程与多线程实验: 多进程: 多线程:…

【开源 Mac 工具推荐之 4】Awesome-macOS:全能的宝藏工具库

简介 Awesome-macOS 是一个开源项目,属于 GitHub 的热门项目“Awesome”的体系,旨在为 macOS 用户提供一个集合了各种优秀的 macOS 应用程序、插件、脚本和工具的精选列表。该项目由开源社区共同维护,通过不断收集和整理优秀的macOS资源&…

LeetCode - 209 - 长度最小的子数组

力扣209题 题目描述:长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组&…

IO网络编程

思维导图 作业一&#xff1a;使用wasd控制机械臂 #include<myhead.h> #include <termios.h> #define SER_PORT 8888 //与服务器保持一致 #define SER_IP "192.168.0.103" //服务器ip地址 #define CLI_PORT 6666 //客户端…

【C++ 项目】负载均衡在线 OJ

文章目录 &#x1f308; 一、项目介绍&#x1f308; 二、项目源码&#x1f308; 三、项目演示⭐ 1. 前端界面展示⭐ 2. 后端界面展示 &#x1f308; 四、项目准备⭐ 1. 项目所用技术⭐ 2. 项目开发环境⭐ 3. 项目宏观结构 &#x1f308; 五、comm 公共模块⭐ 1. util.hpp 工具⭐…

【Android】安卓四大组件之Service用法

文章目录 使用Handler更新UIService基本特点启动方式非绑定式服务使用步骤 绑定式服务步骤 生命周期非绑定式启动阶段结束阶段 绑定式启动阶段结束阶段 前台Service使用步骤结束结束Service本身降级为普通Service降级为普通Service 使用Handler更新UI 主线程创建Handler对象&a…

房产中介小程序

本文来自&#xff1a;ThinkPHPFastAdmin房产中介小程序 - 源码1688 应用介绍 产中介小程序是一款基于ThinkPHPFastAdmin开发的原生微信小程序&#xff0c;为房地产中介提供房源管理、发布、报备客户、跟踪客户以及营销推广获客等服务的系统。 前端演示&#xff1a; 后台演示&am…

冷数据归档(历史库),成本与性能如何兼得?| OceanBase应用实践

随着数据量的迅猛增长&#xff0c;企业和组织在数据库管理方面遭遇的挑战愈发凸显。数据库性能逐渐下滑、存储成本节节攀升&#xff0c;以及数据运维复杂性的增加&#xff0c;这些挑战使得DBA和开发者在数据管理上面临更大的压力。 为了应对这些挑战&#xff0c;对数据生命周期…

奇异值分解(SVD)

1 奇异值分解(SVD)简介 Beltrami 和 Jordan 被认为是奇异值分解&#xff08;Singular Value Decomposition&#xff0c;SVD&#xff09;的共同开创者&#xff0c;二人于19世纪70年代相继提出了相关理论。奇异值分解主要解决的问题是数据降维。在高维度的数据中&#xff0c;数据…

Tied and Anchored Stereo Attention Network for Cloud Removal in Optical

论文名称 基于固定锚定立体注意力网络的光学遥感图像去云方法代码运行 论文代码 https://github.com/ningjin00/TASANet?tabreadme-ov-file 论文地址 1环境创建 模型环境给了这几个包&#xff0c;如果你自带环境 那就运行代码 提示缺哪个装哪个 python 3.12rasterio 1.3.10…

【AI人工智能】文心智能体 - 你的专属车牌设计师

引言 自AI盛行以来&#xff0c;不断有各种各样的人工智能产品崭露头角。我们逐步跟着不断产生的人工智能来使自己的工作和生活变得更加智能化&#xff01;那么我们是否能够创造一款专属于自己的人工智能产品呢&#xff1f; 文心智能体平台就给我们提供了这样的机会&#xff0c…

数值微分求梯度、计算图求梯度,实现单层线性回归 模型速度差异及损失率比对

文章目录 简述测试结果完整代码 简述 先将前面两篇文章的代码重构一下&#xff0c;抽离共同函数到utils.py。 重构后结构&#xff1a; ComputationGraphLinearNet.py&#xff1a; 使用计算图&#xff08;forward、backward&#xff09;求梯度构建的线性模型&#xff0c;代码…

分库分表的使用场景和中间件

文章目录 一、为什么要分库分表&#xff1f;分库分表的使用场景&#xff1f;二、分库分表常用中间件1、Cobar2、TDDL3、Atlas4、Sharding-jdbc5、Mycat6、总结 一、为什么要分库分表&#xff1f;分库分表的使用场景&#xff1f; 场景1&#xff1a;注册用户就 20 万&#xff0c…