MySQL 保姆级教程(二):使用 MySQL 检索数据
使用 MySQL
3.2 选择数据库
使用数据库: 输入: USE 数据库名;输出: Database changed分析: 不返回任何结果,显示某种形式的通知  例如: 使用 crashcourse 数据库 use crashcourse;
3.3 了解数据库和表
列出所有的数据库: 输入: SHOW DATABASES;输出: +--------------------+| Database           |+--------------------+| coldfusion         || crashcourse        || flex               || forta              || information_schema || mysql              || performance_schema || study              || sys                || test               |+--------------------+分析: 返回可用数据库的一个列表
列出当前数据库中的所有表: 输入: SHOW TABLES;输出: +------------------------------------------------------+| Tables_in_mysql                                      |+------------------------------------------------------+| columns_priv                                         || component                                            || db                                                   || default_roles                                        || engine_cost                                          || func                                                 || general_log                                          || global_grants                                        || gtid_executed                                        || help_category                                        || help_keyword                                         || help_relation                                        || help_topic                                           || innodb_index_stats                                   || innodb_table_stats                                   || password_history                                     || plugin                                               || procs_priv                                           || proxies_priv                                         || replication_asynchronous_connection_failover         || replication_asynchronous_connection_failover_managed || replication_group_configuration_version              || replication_group_member_actions                     || role_edges                                           || server_cost                                          || servers                                              || slave_master_info                                    || slave_relay_log_info                                 || slave_worker_info                                    || slow_log                                             || tables_priv                                          || time_zone                                            || time_zone_leap_second                                || time_zone_name                                       || time_zone_transition                                 || time_zone_transition_type                            || user                                                 |+------------------------------------------------------+分析: 返回当前选择的数据库内可用表的列表
显示指定表的列信息: 输入: SHOW COLUMNS FROM user;或者是: DESCRIBE user;输出: +--------------------------+-----------------------------------+------+-----+-----------------------+-------+| Field                    | Type                              | Null | Key | Default               | Extra |+--------------------------+-----------------------------------+------+-----+-----------------------+-------+| Host                     | char(255)                         | NO   | PRI |                       |       || User                     | char(32)                          | NO   | PRI |                       |       || SELECT_priv              | enum('N','Y')                     | NO   |     | N                     |       || Insert_priv              | enum('N','Y')                     | NO   |     | N                     |       || Update_priv              | enum('N','Y')                     | NO   |     | N                     |       || Delete_priv              | enum('N','Y')                     | NO   |     | N                     |       || Create_priv              | enum('N','Y')                     | NO   |     | N                     |       || Drop_priv                | enum('N','Y')                     | NO   |     | N                     |       || Reload_priv              | enum('N','Y')                     | NO   |     | N                     |       || Shutdown_priv            | enum('N','Y')                     | NO   |     | N                     |       || Process_priv             | enum('N','Y')                     | NO   |     | N                     |       || File_priv                | enum('N','Y')                     | NO   |     | N                     |       || Grant_priv               | enum('N','Y')                     | NO   |     | N                     |       || References_priv          | enum('N','Y')                     | NO   |     | N                     |       || Index_priv               | enum('N','Y')                     | NO   |     | N                     |       || Alter_priv               | enum('N','Y')                     | NO   |     | N                     |       || SHOW_db_priv             | enum('N','Y')                     | NO   |     | N                     |       || Super_priv               | enum('N','Y')                     | NO   |     | N                     |       || Create_tmp_table_priv    | enum('N','Y')                     | NO   |     | N                     |       || Lock_tables_priv         | enum('N','Y')                     | NO   |     | N                     |       || Execute_priv             | enum('N','Y')                     | NO   |     | N                     |       || Repl_slave_priv          | enum('N','Y')                     | NO   |     | N                     |       || Repl_client_priv         | enum('N','Y')                     | NO   |     | N                     |       || Create_view_priv         | enum('N','Y')                     | NO   |     | N                     |       || SHOW_view_priv           | enum('N','Y')                     | NO   |     | N                     |       || Create_routine_priv      | enum('N','Y')                     | NO   |     | N                     |       || Alter_routine_priv       | enum('N','Y')                     | NO   |     | N                     |       || Create_user_priv         | enum('N','Y')                     | NO   |     | N                     |       || Event_priv               | enum('N','Y')                     | NO   |     | N                     |       || Trigger_priv             | enum('N','Y')                     | NO   |     | N                     |       || Create_tablespace_priv   | enum('N','Y')                     | NO   |     | N                     |       || ssl_type                 | enum('','ANY','X509','SPECIFIED') | NO   |     |                       |       || ssl_cipher               | blob                              | NO   |     | NULL                  |       || x509_issuer              | blob                              | NO   |     | NULL                  |       || x509_subject             | blob                              | NO   |     | NULL                  |       || max_questions            | int unsigned                      | NO   |     | 0                     |       || max_updates              | int unsigned                      | NO   |     | 0                     |       || max_connections          | int unsigned                      | NO   |     | 0                     |       || max_user_connections     | int unsigned                      | NO   |     | 0                     |       || plugin                   | char(64)                          | NO   |     | caching_sha2_password |       || authentication_string    | text                              | YES  |     | NULL                  |       || password_expired         | enum('N','Y')                     | NO   |     | N                     |       || password_last_changed    | timestamp                         | YES  |     | NULL                  |       || password_lifetime        | smallint unsigned                 | YES  |     | NULL                  |       || account_locked           | enum('N','Y')                     | NO   |     | N                     |       || Create_role_priv         | enum('N','Y')                     | NO   |     | N                     |       || Drop_role_priv           | enum('N','Y')                     | NO   |     | N                     |       || Password_reuse_history   | smallint unsigned                 | YES  |     | NULL                  |       || Password_reuse_time      | smallint unsigned                 | YES  |     | NULL                  |       || Password_require_current | enum('N','Y')                     | YES  |     | NULL                  |       || User_attributes          | json                              | YES  |     | NULL                  |       |+--------------------------+-----------------------------------+------+-----+-----------------------+-------+分析: SHOW columns 要求给出一个表名(例如 user),它对每个字段返回一行,行中包含字段名、数据类型、是否允许 NULL,键信息、默认值以及其他信息
其他支持 SHOW 的语句: 1. SHOW STATUS      用来显示广泛的服务器状态信息2. SHOW CREATE DATABASE 数据库名 和 SHOW CREATE TABLE 表名     分别用来显示创建特定数据库或表的 mysql 语句,包括表的结构、索引等3. SHOW GRANTS      用来显示授予用户(所有用户或特定用户)的安全权限4. SHOW ERRORS 和 SHOW WARNINGS      用来显示服务器错误或警告消息5. SHOW PROCESSLIST;        用来显示当前正在执行的进程列表6. SHOW VARIABLES;      用来显示数据库系统的配置变量 
3.4 数据库的创建
输入: CREATE DATABASE <数据库名>;
例如: CREATE DATABASE clc;
输出: Query OK, 1 row affected (0.08 sec) 
检索数据
4.1 SELECT 语句
用途是从一个或多个表中检索信息
4.2 检索单个列
输入: SELECT plugin FROM user;
输出: 
+-----------------------+
| plugin                |
+-----------------------+
| mysql_native_password |
| caching_sha2_password |
| caching_sha2_password |
| caching_sha2_password |
+-----------------------+
分析: 上述语句利用 SELECT 语句从 user 表中检索一个名为 plugin 的列 
4.3 检索多个列
输入: SELECT Host,plugin FROM user;
输出: 
+-----------+-----------------------+
| Host      | plugin                |
+-----------+-----------------------+
| %         | mysql_native_password |
| localhost | caching_sha2_password |
| localhost | caching_sha2_password |
| localhost | caching_sha2_password |
+-----------+-----------------------+
分析: 与上一个例子一样,列名之间用逗号分隔 
4.4 检索所有列
输入: SELECT * FROM user;
输出: 
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host      | User             | SELECT_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | SHOW_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | SHOW_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher             | x509_issuer              | x509_subject               | max_questions | max_updates | max_connections | max_user_connections | plugin                | authentication_string                                                  | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| %         | root             | Y           | Y           | Y           | Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y            | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y              | Y                   | Y                  | Y                | Y          | Y            | Y                      |          | NULL                   | NULL                     | NULL                       |             0 |           0 |               0 |                    0 | mysql_native_password | *AE47E29BB2E9F8F1EEB97F5274458B7CBBFDDA41                              | N                | 2024-01-03 15:26:21   |              NULL | N              | Y                | Y              |                   NULL |                NULL | NULL                     | NULL            |
| localhost | mysql.infoschema | Y           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          | NULL                   | NULL                     | NULL                       |             0 |           0 |               0 |                    0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N                | 2024-01-03 15:22:18   |              NULL | Y              | N                | N              |                   NULL |                NULL | NULL                     | NULL            |
| localhost | mysql.session    | N           | N           | N           | N           | N           | N         | N           | Y             | N            | N         | N          | N               | N          | N          | N            | Y          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          | NULL                   | NULL                     | NULL                       |             0 |           0 |               0 |                    0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N                | 2024-01-03 15:22:18   |              NULL | Y              | N                | N              |                   NULL |                NULL | NULL                     | NULL            |
| localhost | mysql.sys        | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          | NULL                   | NULL                     | NULL                       |             0 |           0 |               0 |                    0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N                | 2024-01-03 15:22:18   |              NULL | Y              | N                | N              |                   NULL |                NULL | NULL                     | NULL            |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
分析: 如果给定一个通配符(*),则返回表中所有列 
4.5 检索不同的行
输入: SELECT plugin FROM user;
输出: 
+-----------------------+
| plugin                |
+-----------------------+
| mysql_native_password |
| caching_sha2_password |
| caching_sha2_password |
| caching_sha2_password |
+-----------------------+
输入: SELECT DISTINCT plugin FROM user;
输出: 
+-----------------------+
| plugin                |
+-----------------------+
| mysql_native_password |
| caching_sha2_password |
+-----------------------+
分析: SELECT DISTINCT plugin 告诉 MySQL 只返回不同(唯一)的行,因此只返回两行。如果使用 distinct 关键字必须放在列名前面 
4.6 限制结果
输入: SELECT priv FROM global_grants LIMIT 12;
输出: 
+----------------------------+
| priv                       |
+----------------------------+
| SYSTEM_USER                |
| BACKUP_ADMIN               |
| CLONE_ADMIN                |
| CONNECTION_ADMIN           |
| PERSIST_RO_VARIABLES_ADMIN |
| SESSION_VARIABLES_ADMIN    |
| SYSTEM_USER                |
| SYSTEM_VARIABLES_ADMIN     |
| SYSTEM_USER                |
| APPLICATION_PASSWORD_ADMIN |
| AUDIT_ADMIN                |
| BACKUP_ADMIN               |
+----------------------------+
分析: 此语句使用 SELECT 语句检索单个列,LIMIT 12 指示 MySQL 返回不多于两行
输入: SELECT priv FROM global_grants LIMIT 3,8;
输出: 
+----------------------------+
| priv                       |
+----------------------------+
| CONNECTION_ADMIN           |
| PERSIST_RO_VARIABLES_ADMIN |
| SESSION_VARIABLES_ADMIN    |
| SYSTEM_USER                |
| SYSTEM_VARIABLES_ADMIN     |
| SYSTEM_USER                |
| APPLICATION_PASSWORD_ADMIN |
| AUDIT_ADMIN                |
+----------------------------+
分析: LIMIT 3,8 指示 MySQL 返回从行 3 开始的 8 行,第一个数为开始位置,第二个数为要检索的行数
注意: 第一行为行 0
输入: SELECT priv FROM global_grants LIMIT 8 OFFSET 3;
输出: 
+----------------------------+
| priv                       |
+----------------------------+
| CONNECTION_ADMIN           |
| PERSIST_RO_VARIABLES_ADMIN |
| SESSION_VARIABLES_ADMIN    |
| SYSTEM_USER                |
| SYSTEM_VARIABLES_ADMIN     |
| SYSTEM_USER                |
| APPLICATION_PASSWORD_ADMIN |
| AUDIT_ADMIN                |
+----------------------------+
分析: LIMIT 的另一种代替语法,意思为读取 8 行从第 3 行开始 
4.7 使用完全限定的表名
输入: SELECT server_cost.cost_name FROM server_cost;
输出: 
+------------------------------+
| cost_name                    |
+------------------------------+
| disk_temptable_create_cost   |
| disk_temptable_row_cost      |
| key_compare_cost             |
| memory_temptable_create_cost |
| memory_temptable_row_cost    |
| row_evaluate_cost            |
+------------------------------+
分析: 使用完全表名是指在列名前面加上表名称,可以避免命令冲突
输入: SELECT server_cost.cost_name FROM mysql.server_cost;
输出: 
+------------------------------+
| cost_name                    |
+------------------------------+
| disk_temptable_create_cost   |
| disk_temptable_row_cost      |
| key_compare_cost             |
| memory_temptable_create_cost |
| memory_temptable_row_cost    |
| row_evaluate_cost            |
+------------------------------+
分析: 使用完全表名是指在表名前面加上数据库名称,可以避免命令冲突 
相关文章:
MySQL 保姆级教程(二):使用 MySQL 检索数据
使用 MySQL 3.2 选择数据库 使用数据库: 输入: USE 数据库名;输出: Database changed分析: 不返回任何结果,显示某种形式的通知  例如: 使用 crashcourse 数据库 use crashcourse; 3.3 了解数据库和表 列出所有的数据库: 输入: SHOW DATABASES;输出: --------…...
Sui Bridge在测试网上线并推出10万SUI激励计划
是一种为Sui设计的原生桥接协议,专门用于在Sui与其他网络之间桥接资产和数据。今天,Sui Bridge宣布在测试网上线。作为一种原生协议,Sui Bridge能够在Ethereum和Sui之间轻松且安全地转移ETH、wBTC、USDC和USDT,使其成为Sui基础设施…...
Spring系统学习 - Bean的作用域
bean作用域介绍 Spring框架提供了不同的作用域来管理Bean的生命周期和可见性,这对于控制不同类型的组件和处理并发请求尤其重要。 singleton(默认): 每个Spring IoC容器只有一个bean实例。当容器创建bean后,它会被缓存…...
贪吃蛇双人模式设计(2)
敲上瘾-CSDN博客控制台程序设置_c语言控制程序窗口大小-CSDN博客贪吃蛇小游戏_贪吃蛇小游戏csdn-CSDN博客 一、功能实现: 玩家1使用↓ → ← ↑按键来操作蛇的方向,使用右Shift键加速,右Ctrl键减速玩家2使用W A S D按键来操作蛇的方向&am…...
mysql什么时候不需要建立索引
WHERE 条件,GROUP BY,ORDER BY 里用不到的字段,索引的价值是快速定位,如果起不到定位的字段通常是不需要创建索引的,因为索引是会占用物理空间的。字段中存在大量重复数据,不需要创建索引,比如性…...
热门开源项目推荐:技术与地址概览
随着开源项目的不断兴起,越来越多的优秀项目涌现出来,为开发者们提供了丰富的资源和灵感。在此,我将为大家推荐几个热门的开源项目,并附上它们的开源地址,以供大家参考和了解。 1. TensorFlow 项目简介: …...
Golang的channel
目录 基本使用 channel 数据结构 阻塞的协程队列 协程节点 构建 channel 写流程 读流程 非阻塞与阻塞 closechan(关闭) 基本使用 创建无缓存 channel c : make(chan int) //创建无缓冲的通道 cc : make(chan int,0) //创建无缓冲的通道 c 创建有缓存 channel c : m…...
DIYGW可视化开发工具:微信小程序与多端应用开发的利器
一、引言 随着移动互联网的飞速发展,微信小程序以其轻便、易用和跨平台的特点受到了广泛关注。然而,微信小程序的开发相较于传统的H5网页开发,在UI搭建和交互设计上存在一定的挑战。为了应对这些挑战,开发者们一直在寻找更加高效…...
docker——基础知识
简介 一、什么是虚拟化和容器化  实体计算机叫做物理机,有时也称为寄主机;  虚拟化:将一台计算机虚拟化为多台逻辑计算机;  容器化:一种虚拟化技术,操作系统的虚拟化;将用户空间软件实…...
SAP MMRV/MMPV 物料账期月结月底月初开关
公告:周一至周五每日一更,周六日存稿,请您点“关注”和“在看”,后续推送的时候不至于看不到每日更新内容,感谢。 这是一条刮刮乐,按住全部选中:点关注的人最帅最美,欢迎࿱…...
五分钟看懂如何解决FP独立站的广告投放问题
在数字化时代的浪潮中,跨境电商的独立站成为了商家们的新宠。与传统的电商平台相比,独立站在品牌建设、市场定位以及客户体验上提供了更多的自由度和创新空间。然而,这些独立站尤其是销售FP产品的站点,在广告投放上遇到了重重障碍…...
学习分享-FutureTask
前言 今天再改简历的时候回顾了之前实习用到的FutureTask,借此来回顾一下相关知识。 FutureTask 介绍 FutureTask 是 Java 并发包(java.util.concurrent)中的一个类,用于封装异步任务。它实现了 RunnableFuture 接口࿰…...
Javaweb02-XML概述
第一章 XML概述 1.XML基本概念 什么是xml? **a.**引入的原因:为了解决不同不同语言之间的数据传输的格式不同 **b.**概念:XML是一种可扩展标记语言,适用于不同数据之间的数据交换 **c.**XML文档:通过元素的嵌套&a…...
Linux shell编程基础
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问 Linux 内核的服务。 Shell 脚本&#x…...
2024.6.12 作业 xyt
今日课堂练习:vector构造函数 #include <iostream> #include <vector> using namespace std;void printVector(vector<int> &v) {vector<int>::iterator iter;for(iterv.begin(); iter ! v.end(); iter){cout << *iter <<…...
QTTabBar在重置Internet Explorer后失效
网上常见的办法是: 打开IE浏览器>>设置>>Internet选项>>高级。勾选启用第三方浏览器扩展,重启后生效。 打开IE浏览器-设置–管理加载项,启用QTTabBar。 实际在Win10上使用的时候会遇到点开IE自动跳转到Edge的问题。这时…...
Django之云存储(一)
一、介绍 用户上传的文件以及项目中使用的静态文件,除了保存在本地服务器,还在可以保存在云服务中,比如: 阿里云七牛云(课程选用)亚马逊云等1.1、使用方式 注册账号 七牛云开发者平台 实名认证 创建空间...
推挽与开漏输出
一般来说,微控制器的引脚都会有一个驱动电路,可以配置不同类型的数字和模拟电路接口。输出模式一般会有推挽与开漏输出。 推挽输出 推挽输出(Push-Pull Output),故名思意能输出两种电平,一种是推…...
Sora和快手可灵背后的核心技术 | 3DVAE:通过小批量特征交换实现身体和面部的三维形状变分自动编码器
【摘要】学习3D脸部和身体生成模型中一个解开的、可解释的和结构化的潜在表示仍然是一个开放的问题。当需要控制身份特征时,这个问题尤其突出。在本文中,论文提出了一种直观而有效的自监督方法来训练一个3D形状变分自动编码器(VAE),以鼓励身份特征的解开潜在表示。通过交换不同…...
ArcGIS Pro SDK (三)Addin控件 2 窗格界面类
ArcGIS Pro SDK (三)Addin控件 2 窗格界面类 目录 ArcGIS Pro SDK (三)Addin控件 2 窗格界面类15 ArcGIS Pro 后台选项卡15.1 添加控件15.2 Code15.2.1 选项卡按钮15.2.2 选项卡页 16 ArcGIS Pro 窗体16.1 添加控件16.2 Code 17 A…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
