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

MySQL 基本语法讲解及示例(上)


第一节:MySQL的基本操作

1. 创建数据库

在 MySQL 中,创建数据库的步骤如下:

命令行操作
  1. 打开 MySQL 命令行客户端或连接到 MySQL 服务器。

  2. 输入以下命令创建一个数据库:

    CREATE DATABASE database_name;
    

    例如,创建一个名为 test_db 的数据库:

    CREATE DATABASE test_db;
    
图形化操作

如果使用图形化管理工具(如 phpMyAdmin 或 MySQL Workbench),创建数据库的步骤如下:

  1. 打开工具并连接到 MySQL 服务器。
  2. 在左侧的导航面板中找到 “Databases” 或 “Schemas”。
  3. 点击 “Create Database” 或 “New Schema”。
  4. 输入数据库名称(例如 test_db),然后点击 “Apply” 或 “OK”。

2. 列出所有的数据库

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令列出所有数据库:

    SHOW DATABASES;
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 在左侧的导航面板中,您将看到所有现有的数据库列表。

3. 语法关键字

MySQL 中常用的语法关键字包括:

  • CREATE: 用于创建数据库、表格、视图等。
  • SHOW: 用于显示数据库、表格等信息。
  • DROP: 用于删除数据库、表格等。
  • SELECT: 用于从数据库中检索数据。
  • INSERT: 用于向表格中插入数据。
  • UPDATE: 用于更新表格中的数据。
  • DELETE: 用于删除表格中的数据。

4. 删除数据库

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令删除数据库:

    DROP DATABASE database_name;
    

    例如,删除名为 test_db 的数据库:

    DROP DATABASE test_db;
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 在左侧的导航面板中找到要删除的数据库(例如 test_db)。
  3. 右键点击数据库名称,选择 “Drop Database” 或 “Delete”。
  4. 确认删除操作。

第二节:如何创建数据库的表格

1. 介绍MySQL的数据类型

MySQL 提供了多种数据类型,用于存储不同类型的数据。常见的数据类型包括:

  • 整数类型:如 INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT
  • 字符串类型:如 CHAR, VARCHAR, TEXT, BLOB
  • 日期和时间类型:如 DATE, TIME, DATETIME, TIMESTAMP, YEAR
  • 浮点数类型:如 FLOAT, DOUBLE, DECIMAL

2. 创建表格示例

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令创建一个表格:

    CREATE TABLE table_name (column1_name column1_type,column2_name column2_type,...
    );
    

    例如,创建一个名为 students 的表格,包括学生 ID、姓名和年龄:

    CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100),age INT
    );
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要创建表格的数据库。
  3. 点击 “Create Table” 或 “New Table”。
  4. 输入表格名称(例如 students)。
  5. 添加列并指定数据类型(例如 idINTnameVARCHAR(100)ageINT)。
  6. 点击 “Apply” 或 “OK” 创建表格。

3. 如何增删表格中的要素

插入数据
命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令向表格中插入数据:

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, value2, ...);
    

    例如,向 students 表格中插入一条记录:

    INSERT INTO students (name, age)
    VALUES ('John Doe', 20);
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要插入数据的表格(例如 students)。
  3. 点击 “Insert” 或 “New Row”。
  4. 输入数据值。
  5. 点击 “Apply” 或 “OK”。
删除数据
命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令删除表格中的数据:

    DELETE FROM table_name
    WHERE condition;
    

    例如,删除 students 表格中年龄大于20的所有记录:

    DELETE FROM students
    WHERE age > 20;
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要删除数据的表格(例如 students)。
  3. 点击 “Delete” 或 “Remove Row”。
  4. 指定删除条件(例如,选择要删除的行)。
  5. 点击 “Apply” 或 “OK”。
更新数据
命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令更新表格中的数据:

    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;
    

    例如,更新 students 表格中 ID 为1的学生姓名:

    UPDATE students
    SET name = 'Jane Doe'
    WHERE id = 1;
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要更新数据的表格(例如 students)。
  3. 点击 “Update” 或 “Edit Row”。
  4. 修改数据值。
  5. 点击 “Apply” 或 “OK”。

