【重生之我在B站学MySQL】
MySQL笔记
文章目录
- MySQL的三层结构
- SQL语句分类
- sql语句
- 数据库操作
- 创建数据库
- 查看、删除数据库
- 表操作
- 创建表
- mysql常用数据类型(列类型)
- 查询表、插入值
- 创建表练习
- 创建一个员工表emp
- 修改表
- mysql约束
- primary key(主键)
- not null(非空)
- unique(唯一)
- foreign key(外键)
- check
- 自增长
- 索引
- 索引的代价
- 索引原理
- 哪些列上适合使用索引
- 主键索引
- 唯一索引(UNIQUE)
- 普通索引(INDEX)
- 全文索引(FULLTEXT)[适用于MylSAM]
- 索引使用
- 事务
- 引出事务
- 基本操作
- 事务细节
- 事务隔离级别
- 查看和设置事务隔离级别
- 全局修改事务隔离级别
- 事务的acid特性
- 数据库CRUD语句
- 单表查询
- 表达式与as语句
- 运算符
- 排序
- 使用group by子句对列进行分组
- 使用having子句对分组后的结果进行过滤
- 关键字
- DISTINCT 去重
- 函数
- 统计函数
- 统计 - count
- 求和函数 - sum
- 平均值 - avg
- 最大值 max
- 最小值 min
- 字符串函数
- 数学函数
- 时间日期函数
- 加密和系统函数
- 流程控制函数
- 单表查询加强
- 分页查询
- 多表查询
- 笛卡尔集
- 自连接
- 子查询
- 单行子查询
- 多行子查询
- 多行子查询中使用all与any操作符
- 多列子查询
- 子查询临时表
- 表复制与去重
- 合并查询union,union all
- 外连接
- 存储引擎
- 基本介绍
- 主要的存储引擎/表类型特点
- 如何选择表的存储引擎
- 视图
- 基础概念
- 视图的基本使用
- 视图中可以在使用视图
- 视图最佳实践
- 用户管理
- 创建、删除用户
- 用户修改密码
- mysql中的权限
- 给用户授权
- 回收用户权限
- 权限生效指令
- mysql命令
- 备份数据库
- 备份库的表
- 恢复数据库
MySQL的三层结构
SQL语句分类
DDL:数据定义语句[create表,库…]
DML:数据操作语句[增加insert,修改update,删除delete]
DQL:数据查询语句[select]



DCL:数据控制语句[管理数据库:比如用户权限grant revoke]
TCL:不是王牌电视。是事务控制语言包括:事务提交:commit;事务回滚:rollback;
sql语句
数据库操作
创建数据库
在创建数据库,表的时候,为了规避关键字,可以使用反引号解决
CREATE DATABASE `CREATE`
#创建一个名称为hsp_db01的数据库
CREATE DATABASE hsp_db01;#创建一个utf8字符集的hsp_db02数据库
CREATE DATABASE hsp_db02 CHARACTER SET utf8;#创建一个使用utf8字符集,并带校对规则的hsp_db03数据库
CREATE DATABASE hsp_db03 CHARACTER SET utf8 COLLATE utf8_bin;
查看、删除数据库
#显示数据库
SHOW DATABASES;#显示数据库创建语句
SHOW CREATE DATABASE db_name;#数据库删除语句
DROP DATABASE [IF EXISTS] db_name;
表操作
创建表



mysql常用数据类型(列类型)

枚举类型
字符串使用细节
char(4) //这个4表示字符数(最大255),不是字节数,不管是中文还是字母都
是放四个,按字符计算.varchar(4) //这个4表示字符数,不管是字母还是中文都以定义好的表的编码
来存放数据
不管是中文还是英文字母,都是最多存放4个,是按照字符来存放的,char(4)和 varchar(4)这个4表示的是字符,而不是字节,不区分字符是汉字还是字母
什么时候使用char,什么时候使用varchar
1.如果数据是定长,推荐使用char,比如md5的密码,邮编,手机号,身份证号码等.char(32)
2.如果一个字段的长度是不确定,我们使用varchar,比如留言,文章
查询速度:char > varchar在存放文本时,也可以使用Text数据类型.可以将TEXT列视为 VARCHAR列,注意Tet不能有默认值.大小0-216字节如果希望存放更多字,可以选择 MEDIUMTEXT 0-2^24或者LONGTEXT 0~2^32
查询表、插入值
# 查询所有从t1表条件是name=tom
SELECT * FROM t1 WHERE NAME = 'tom';# 给t3表添加一个值
INSERT INTO t3 VALUES(127);# 显示表的结构和约束
desc 表名
创建表练习
创建一个员工表emp

