[从零开始学数据库] 基本SQL
注意我们的主机就是我们的Mysql数据库服务器 这里我们可以用多个库
SQL分类(核心是字段的CRUD)
重点是我们的对表中字段的crud(特别是我们的查询 注意多表查询 条件查询 分页查询(插件)等)
javase? mysql
DDL:库 表 字段管理
这里我们看的懂就可以DDL-数据库操作
注意这里我们的[] 就代表是可写可不写
if not exists:存在则创建 不存在则不创建
字符集:utf8mb4 等(通常不写)
DDL-表操作-查询
使用表操作需要先使用use database(库–>表–>字段)
对应我们表的管理操作我们的图形化界面就可以了
DDL-表操作-创建
这里就使用了我们的图形化界面可以一键创建对应的表结构(字段 字段类型 字段的约束等(如唯一 主键 自增等))
我们的表创建出来 怎么和表中的字段交互(SQL+mybatis 对应了我们的entity+vo等 看我们的ssm+项目)
DDL-表操作-数据类型
(看重点)MySQL中的数据类型主要分为三类:数值类型,字符串类型,日期时间类型
数值类型
注意我们的unsigned
常用: tinyint int double decima (unsigned)
(现在一般使用图形化界面)这里我们的double数据类型 需要指定两个参数 xxx double(a,b)
a:小数总位数 b:小数的占用位数
(和我们java中对应 集合只能存包装类 integer Long Double)
字符串类型
char性能高,varchar性能较差(时间换空间)
char:定长 如果我们使用的长度没有达到我们定义的长度 会使用空格补充
varchar:变长 存储多少占用多少空间 但是超过了我们定义的长度会扩容再复制 然后使用的时候会先计算长度
eg:苍穹 定义性别就使用了我们的char存储sex
(这里我们的mybatis就对应了我们的Localdate 和Localdatetime 对应上了mysql中的date和datetime)
看date datetime
DDL-表操作-修改
这里是添加我们的字段
DDL-表操作-删除
使用truncate后,数据库会删除原表并创建一张不含数据的空表
DML(核心 表数据CRUD)
(因为mysql的本质是二维表 这里我们就使用条件精确到单行)DML全称是Data Manipulation Language(数据操作语言), 用来对数据库中表的数据记录进行增删改操作
idea图形化界面 来理解我们的查询!!!(去我们的苍穹来学) 我们就用idea内置的连接数据库的(和dategrip一样)
DML-添加数据
注意这里我们的插入非批量就插入一个
分清楚这里批量和指定
DML-修改数据
注意这里我们的动态SQL本质优化了 这里我们的项目表通常是怎么设计的
DQL(核心)
(注意mybatis有驼峰命名选项)DQL全称是Data Query Language(数据查询语言),用来查询数据库中表的记录
列表:对应多个的意思 如条件列表就是多个条件
熟悉从基础的查询语句到各种细致的查询语句(查询语句的各个部分可以组成一个复杂仔细的查询语句)
DQL-基础查询(别名)
as可省略(通常我们就直接省略 直接起表/字段的别名 然后用.判断对应的属性 这样我们控制台获得的就是别名对应的字段) 我们起别名本质是为了区分
我们给表起了别名就不能使用原先的表名 只能使用别名来访问对应的字段
并且我们配合mybatis是用别名返回封装(如两个表都有name这个字段 我们实体类只有一个name 则可以将一个字段起别名然后封装到实体类对应的同名属性)
不建议使用*****,因为会影响效率,并且不直观
这里我们的去重可以单独对一个字段处理
DQL-条件查询(核心是过滤我们查询的表 成一个符合条件的新表)
看我们的执行顺序理解 我们的查询几次注意我们的条件有很多
这里我们的模糊查询就使用了like+concat %占位符 (%代表匹配任意字符)
这里我们就使用了like模糊查询 concat函数是为了凭借我们的字符这里使用凭借是因为我们要使用#{} 来读我们的属性
between之后的是最小值
注意in()是在列表里面之一都可以
多个条件就用逻辑运算符组装起来
DQL-聚合函数
**聚合函数将一列函数作为一个整体,进行纵向计算(注意我们的聚合函数是作用于我们表中的某一列(字段/字段列表就是作用于我们的全部字段)的)**注:null值不参与所有聚合函数的运算
DQL-分组查询
注意我们先执行where 查询到的再group by 然后再having分组
聚合函数也得等where初步筛选
<font style="color:rgb(0, 0, 0);">GROUP BY</font>
子句会按照指定列的值对数据进行分组。也就是说,该列中值相同的行就会被归为同一组。
(这样就会出现同一组的其他字段值无规律 这样我们通常就还会查询 分组字段配合聚合函数)
这样我们就可以使用聚合函数去配合对应的组处理
注意这里我们查询无关字段 也是只会显示第一个字段值
注意我们的表设计是和我们的业务相关
DQL-排序查询
asc为默认值,可省略
通常我们只依靠单字段排序我们的行
DQL-分页查询
我们实际开发通常都是使用我们的pagehelper插件
DQL-执行顺序(*)
from -> where(>聚合) -> group by -> select -> order by(having) -> limit
(这解释了为什么我们给表起别名 我们select的时候就可以使用别名了 但是我们的字段别名不能在我们的where条件使用)
什么表–>什么条件–>怎么分组–>查什么字段–>怎么排序
DCL
DCL全称Data Control Language(数据控制语言), 用来管理数据库用户,控制数据库的访问权限(我们不用关心)
DCL-用户管理
-- 创建用户 itcast ,只能够在当前主机localhost访问,密码123456
create user 'itcast'@'localhost' identified by '123456';
-- 创建用户 heima ,可以在任意主机访问该数据库,密码123456
create user 'heima'@'%'identified by'123456';
-- 修改用户 heima 的访问密码为 1234
alter user'heima'@'%' identified with mysql_native_password by '1234';
DCL-权限控制
相关文章:
[从零开始学数据库] 基本SQL
注意我们的主机就是我们的Mysql数据库服务器 这里我们可以用多个库 SQL分类(核心是字段的CRUD)  重点是我…...
uniapp开发android原生插件-java版本
一、uniapp官方文档 uni原生插件文档 二、开发流程 1、检测本地uniapp的版本号 2、根据版本号,下载uni提供的对应android的sdk对应demo 下载地址:Android 离线SDK - 正式版 | uni小程序SDK 下载文件后,复制出UniPlugin-Hello-ASÿ…...
git在IDEA中使用技巧
git在IDEA中使用技巧 merge和rebase 参考:IDEA小技巧-Git的使用 git回滚、强推、代码找回 参考:https://www.bilibili.com/video/BV1Wa411a7Ek?spm_id_from333.788.videopod.sections&vd_source2f73252e51731cad48853e9c70337d8e cherry pick …...
DeepSeek 接入 Excel 完整教程
一、前期准备 1.1 获取 DeepSeek API 密钥 注册 DeepSeek 平台 访问 DeepSeek 官方网站(或指定的 API 服务平台,如硅基流动等)。若尚未注册,按照平台指引创建新账号并完成登录。 创建 API 密钥 进入用户控制面板,找到…...
【项目管理】第15章 项目风险管理-- 知识点整理
项目管理-相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 (一)知识总览 项目管理知识域 知识点: (项目管理概论、立项管理、十大知识域、配置与变更管理、绩效域) 对应:第6章-第19章 第6章 项目管理概论 4分第13章 项目资源管理 3-4分第7章 项目…...
如何将自己的项目推送到GitHub上面去
将项目推送到GitHub的流程总结 以下是将本地项目推送到GitHub仓库的完整流程: 1. 初始化Git仓库(如果尚未初始化) cd 项目目录 git init2. 配置远程仓库 # 添加远程仓库地址 git remote add origin https://github.com/用户名/仓库名.git…...
C/C++基础
C开发环境 纯语言开发要求:CIDE。 极简C/C 语法规则 仅记原始规则,把握编程的本质,不做孔乙己,要做说干就干的平头哥。 原始的规则: 各“语法单位”(组成部分)使用任意个(至少1个…...
Qt炫酷仪表盘
Qt学习优化的一款汽车仪表控件,根据github上面开源的进行优化,主要使用QPainter实现的一款炫酷仪表盘,其中的渐变效果比较有感觉 实现结果 仪表盘 实现源码 h文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPixmap> #include <QTimer&…...
云渗透一(云租户渗透⼊⻔)
云平台介绍 阿⾥云 阿⾥云创⽴于 2009 年,服务着制造、⾦融、政务、交通、医疗、电信、能源等众多领域的领军企业,包 括中国联通、12306 、中⽯化、中⽯油、⻜利浦、华⼤基因等⼤型企业客户,以及微博、知乎、锤⼦科技 等明星互联⽹公司。 应⽤程序访问令牌 - T1527 云实例…...
R绘图|6种NMDS(非度量多维分析)绘图保姆级模板——NMDS从原理到绘图,看师兄这篇教程就够了
感谢西农听雨同学对本文提供的大力支持! 一、引言 非度量多维尺度分析(NMDS)是一种用来简化复杂数据的工具,特别适合处理那些难以直接理解的高维数据(微生物群落数据)。它的主要目的是把数据“压缩”到更低…...
spark-SQL核心编程
1. Spark-SQL简介 起源与发展:Spark-SQL前身为Shark,因对Hive依赖制约Spark发展而被弃用。它汲取Shark优点重新开发,在数据兼容、性能优化和组件扩展方面表现出色。 特点:易整合,统一数据访问,兼容Hive&…...
使用MCP服务通过自然语言操作数据库(vscode+cline版本)
使用MCP服务操纵数据库(vscodecline版本) 本文主要介绍,在vscode中使用cline插件调用deepseek模型,通过MCP服务器 使用自然语言去操作指定数据库。本文使用的是以己经创建号的珠海航展数据库。 理解MCP服务: MCP(Model Context…...
.NET Core DI(依赖注入)的生命周期及应用场景
在.NET中,依赖注入(DI,Dependency Injection)是一种设计模式,它通过将依赖关系注入到类中,而不是让类自己创建依赖项,来降低类之间的耦合度。这使得代码更加模块化、灵活和易于测试。在.NET中&a…...
VSCode写java时常用的快捷键
首先得先安好java插件 1、获取返回值 这里是和idea一样的快捷键的,都是xxxx.var 比如现在我new一个对象 就输入 new MbDo().var // 点击回车即可变成下面的// MbDo mbDo new MbDo()//以此类推get方法也可获取 mbDo.getMc().var // 点击回车即可变成下面的 // St…...
Java微服务流量控制与保护技术全解析:负载均衡、线程隔离与三大限流算法
在微服务架构中,流量控制与系统保护是保障服务高可用的核心要素。本文将深入剖析负载均衡原理、线程隔离机制,并通过Java代码实例详解滑动窗口、漏桶、令牌桶三大限流算法,帮助开发者构建健壮的分布式系统。 一、负载均衡核心原理与实践 1.1 …...
Java 企业级应用:SOA 与微服务的对比与选择
企业级应用开发中,架构设计是决定系统可扩展性、可维护性和性能的关键因素。SOA(面向服务的架构)和微服务架构是两种主流的架构模式,它们各自有着独特的和设计理念适用场景。本文将深入探讨 SOA 和微服务架构的对比,并…...
Nacos深度剖析与实践应用 -1
📹 Nacos背景 在现在数字化快速发展的时代🚄,微服务架构已成为构建大型分布式系统的主流架构模式。随着微服务数量的不断增加,服务之间的通信、配置管理以及服务的高可用性等问题变得愈发复杂。Nacos 作为阿里巴巴开源的一个动态服…...
WinForm真入门(16)——LinkLabel 控件详解
以下是 WinForm 中 LinkLabel 控件的基本概念、核心属性、事件及典型应用案例的总结: 一、基本概念 LinkLabel 是 WinForm 中用于显示超链接文本的控件,继承自 Label,支持单链接或多链接区域。用户点击链接时可触发自定义行为࿰…...
功能丰富的PDF处理免费软件推荐
软件介绍 今天给大家介绍一款超棒的PDF工具箱,它处理PDF文档的能力超强,而且是完全免费使用的,没有任何限制。 TinyTools(PC)这款软件,下载完成后即可直接打开使用。在使用过程中,操作完毕后&a…...
【MySQL高级】事务,存储引擎,索引(一)
Mysql高级 DQL查询语句 反引号 模糊查询避免%出现在开头,会造成索引失效 order by排序先后 表名列名都需要用${},他们不能带’’ 去重统计数量 null的运算 分组函数会自动忽略null,不用对null进行处理 截取子串substr(字段,下标…...
React 之 Redux 第三十二节 Redux 常用API及HOOKS,以及Redux Toolkit核心API使用详解
一、4.X版本中核心 API 和用途 1. createStore(reducer, [preloadedState], [enhancer]) 用途: 创建 Redux Store(数据仓库) 参数: reducer: 状态更新函数 preloadedState: 初始状态(可选) enhancer: 中间件增强器(如…...
react tailwindcss最简单的开始
参考教程: Install Tailwind CSS with Vite - TailwindCSS中文文档 | TailwindCSS中文网https://www.tailwindcss.cn/docs/guides/vite操作过程: Microsoft Windows [版本 10.0.26100.3476] (c) Microsoft Corporation。保留所有权利。D:\gitee\tailwi…...
波束形成(BF)从算法仿真到工程源码实现-第九节-延迟相减波束形成(delay sub)
一、概述 本节对delay sub算法进行仿真。更多资料和代码可以进入https://t.zsxq.com/qgmoN ,同时欢迎大家提出宝贵的建议,以共同探讨学习。 二、代码仿真 import numpy as np import soundfile as sf import scipy import matplotlib.pyplot as pltfft…...
系统假死问题排查
系统假死定义 应用进程存在,但是无法正常提供服务(请求没有响应,或者响应超时)。 系统假死原因 主要分为两大类:连接无法建立、请求无法处理,如下图所示: 系统假死的原因还是比较多的&…...
图像处理有哪些核心技术?技术发展现状如何?
在数字化信息爆炸的时代,文档图像预处理技术正悄然改变着我们处理文字信息的方式。无论是手持拍摄的收据、扫描仪中的身份证,还是工业机器人采集的复杂文档,预处理技术都在背后默默提升着OCR(光学字符识别)系统的性能。…...
解决在linux下运行rust/tauri项目出现窗口有内容,但是渲染出来成纯黑问题
起因 最近折腾了一下rust/tauri程序开发,据说这玩意性能非常牛皮就玩了一下,但是我运行打包一直出现一个奇怪问题,窗口能正常打开,但是是纯黑的什么内容都没有,鼠标移上去又发现指针会变换(看起来是内容又…...
计算机网络:流量控制与可靠传输机制
目录 基本概念 流量控制:别噎着啦! 可靠传输:快递必达服务 传输差错:现实中的意外 滑动窗口 基本概念 换句话说:批量发货排队验收 停止-等待协议 SW(发1份等1份) 超时重传:…...
vue2改变el-message字体、图标尺寸样式(vue2,element-ui)
前言 最近接手一个项目,vue2elementui的,产品觉得message的字体太小了,展示起来看不清,所以需求就是把message的字体和图标变大,实现路径如下: 找到自己的main.scss文件,并且加上对应内容: .e…...
【笔记ing】AI大模型-05单层感知机与多层感知机
单层感知机,是一种最简单的人工神经网络 输入层input layer,输入的样本特征 输出层output layer,输出的预测结果 权值W(w0,w1,w2,...,wn)^T,感知机的权值参数,其中的w0叫做偏置,也称截距,类似…...
分布式热点网络
核心设计理念: 在自然灾害(地震、洪水、台风)、极端环境(无人区)及网络管制(欠费停机)等场景下,传统中心化网络易因核心节点失效导致全局瘫痪。本方案提出构建去中心化设备网络&…...
为 docker 拉取镜像配置代理
为 Docker 配置代理,有 两个层面 的操作:(1) Docker 守护进程(用于拉取镜像等操作),(2) Docker 容器内部(容器内应用的网络流量)。 我们这篇文章着重于前者,以下是详细步骤ÿ…...
人工智能与云计算:技术融合与实践
1. 引言 人工智能(AI)和云计算是当今科技领域最具变革性的两项技术。AI通过模拟人类智能解决问题,而云计算则提供了弹性可扩展的计算资源。两者的结合创造了前所未有的可能性,使企业能够以更低的成本部署复杂的AI解决方案。 本文将探讨AI与云计算的技术融合,包括核心概念、…...
GIT的一些操作
git仓库迁移,包括所有分支和标签 git clone --mirror http://git./test-frontend.git test-frontend 克隆项目到 test-frontend文件夹下,--mirror 表示所有分支和标签 cd test-frontend 切到目录下 git remote add bd http://git./new-frontend.git …...
大模型——Crawl4AI入门指南
大模型——Crawl4AI入门指南 本快速入门指南介绍了Crawl4AI,涵盖了基本用法、先进功能(例如分块和提取策略)以及异步编程。用户将学习如何实现各种爬虫技术,包括截图、JSON提取和动态内容爬取。 1. 什么是Crawl4AI? Crawl4AI 是一个强大的异步网络爬虫库,旨在简化信息…...
48、Spring Boot 详细讲义(五)
3、集成MyBatis 3.1 MyBatis 概述 3.1.1 核心功能和优势 MyBatis 是一个 Java 持久层框架,它通过 XML 或注解配置 SQL 语句,将 Java 方法与 SQL 语句映射起来,消除了大量的 JDBC 代码,简化了数据库操作。MyBatis 的核心功能和优势包括: ORM(对象关系映射):通过 XML …...
设计模式-桥接模式
例如形状和颜色,如果这么设计? 将两个具有紧耦合的设计,使用组合,为桥接模式 客户端的代码: 抽象:形状是抽象; 实现:实现颜色的代码...
3.vtkProp 和vtkProp3D
文章目录 vtkProp 和vtkProp3D使用vtkProp3D使用vtkPro vtkProp 和vtkProp3D vtkProp 和 vtkProp3D 都是VTK(Visualization Toolkit)库中的类,它们用于在渲染场景中表示可视化元素。理解这两个类的区别和用途对于有效地使用VTK进行三维数据可…...
大模型之Transformers , PyTorch和Keras
Transformers、PyTorch 和 Keras 的对比 特性TransformersPyTorchKeras主要应用自然语言处理(NLP)任务计算机视觉、NLP、强化学习等快速原型设计和深度学习模型构建架构基于 Transformer 模型,强大的自注意力机制动态计算图,灵活的模型构建和调试高层次 API,简化模型开发,…...
云原生(Cloud Native)的详解、开发流程及同类软件对比
以下是云原生(Cloud Native)的详解、开发流程及同类软件对比: 一、云原生核心概念 定义: 云原生(Cloud Native)是基于云环境设计和运行应用程序的方法论,强调利用云平台的弹性、分布式和自动化…...
从文本到视频:基于扩散模型的AI生成系统全解析(附PyTorch实现)
当语言遇见动态视觉 "用文字生成电影场景"曾是科幻作品中的幻想,如今借助扩散模型(Diffusion Models)正逐步成为现实。本文将手把手带你实现一个创新的文本到视频生成系统,通过深度解析扩散模型原理,结合独…...
ES6学习04-数组扩展:扩展运算符、新增方法
一、扩展运算符 1. 2. eg: 3. 二、新增方法 1. arguments 元素组合 类似数组对象 2....
TiDB 部署指南(单机模式) CentOS 7 安装 MariaDB 教程
文章目录 TiDB 部署指南(单机模式)& CentOS 7 安装 MariaDB 教程简介TiDB 关键特性TiDB 单机部署步骤下载 TiDB 安装包校验文件完整性解压并进入目录启动 PD 服务启动 TiKV 服务启动 TiDB 服务使用 MySQL 客户端连接 TiDB CentOS 7 安装 MariaDB&…...
C++23 新特性:auto(x) 和 auto{x} 的衰变复制
文章目录 一、什么是衰变复制二、为什么引入衰变复制三、auto(x) 和 auto{x} 的区别四、使用场景1. 模板编程中的副本创建2. 避免引用失效3. 并发编程中的线程构造 五、性能考虑六、总结 在 C23 中, auto(x) 和 auto{x} 的引入为语言带来了新的便利性和灵活性。这…...
人工智能驱动的科研新范式及学科应用研究
人工智能(AI)驱动的科研新范式通过数据、算力、算法的深度耦合深度嵌入科学研究的全过程,引发科研流程、思考逻辑和组织模式的深刻变革。文章系统总结了AI驱动科研新范式的主要特征与形式,提出AI驱动科研新范式的演化方向由“科研…...
2025.04.14【Animation】| 动画式生信数据可视化
Cheatsheet base R A cheatsheet to remember a few chart parameters. 文章目录 Cheatsheet base R 动画式生信数据可视化:R语言中的动态图表详解1. R语言和数据可视化基础2. R中的ggplot2包3. R中的dplyr包4. R中的颜色和形状5. R中的动画包gganimate6. 生物信息…...
Kotlin作用域函数
在 Kotlin 中,.apply 是一个 作用域函数(Scope Function),它允许你在一个对象的上下文中执行代码块,并返回该对象本身。它的设计目的是为了 对象初始化 或 链式调用 时保持代码的简洁性和可读性。 // 不使用 apply va…...
SCP-Firmware安全通告:CVE-2024-11863和CVE-2024-11864
安全之安全(security)博客目录导读 目录 一、概述 二、CVE详情 三、受影响产品 四、修复建议 五、致谢 六、版本历史 一、概述 在SCP固件(SCP-Firmware)中发现两处安全漏洞,可能允许普通世界特权软件(normal world privileged softwareÿ…...
报错:Nlopt
报错:Nlopt CMake Error at TGH-Planner/fast_planner/bspline_opt/CMakeLists.txt:20 (find_package):By not providing "FindNLopt.cmake" in CMAKE_MODULE_PATH this project hasasked CMake to find a package configuration file provided by "…...
软考高级系统架构设计师-第12章 系统质量属性与架构评估
【本章学习建议】 根据考试大纲,本章不仅考查系统架构设计师单选题,预计考11分左右,而且案例分析和论文写作也是必考,对应第二版教材第8章,属于重点学习的章节。 12.1 软件系统质量属性 12.1.1 质量属性概念 软件系…...
RockyLinux9 部署 Zabbix7 完整步骤
一、Zabbix介绍 Zabbix 是企业级开源监控解决方案,支持实时监控数台服务器,虚拟机和网络设备,开源免费,官方手册 https://www.zabbix.com/documentation/7.0/zh/manual 二、RockyLinux9部署Zabbix 1、进入到相对的系统下&#…...