通过以上步骤,您可以在 MySQL 中完成基本的数据库和表格操作,包括创建、列出、删除数据库以及创建、增删改查表格中的数据。


第三节:如何在创建的表格中插入要素

在 MySQL 中,向表格中插入数据(要素)时有多种方式,可以按照顺序或非顺序插入数据,同时需要注意缺省值 NULL 的使用。以下是详细操作说明:

1. 如何正常增添要素

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令向表格中插入数据:

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, value2, ...);
    

    例如,向 students 表格中插入一条记录:

    INSERT INTO students (name, age)
    VALUES ('John Doe', 20);
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要插入数据的表格(例如 students)。
  3. 点击 “Insert” 或 “New Row”。
  4. 输入数据值。
  5. 点击 “Apply” 或 “OK”。

2. 如何非顺序写入要素

有时您可能不按表格中列的顺序插入数据。在这种情况下,需要明确指定插入的列名。

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令指定列名插入数据:

    INSERT INTO table_name (column2, column1, ...)
    VALUES (value2, value1, ...);
    

    例如,向 students 表格中以非正常顺序插入数据:

    INSERT INTO students (age, name)
    VALUES (20, 'John Doe');
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要插入数据的表格(例如 students)。
  3. 点击 “Insert” 或 “New Row”。
  4. 输入数据值,注意按照指定的列名顺序输入。
  5. 点击 “Apply” 或 “OK”。

3. 如何删除指定要素

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令删除指定要素:

    DELETE FROM table_name
    WHERE condition;
    

    例如,删除 students 表格中年龄为20的记录:

    DELETE FROM students
    WHERE age = 20;
    
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要删除数据的表格(例如 students)。
  3. 点击 “Delete” 或 “Remove Row”。
  4. 指定删除条件(例如,选择要删除的行)。
  5. 点击 “Apply” 或 “OK”。

4. 缺省值 NULL 的用法

NULL 表示数据缺失或未知值。在插入数据时,如果某列允许 NULL 值,可以显式插入 NULL,也可以在不指定该列值时默认为 NULL

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令插入 NULL 值:

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, NULL, ...);
    

    例如,向 students 表格中插入 NULL 值:

    INSERT INTO students (name, age)
    VALUES ('John Doe', NULL);
    

5. 插入时应该注意的事项

  • 数据类型匹配:确保插入的数据类型与表格定义的列数据类型匹配。
  • 主键唯一性:如果表格定义了主键,插入的数据必须确保主键值唯一。
  • 非空约束:如果某列定义了 NOT NULL 约束,则插入的数据不能为 NULL
  • 外键约束:确保插入的数据满足外键约束条件。

通过以上步骤,您可以在 MySQL 中完成对表格的增删操作,处理数据缺省值 NULL,并遵循插入数据时的注意事项,确保数据的完整性和一致性。


第四节:讲述表格创建中的限制

在创建表格时,可以使用各种约束(constraints)来确保数据的完整性和一致性。常见的约束包括主键、唯一性、非空、外键和检查约束。以下是详细说明和示例:

常见约束类型

  1. PRIMARY KEY(主键)

    • 主键约束唯一标识表格中的每一行。一个表只能有一个主键,但主键可以由多个列组成(联合主键)。
    CREATE TABLE example (id INT PRIMARY KEY,name VARCHAR(50)
    );
    
  2. UNIQUE(唯一约束)

    • 唯一约束确保一列或多列的值在表格中是唯一的,允许一个表格中有多个唯一约束。
    CREATE TABLE example (id INT,email VARCHAR(100) UNIQUE
    );
    
  3. NOT NULL(非空约束)

    • 非空约束确保一列不能存储 NULL 值。
    CREATE TABLE example (id INT,name VARCHAR(50) NOT NULL
    );
    
  4. FOREIGN KEY(外键约束)

    • 外键约束确保一个表中的值必须在另一个表中存在,用于维护表之间的引用完整性。
    CREATE TABLE department (id INT PRIMARY KEY,name VARCHAR(50)
    );CREATE TABLE employee (id INT PRIMARY KEY,name VARCHAR(50),department_id INT,FOREIGN KEY (department_id) REFERENCES department(id)
    );
    
  5. CHECK(检查约束)

    • 检查约束用于确保列中的值符合特定条件。
    CREATE TABLE example (id INT,age INT CHECK (age >= 18)
    );
    