修改表


mysql约束
primary key(主键)
primary key不能重复而且不能为null
一张表最多只能有一个主键,但可以是复合主键(比如id+name)
复合主键
id+name同时相同才不允许添加


not null(非空)
unique(唯一)
foreign key(外键)
1.外键指向的表的字段,要求是primary key或者是 unique
2.表的类型是innodb,这样的表才支持外键
3.外键字段的类型要和主键字段的类型一致(长度可以不同)
4.外键字段的值,必须在主键字段中出现过,或者为null[前提是外键字段允许为null]
5.一旦建立主外键的关系,数据不能随意删除了

外键示意图
check
MySQL从8.0.16版本开始支持CHECK约束,并使其生效。在MySQL 8.0.16之前的版本中,虽然允许使用CHECK (expr)形式的检查约束语法,但实际上解析之后会忽略该子句,CHECK约束并不会对数据进行检查,而是仅仅作为注释存在。
CHECK约束是一种完整性约束,用于限制表中数据的取值范围,可以确保插入或更新的数据满足特定的条件。它有助于维护数据的完整性,防止非法数据的插入或更新,并且通过在数据库层面进行数据验证,可以减少应用程序中的错误处理逻辑,提高性能。
在MySQL中,CHECK约束可以分为基于列的CHECK约束和基于表的CHECK约束。基于列的CHECK约束应用于单个列,限制该列的取值范围;而基于表的CHECK约束则应用于整个表,可以涉及多个列的组合条件。
因此,如果需要使用CHECK约束来限制MySQL表中数据的取值范围,请确保使用的MySQL版本为8.0.16或更高版本。

商店表设计

CREATE DATABASE shop_db;-- 商品goods
CREATE TABLE goods (goods_id INT PRIMARY KEY,goods_name VARCHAR (64) NOT NULL DEFAULT '',unitprice DECIMAL (10, 2) NOT NULL DEFAULT 0 CHECK (unitprice >= 1.0 AND unitprice <= 9999.99),category INT NOT NULL DEFAULT 0,provider VARCHAR (64) NOT NULL DEFAULT ''
);-- 客户customer
CREATE TABLE customer (-- 客户customer_id VARCHAR (8) PRIMARY KEY,-- 姓名`name` VARCHAR (64) NOT NULL DEFAULT '',-- 地址address VARCHAR (64) NOT NULL DEFAULT '',-- 邮箱email VARCHAR (64) UNIQUE NOT NULL,-- 性别sex ENUM ('男', '女') NOT NULL,-- 身份证card_Id CHAR(18)
); -- 购买
CREATE TABLE purchase (-- 订单号order_id INT UNSIGNED PRIMARY KEY,-- 客户号customer_id CHAR(8) NOT NULL DEFAULT '',-- 商品号goods_id INT NOT NULL DEFAULT 0,-- 购买数量nums INT NOT NULL DEFAULT 0,FOREIGN KEY (customer_id) REFERENCES customer(customer_id),FOREIGN KEY (goods_id) REFERENCES goods(goods_id)
);
自增长
1.一般来说自增长是和primary key配合使用的
2.自增长也可以单独使用[但是需要配合一个unique]
3.自增长修饰的字段为整数型的(虽然小数也可以但是非常非常少这样使用)
4.自增长默认从1开始,你也可以通过如下命令修改alter table 表名 auto increment = xxx;
5.如果你添加数据时,给自增长字段(列)指定的有值,则以指定的值为准,如果指定了自增长,一般来说,就按照自增长的规则来添加数据
索引
说起提高数据库性能,索引是最物美价廉的东西了。不用加内存,不用改程序,不用调sql,查询速度就可能提高百倍干倍。
索引的代价
1.磁盘占用
2.对dml(update delete insert)语句的效率影响(会对索引进行维护,对速度有影响)
索引原理
没有索引为什么会慢?因为全表扫描
使用索引为什么会快?形成一个索引的数据结构,比如二叉树


哪些列上适合使用索引
1.较频繁的作为查询条件字段应该创建索引
select from emp where empno 1
2.唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件
select from emp where sex = ‘男’
3.更新非常频繁的字段不适合创建索引
select from emp where logincount = 1
4.不会出现在WHERE子句中字段不该创建索引


主键索引
主键自动的为主索引(类型Primary key)
唯一索引(UNIQUE)
如果某列的值,是不会重复的,则优先考虑使用unique索引,否则使用普通索引
普通索引(INDEX)