示例:使用约束创建表格

以下是一个完整的示例,包括删除现有表格、创建新表格并插入数据的过程。

删除表格

如果表格 student 已存在,需要先删除该表格:

DROP TABLE IF EXISTS `student`;
创建表格并添加约束

创建一个名为 student 的表格,并添加各种约束:

CREATE TABLE `student`(`student_id` INT AUTO_INCREMENT,`name` VARCHAR(20) NOT NULL,`major` VARCHAR(20) UNIQUE,PRIMARY KEY (`student_id`)
);

此表格包括:

  • student_id 列为主键,自动递增。
  • name 列为非空。
  • major 列为唯一。
插入数据

student 表格插入数据:

INSERT INTO `student` VALUES(1, '小白', '历史');
INSERT INTO `student` VALUES(2, '小黑', '生物');
INSERT INTO `student`(`name`, `major`) VALUES('小黑', '化学');
查询数据

查询 student 表格中的所有数据:

SELECT * FROM `student`;

额外讲解示例

使用上述约束创建表格并插入数据后的结果应如下所示:

DROP TABLE IF EXISTS `student`;CREATE TABLE `student`(`student_id` INT AUTO_INCREMENT,`name` VARCHAR(20) NOT NULL,`major` VARCHAR(20) UNIQUE,PRIMARY KEY (`student_id`)
);INSERT INTO `student` VALUES(1, '小白', '历史');
INSERT INTO `student` VALUES(2, '小黑', '生物');
INSERT INTO `student`(`name`, `major`) VALUES('小黑', '化学');SELECT * FROM `student`;

在执行上述 SQL 语句后,student 表格将包含以下数据:

student_idnamemajor
1小白历史
2小黑生物
3小黑化学

第五节:如何修改和删除要素

在 MySQL 中,您可以使用 UPDATE 语句修改表格中的数据,并使用 DELETE 语句删除表格中的数据。以下是详细操作说明和示例:

修改和删除要素的案例

步骤一:设置 SQL 安全更新模式

为了允许对数据的修改和删除操作,可能需要关闭 MySQL 的安全更新模式:

SET SQL_SAFE_UPDATES = 0;
步骤二:删除旧表格并创建新表格

首先,删除旧的 student 表格,并创建一个新的 student 表格:

DROP TABLE IF EXISTS `student`;CREATE TABLE `student`(`student_id` INT PRIMARY KEY,`name` VARCHAR(20),`major` VARCHAR(20),`score` INT
);
步骤三:插入数据

student 表格中插入一些示例数据:

INSERT INTO `student` VALUES (1, '小白', '英语', 50);
INSERT INTO `student` VALUES (2, '小黄', '生物', 90);
INSERT INTO `student` VALUES (3, '小绿', '历史', 70);
INSERT INTO `student` VALUES (4, '小蓝', '英语', 80);
INSERT INTO `student` VALUES (5, '小黑', '化学', 20);
步骤四:查询数据

查询 student 表格中的所有数据:

SELECT * FROM `student`;
步骤五:修改数据

使用 UPDATE 语句修改表格中的数据,例如将 major 为“英语”的记录修改为“英语文学”:

UPDATE `student`
SET `major` = '英语文学'
WHERE `major` = '英语';
步骤六:删除数据

使用 DELETE 语句删除表格中的数据,例如删除 student_id 为 4 的记录:

DELETE FROM `student`
WHERE `student_id` = 4;

详细示例

以下是完整的 SQL 操作步骤:

-- 设置 SQL 安全更新模式
SET SQL_SAFE_UPDATES = 0;-- 删除旧表格并创建新表格
DROP TABLE IF EXISTS `student`;CREATE TABLE `student`(`student_id` INT PRIMARY KEY,`name` VARCHAR(20),`major` VARCHAR(20),`score` INT
);-- 插入数据
INSERT INTO `student` VALUES (1, '小白', '英语', 50);
INSERT INTO `student` VALUES (2, '小黄', '生物', 90);
INSERT INTO `student` VALUES (3, '小绿', '历史', 70);
INSERT INTO `student` VALUES (4, '小蓝', '英语', 80);
INSERT INTO `student` VALUES (5, '小黑', '化学', 20);-- 查询数据
SELECT * FROM `student`;-- 修改数据
UPDATE `student`
SET `major` = '英语文学'
WHERE `major` = '英语';-- 删除数据
DELETE FROM `student`
WHERE `student_id` = 4;-- 查询修改和删除后的数据
SELECT * FROM `student`;

修改和删除操作的注意事项

  1. 谨慎使用 UPDATEDELETE 语句:特别是在没有 WHERE 子句的情况下,可能会意外修改或删除表格中的所有数据。
  2. 备份数据:在执行批量修改或删除操作前,建议先备份数据,以防出现操作失误导致数据丢失。
  3. 使用事务:在需要保证数据操作的原子性时,可以使用事务(START TRANSACTION, COMMIT, ROLLBACK)来确保数据的完整性。

如果这对您有所帮助,希望点赞支持一下作者! 😊

[ 详细全文-点击查看](

)

file

相关文章:

MySQL 基本语法讲解及示例(上)

第一节:MySQL的基本操作 1. 创建数据库 在 MySQL 中,创建数据库的步骤如下: 命令行操作 打开 MySQL 命令行客户端或连接到 MySQL 服务器。 输入以下命令创建一个数据库: CREATE DATABASE database_name;例如,创建一…...

6.18作业

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号和密码不匹配&#xff…...

Excel文件转换为HTML文件

文章目录 前言安装python包python代码 前言 将一个Excel文件转换为HTML文件 安装python包 使用pandas和openpyxl库来实现这个功能 pip install pandas openpyxlpython代码 1、首先使用tkinter库中的filedialog模块弹出一个对话框来选择要转换的Excel文件 2、使用pandas库…...

MySQL数据库入门

1、MySQL概述 MySQL官方网站 https://www.mysql.com/downloads/ MySQL被Oracle公司收购了,作者又重新编写了一个开源的数据库管理系统,Mariadb 2、MySQL产品&版本 2、数据库在网站架构中的角色 LAMP LNMP网站架构 3、安装MySQL-基于yum 查…...

vue element-ui 下拉框 以及 input 限制输入,小数点后保留两位 界面设计案例 和 例子:支持mp4和m3u8视频播放

vue input 限制输入,小数点后保留两位 以及 图片垂直居中显示 和 分享 git 小技巧-CSDN博客文章浏览阅读430次,点赞5次,收藏4次。error:Your local changes to the following files would be overwritten by merge:_error: your local change…...

Python基础用法 之 运算符

1.算数运算符 符号作用说明举例加与“”相同 - 减与“-”相同*乘 与“ ”相同 9*218/除 与“ ”相同 9/24.5 、6/32.0//求商(整数部分) 两个数据做除法的 商 9//24%取余(余数部分) 是两个数据做除法的 余数 9%21**幂、次方2**…...

事务所管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,客户管理,评论管理,基础数据管理,公告信息管理 客户账户功能包括:系统首页,个人中心,律师管理&#xff0…...

airsim安装

继续进行,遇到下面的报错 Cannot find path HKEY_CLASSES_ROOT\Unreal.ProjectFile\shell\rungenproj 在Git地址的issue中,搜到下面的解决方法,根因是安装Unreal Engine之后未重启电脑,文件未关联导致,或者出现重定向…...

打造精致UI界面:字体设计的妙招

字体设计是UI设计的关键模块之一。字体设计是否有效可能直接实现或破坏整个UI界面。那么,界面设计的字体设计有哪些规范呢?如何设计细节字体?本文将解释字体设计规范的可读性、可读性和可用性,并介绍UI界面中的字体设计技巧。 如…...

[BJDCTF2020]ZJCTF,不过如此1

打开题目可以看到一段php文件包含&#xff0c;源码如下 <?phperror_reporting(0); $text $_GET["text"]; $file $_GET["file"]; if(isset($text)&&(file_get_contents($text,r)"I have a dream")){echo "<br><h1>…...

全网最全 Kimi 使用手册,看完 Kimi 效率提升 80%

在当前AI文字大模型领域&#xff0c;ChatGPT4.0无疑是最强大。然而&#xff0c;最近最火爆的大模型非国产Kimi莫属。 相较于其它大模型&#xff0c;Kimi 最大的优势在于&#xff0c;超长文本输入&#xff0c;支持200万汉字&#xff0c;是全球范围内罕见的超长文本处理工具&…...

“Redis中的持久化:深入理解RDB与AOF机制“

目录 # 概念 1. RDB持久化 1.1 备份是如何执行的&#xff08;RDB过程&#xff09; 1.2 配置文件信息 1.3 RDB持久化操作 1.4 RDB优势 1.5 RDB劣势 1.6 RDB做备份 2. AOF持久化 2.1 AOF开启及使用 2.2 异常恢复 2.3 配置文件操作 2.4 AOF持久化流程 2.5 优点 2.6…...

PHP框架详解:Symfony框架讲解

PHP作为一种流行的服务器端编程语言&#xff0c;拥有众多框架&#xff0c;其中Symfony是备受开发者推崇的一个强大框架。本文将详细讲解Symfony框架的特点、优势及其主要组件和用法。 一、Symfony简介 Symfony是由Fabien Potencier于2005年创建的一个开源PHP框架。它基于MVC&…...

PR软件视频抠图换背景

1 新建项目 2 新建序列 在项目的右下角有个图标&#xff0c;新建 序列 序列是视频的制作尺寸&#xff0c;根据自己的需要选择 3 新建颜色遮罩 在项目的右下角--新建颜色遮罩--选择黑色--确定 4 导入视频 把要导入视频的文件夹打开&#xff0c;把视频拖到 项目 里 把黑色遮罩拖…...

下载依赖有问题(只有自己有问题)

有缓存&#xff01; 删除node_modules 命令&#xff1a;npm run clean 前提是该项目支持这个命令&#xff1a;package.json > scripts 内有 clean 例如下面这个就没有clean&#xff0c;则直接手动删除 清除缓存 npm cache clean --force pnpm store prune删除lock文件 …...

vscode-关闭ts与js语义校验

1.ts与js语义校验 TypeScript&#xff08;TS&#xff09;和JavaScript&#xff08;JS&#xff09;在语义校验方面有很大的不同。TypeScript是一种静态类型检查的编程语言&#xff0c;它是JavaScript的一个超集&#xff0c;为JavaScript添加了类型系统和其他一些特性。而JavaScr…...

风控中的文本相似方法之余弦定理

一、余弦相似 一、 余弦相似概述 余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1&#xff0c;而其他任何角度的余弦值都不大于1&#xff1b;并且其最小值是-1。 从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。结…...

Spring Boot定时任务编程指南:如何创建和配置周期性任务

&#x1f341; 作者&#xff1a;知识浅谈&#xff0c;CSDN签约讲师&#xff0c;CSDN博客专家&#xff0c;华为云云享专家&#xff0c;阿里云专家博主 &#x1f4cc; 擅长领域&#xff1a;全栈工程师、爬虫、ACM算法 &#x1f525; 微信&#xff1a;zsqtcyw 联系我领取学习资料 …...

Java 获取客户端 IP 地址【工具类】

Java 获取客户端 IP 地址 import javax.servlet.http.HttpServletRequest; import java.net.InetAddress;/*** 网络工具类*/ public class NetUtils {/*** 获取客户端 IP 地址** param request 请求* return {link String}*/public static String getIpAddress(HttpServletReq…...

区块链中nonce是什么,什么作用

目录 区块链中nonce是什么,什么作用 区块链中nonce是什么,什么作用 Nonce在以太坊中是一个用于确保交易顺序性和唯一性的重要参数。以下是对Nonce的详细解释: 定义 Nonce是一个scalar值,它等于从该地址发送的交易数量,或在具有关联代码的账户的情况下,由该账户创建的合…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...