全文索引(FULLTEXT)[适用于MylSAM]
一般开发,不使用mysql自带的全文索引,而是使用:全文搜索Solr ElasticSearch (ES)
索引使用
查询表是否有索引
添加、删除索引

事务
什么是事务
事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dl语句要么全部成功,要么全部失败。如:转账就要用事务来处理,用以保证数据的一致性。事务和锁
当执行事务操作时(dml语句),mysql:会在表上加锁,防止其它用户改表的数据.这对用户来讲是非常重要的
引出事务

基本操作
回退事务
在介绍回退事务前,先介绍一下保存点(savepoint).保存点是事务中的点.用于取消部分事务,当结束事务时(commit),会自动的删除该事务所定义的所有保存点.当执行回退事务时,通过指定保存点可以回退到指定的点。提交事务
使用commiti语句可以提交事务.当执行了commiti语句子后,会确认事务的变化、结束事务、删除保存点、释放锁,数据生效。当使用commit语句结束事务子后,其它会话【其他连接】将可以查看到事务变化后的新数据【所有数据就正式生效】

事务细节
1.如果不开始事务,默认情况下,dml操作是自动提交的,不能回滚
2.如果开始一个事务,你没有创建保存点.你可以执行rollback,默认就是回退到你事务开始的状态
3.你也可以在这个事务中(还没有提交时),创建多个保存点.
比如:
savepoint aaa;
执行dml
savepoint bbb;
4.你可以在事务没有提交前,选择回退到哪个保存点
5.mysql的事务机制需要lnnoDB的存储引擎才可以使用,MyISAM不支持
6.开始一个事务start transaction 或者 SET autocommit=off;

事务隔离级别
事务隔离级别介绍
1.多个连接开启各自事务操作数据库中数据时,数据库系统要负责隔离操作,以保证各个连接在获取数据时的准确性。(通俗解释)
2.如果不考虑隔离性,可能会引发如下问题:
脏读
不可重复读
幻读


查看和设置事务隔离级别

全局修改事务隔离级别

事务的acid特性

数据库CRUD语句
1.如果不使用where子句,将删除表中所有数据。
2.Delete语句不能删除某一列的值(可使用update设为null或者")
3.使用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table语句。drop table 表名;
单表查询
表达式与as语句
运算符
排序
使用group by子句对列进行分组
使用having子句对分组后的结果进行过滤
关键字
DISTINCT 去重
函数
统计函数
统计 - count
count(*)和count(列)的区别
*解释:count(*)返回满足条件的记录的行数
count(列):统计满足条件的某列有多少个,但是会排除为null的情况
求和函数 - sum
■统计一个班级数学总成绩?
■统计一个班级语文、英语、数学各科的总成绩
■统计一个班级语文、英语、数学的成绩总和
■统计一个班级语文成绩平均分
注意:sum仅对数值起作用,否则没有意义。
注意:对多列求和,“,”号不能少。
平均值 - avg
最大值 max
最小值 min

字符串函数


数学函数

rand()返回一个随机浮点值y,范围在0到1之间(即,其范围为0≤V≤1.0)。若已指定一个整数参数W,则它被用作种子值,用来产生重复序列。
1.如果使用rand()每次返回不同的随机数,在0≤v≤1.0
2.如果使用 rand(seed)返回随机数,范围0≤v≤1.0,如果seed不变,该随机数也不变了
时间日期函数




加密和系统函数

流程控制函数


单表查询加强



分页查询



多表查询
笛卡尔集

自连接
自连接是指在同一张表的连接查询

子查询
单行子查询
多行子查询

多行子查询中使用all与any操作符


多列子查询
请思考如何查询与allen的部门和岗位完全相同的所有雇员(并且不含allen本人)
(字段1,字段2…)=(select 字段1,字段2 from…)

子查询临时表





查询每个部门的信息(包括:部门名,编号,地址)和人员数量

表复制与去重


合并查询union,union all
外连接
1.左外连接(如果左侧的表完全显示我们就说是左外连接)
2.右外连接(如果右侧的表完全显示我们就说是右外连接)

存储引擎
基本介绍
InnoDB存储引擎:支持事务、行级锁定和外键
MRG_MYISAM存储引擎:收集相同的MyISAM表
MEMORY存储引擎:基于哈希的,存储在内存中,对临时表有用
BLACKHOLE存储引擎:写入到这的数据会被销毁
MYISAM存储引擎:不支持事务
CSV存储引擎:CSV存储引擎
ARCHIME存储引擎:存档类型的存储引擎

显示当前数据库支持的存储引擎
show engines;
主要的存储引擎/表类型特点
1.MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求
2.InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起
MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留
数据和索引。3.MEMORY?存储引擎使用存在内存中的内容来创建表。每个MEMORY表只实际对应
一个磁盘文件。MEMORY类型的表访问非常得快,因为它的数据是放在内存中的,
并且默认使用HASH索引。但是一旦服务关闭,表中的数据就会丢失掉,表的结构还
在。
如何选择表的存储引擎

修改存储引擎
-- 指令修改存储引擎
ALTER TABLE `t29` ENGINE = INNODB;
视图
看一个需求

基础概念
1.视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含列,其数据来自对应的真实表(基表)
2.视图和基表关系的示意图
对视图的总结
1.视图是根据基表来创建的视图是虚拟的表
2.视图也有列,数据来自基表
3.通过视图可以修改基表的数据
4.基表的改变,也会影响到视图的数据
视图的基本使用
- create view 视图名 as select 语句
创建视图
- alter view 视图名 as select 语句
修改视图结构
- SHOW CREATE VIEW 视图名
查看创建视图的指令
- drop view 视图名1,视图名2
删除视图

视图中可以在使用视图

视图最佳实践


用户管理
原因:当我们做项目开发时,可以根据不同的开发人员,赋给他相应的mysql操作权限所以,mysql数据库管理人员(root),根据需要创建不同的用户,赋给相应的权限,供人员使用
不同的数据库用户,登录到DBMS后,根据相应的权限,可以操作的数据库和数据对象(表,视图,触发器)都不一样
user表的重要字段说明:

创建、删除用户
1.在创建用户的时候,如果不指定Host,则为%,%表示表示所有IP都有连接权限
create user xxx;
2.你也可以这样指定
create user’xx’@‘192.168.1.%‘表示Xxx用户在192.168.1.*的ip可以登
录mysql
3.在删除用户的时候,如果host不是%,需要明确指定"用户’@‘host值
DROP USER jack; – 默认就是DROP USER ‘jack’@’%’
用户修改密码
mysql中的权限
给用户授权

回收用户权限
权限生效指令
FLUSH PRIVILEGES;
mysql命令
备份数据库
要在Dos下执行mysqldump指令其实在mysql安装目录\bin
mysqldump -u 用户名 -p -B 数据库1 数据库2 数据库n > d:\\文件名.sql
备份库的表
mysqldump -u 用户名 -p 数据库 表1 表2 表n > d:\\文件名.sql
恢复数据库
进入Mysql命令行再执行
source 文件名.sql
相关文章:
【重生之我在B站学MySQL】
MySQL笔记 文章目录 MySQL的三层结构SQL语句分类sql语句数据库操作创建数据库查看、删除数据库 表操作创建表mysql常用数据类型(列类型)查询表、插入值创建表练习创建一个员工表emp 修改表mysql约束primary key(主键)not null(非空)unique(唯一)foreign key(外键)check自增长 索…...
Python实现中国象棋
探索中国象棋 Python 代码实现:从规则逻辑到游戏呈现 中国象棋,这款源远流长的棋类游戏,承载着深厚的文化底蕴与策略智慧。如今,借助 Python 与 Pygame 库,我们能够在数字世界中复刻其魅力,深入探究代码背后…...
LBS 开发微课堂|通过openGL ES轻松实现建筑物渲染及动画
为了让广大开发者 更深入地了解 百度地图开放平台的 技术能力 轻松掌握满满的 技术干货 更加简单地接入 位置服务 我们特别推出了 “位置服务(LBS)开发微课堂” 系列技术案例 第五期的主题是 通过openGL ES轻松实现 建筑物渲染及动画 对于…...
map1[item.id]和map1.get(item.id)的区别为何前者取出的是空,后者取出的是正确的值
在 JavaScript 中,map1[item.id] 和 map1.get(item.id) 用于从 Map 对象中获取值,但它们的工作方式有所不同: map1[item.id]:这种方式用于普通对象(Object),它将 item.id 作为键来获取对应的值…...
window端sqlplus连接linux_oracle11g
1. 环境配置回顾 下载 Oracle Instant Client:根据查询到的版本到链接: oracle官网下载对应版本的三个文件(比如我这里查询到的版本是12.2.0.1.0): instantclient-basic-windows.x64-12.2.0.1.0.zip instantclient-sqlplus-win…...
Go支付中台方案:多平台兼容与多项目对接
一、中台的概念 中台是一种企业级的架构模式,它处于前台应用和后台资源之间,将企业核心能力进行整合、封装,形成一系列可复用的业务能力组件。这些组件就像乐高积木一样,可以被不同的前台业务快速调用,从而避免重复开…...
MySQL触发器的使用详解
MySQL触发器的使用详解 MySQL触发器是一种特殊的存储过程,它与表操作紧密相关,并且在特定事件(如INSERT、UPDATE或DELETE)发生时自动执行。触发器的主要目的是确保数据完整性、实现复杂的业务逻辑以及记录审计信息。它们可以在事…...
关于NLP交互式系统的一些基础入门
【1】What 基于自然语言处理(NLP)的交互式系统是指能够理解、解析并生成人类自然语言的计算机程序。这些系统旨在通过文本或语音与用户进行交流,以提供信息、解决问题或执行任务。以下是关于这类系统的一些关键点: 核心技术&…...
如何在HTML中修改光标的位置(全面版)
如何在HTML中修改光标的位置(全面版) 在Web开发中,控制光标位置是一个重要的技巧,尤其是在表单处理、富文本编辑器开发或格式化输入的场景中。HTML中的光标位置操作不仅适用于表单元素(如<input>和<textarea…...
PHP8 动态属性被弃用兼容方案
PHP 类中可以动态设置和获取没有声明过的类属性。这些属性不遵循具体的规则,并且需要使用 __get() 和 __set() 魔术方法对动态属性如何读写进行有效控制。 class User {private int $uid; }$user new User(); $user->name Foo; 上述代码中,User 类…...
WPF表格控件的列利用模块适配动态枚举类
将枚举列表转化到类内部赋值,在初始化表格行加载和双击事件时,触发类里面的枚举列表的赋值 <c1:Column Header"变更类型" Binding"{Binding ChangeType, ModeTwoWay, ValidatesOnExceptionsTrue, ValidatesOnDataErrorsTrue, NotifyOn…...
【sgUploadImage】自定义组件:基于elementUI的el-upload封装的上传图片、相片组件,适用于上传缩略图、文章封面
sgUploadImage源码 <template><div :class"$options.name"><ul class"uploadImages"><liclass"uploadImage"v-loading"loadings[i]"v-for"(a, i) in uploadImages":key"i"click"click…...
Scala的隐式转换
一: 1.隐式转换概述: 隐式转换与模式匹配都是scala中提供的比较强大的特性。 2.隐式转换的定义: 在实际编程中,要想把一个不匹配的类型赋值,需要先转换成匹配的类型。scala的隐式转换会自动将一种类型的数据转换成…...
从视频编码的进化历程看技术革新
人类对影像的记录和传播从未停止。从最早的胶片电影到如今的数字视频,技术在不断演进。在这个过程中,视频编码技术的发展扮演着关键角色,它决定着我们如何高效地存储和传输视频内容。 视频编码技术的发展历程充满智慧。上世纪90年代…...
ECharts柱状图-阶梯瀑布图,附视频讲解与代码下载
引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个柱状图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供…...
如何让Google快速收录你的页面?
要让Google更快地收录你的网站内容,首先需要理解“爬虫”这个概念。Google的爬虫是帮助它发现和评估网站内容质量的工具,如果你的页面质量高且更新频率稳定,那么Google爬虫更可能频繁光顾。通常情况下,通过Google Search Console&…...
比例负载分配L(P);动态调整服务率:LDS
目录 比例负载分配L(P) 动态调整服务率:LDS 速度缩放技术 比例负载分配L(P) 优点 简单直观:其调度器按照服务器服务率倒数比例分配负载,这种方式易于理解和实现,不需要复杂的计算和调整机制。例如,在一个小型企业内部的简单云计算环境中,若服务器配置相对单一且任务类型…...
C++ ——— 类的 6 个默认成员函数之 构造函数
目录 何为默认成员函数 一、构造函数 构造函数的概念 构造函数的特性 日期类的构造函数 栈的构造函数 编译器自动生成的构造函数 总结 何为默认成员函数 默认成员函数就是用户没有显示实现,但是编译器会自动生成的成员函数称为默认成员函数 一、构造函数 …...
win11 恢复任务栏copilot图标, 亲测有效
1、修改C:\Windows\System32\IntegratedServicesRegionPolicySet.json,解除中国不能使用copilot的限制。 使用Notepad搜索copilot全文搜索,将下面两处的“CN,”删除,删除后如下: {"$comment": "Show Copilot on t…...
计算机网络-IPSec VPN工作原理
一、IPSec VPN工作原理 昨天我们大致了解了IPSec是什么,今天来学习下它的工作原理。 IPsec的基本工作流程如下: 通过IKE协商第一阶段协商出IKE SA。 使用IKE SA加密IKE协商第二阶段的报文,即IPsec SA。 使用IPsec SA加密数据。 IPsec基本工作…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
