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

Day15:关于MySQL的编程技术——基础知识

 

前言:先创建一个练习的数据库和数据

1.创建数据库并创建数据表的基本结构

-- 创建练习数据库
CREATE DATABASE db_programming;
USE db_programming;-- 创建员工表(包含各种数据类型)
CREATE TABLE employees (emp_id INT PRIMARY KEY AUTO_INCREMENT,emp_name VARCHAR(20) NOT NULL,salary DECIMAL(10,2) DEFAULT 0.00,hire_date DATE
);

  2.导入实例数据 

-- 插入测试数据
INSERT INTO employees (emp_name, salary, hire_date) VALUES
('张三', 8000.00, '2020-01-15'),
('李四', 7500.00, '2021-03-20'),
('王五', NULL, '2022-05-10');

一、常量和变量

1.常量

SELECT 100 AS int_const, PI() AS math_const, 'Hello' AS str_const;

2.变量

1.用户变量

SET @user_var = 100;
SELECT @user_var := salary FROM employees WHERE emp_id = 1;

2.系统变量

SELECT @@version AS mysql_version, @@character_set_server AS charset;

3.局部变量

DELIMITER $$
CREATE PROCEDURE var_demo()
BEGINDECLARE local_var INT DEFAULT 10;SET local_var = local_var * 2;SELECT local_var;
END$$
DELIMITER ;
CALL var_demo();

二、系统内置函数

1.数学函数

SELECT ABS(-10), ROUND(3.1415,2), CEIL(2.3), RAND();

2.字符串函数

SELECT CONCAT(emp_name, '-', emp_id) AS name_id,SUBSTRING(emp_name, 1, 1) AS first_char,REVERSE(emp_name) AS reversed_name
FROM employees;

3.日期和时间函数

SELECT NOW() AS current_time,DATEDIFF(NOW(), hire_date) AS work_days
FROM employees;

4.其他函数

SELECT IFNULL(salary, 0) AS actual_salary,VERSION(),DATABASE()
FROM employees;

三、流程控制语句

1.顺序语句

1.BEGIN | END语句块

DELIMITER $$
CREATE PROCEDURE salary_adjust()
BEGINSTART TRANSACTION;UPDATE employees SET salary = salary * 1.1;COMMIT;
END$$
DELIMITER ;

2.DELIMITER命令

2.分支语句

1.IF语句

DELIMITER $$
CREATE FUNCTION get_grade(salary DECIMAL) RETURNS VARCHAR(10)
BEGINIF salary > 8000 THEN RETURN '高薪';ELSEIF salary > 5000 THEN RETURN '中薪';ELSE RETURN '基础';END IF;
END$$
DELIMITER ;

2.CASE语句

SELECT emp_name,CASE WHEN salary IS NULL THEN '未定薪'WHEN salary > 8000 THEN '高薪'ELSE '常规薪资'END AS salary_level
FROM employees;

3.循环语句

1.WHLER语句

DELIMITER $$
CREATE PROCEDURE while_demo()
BEGINDECLARE total INT DEFAULT 0;DECLARE i INT DEFAULT 1;WHILE i <= 5 DOSET total = total + i;SET i = i + 1;END WHILE;SELECT total;
END$$
DELIMITER ;

2.PEPEAT语句

DELIMITER $$
CREATE PROCEDURE repeat_demo()
BEGINDECLARE total INT DEFAULT 0;DECLARE i INT DEFAULT 1;REPEATSET total = total + i;SET i = i + 1;UNTIL i > 5 END REPEAT;SELECT total;
END$$
DELIMITER ;

3.LOOP语句

DELIMITER $$
CREATE PROCEDURE loop_demo()
BEGINDECLARE fact INT DEFAULT 1;DECLARE n INT DEFAULT 5;factorial: LOOPSET fact = fact * n;SET n = n - 1;IF n = 0 THENLEAVE factorial;END IF;END LOOP;SELECT fact;
END$$
DELIMITER ;

额。。。小累,明天再优化。

相关文章:

Day15:关于MySQL的编程技术——基础知识

前言&#xff1a;先创建一个练习的数据库和数据 1.创建数据库并创建数据表的基本结构 -- 创建练习数据库 CREATE DATABASE db_programming; USE db_programming;-- 创建员工表&#xff08;包含各种数据类型&#xff09; CREATE TABLE employees (emp_id INT PRIMARY KEY AUTO…...

wsl下编译eXosip和osip库(Ubuntu 22.04)

1.下载eXosip和osip osip下载路径 Index of /mirror/gnu.org/savannah/osip eXosip下载路径 Index of /nongnu/exosip 我选的osip和eXosip版本为 5.2.0 2.编译osip库 tar -zxvf libosip2-5.2.0.tar.gz cd libosip2-5.2.0 ./configure make make install 在编译…...

《轨道力学导论》——第九章:轨道确定与导航

第九章 轨道确定与导航 引言 轨道确定与导航是轨道力学中最为核心的实践领域之一&#xff0c;它将理论与实际应用紧密结合&#xff0c;解决了"我们在哪里"以及"我们将去向何方"这两个航天活动中最基本的问题。无论是地球轨道上的人造卫星、飞向深空的探测…...

几何与游标

在arcgis中,数据组织方式如下 数据库(datasets): 要素类(feature class): 几何(geometry) 属性(attribute) 元数据(metadata) 游标: 查询游标:用于对数据进行查询的游标 arcpy.da.SearchCursor() 作用&#xff1a;用于对数据进行只读查询操作。它可以帮助你逐行读取数据表或…...

【使用jenkins+docker自动化部署java项目】

背景: 有A(打包机129)&#xff0c;B(游戏服130) 2个机器&#xff0c;他们都安装有docker&#xff0c;请完成部署。 一、准备好java项目&#xff0c;写好Dockerfile # 基础镜像&#xff0c;使用包含 JDK 17 的 OpenJDK 镜像 FROM openjdk:17-jdk-slim# 设置工作目录 WORKDIR /…...

Vue3+Element Plus如何实现左树右表页面案例:即根据左边的树筛选右侧表功能实现

文章目录 一、最终效果二、源代码2.1 AddDataSource.vue2.2 LeftTree.vue2.3 FieldDrawer.vue2.4 RightTable.vue2.5 Emp.vue 三、代码解读3.1 AddDataSource.vue —— 数据源新增对话框3.2 LeftTree.vue —— 数据源树视图3.3 FieldDrawer.vue —— 字段详情抽屉3.4 RightTabl…...

Redisson的红锁,分段锁,公平锁,联锁。。。。。。

红锁&#xff1a;Redisson红锁可以防止主从集群锁丢失问题。Redisson红锁要求&#xff0c;必须要构建至少三个Redis主从集群&#xff0c;若一个请求要申请锁&#xff0c;必须向所有主从集群中提交key写入请求&#xff0c;只有当大多数集群&#xff08;过半集群&#xff09;锁写…...

system V 共享内存

system V是一种标准&#xff0c;linux内核支持这种标准&#xff0c;专门设计了一个ipc模板(通信的接口设计&#xff0c;原理&#xff0c;接口&#xff0c;相似性) 使用各自的虚拟地址访问物理内存 共享内存描述共享内存的内核数据结构它所对应的物理空间 进程间通信的本质&…...

ResNet改进(27):融合EfficientViT 高效混合网络设计

在计算机视觉领域,卷积神经网络(CNN)和视觉Transformer(ViT)各有优势。 今天分享的是一种将两者巧妙结合的方案——在ResNet18基础上引入轻量化ViT模块的设计思路。 整体架构概览 这个混合网络主要由三部分组成: ResNet18骨干网络:作为特征提取器,去掉了原模型的平均池化…...

字符串与栈和队列-算法小结

字符串 双指针 反转字符串(双指针) 力扣题目链接 void reverseString(vector<char>& s) {for (int i 0, j s.size() - 1; i < s.size()/2; i, j--) {swap(s[i],s[j]);} }反转字符串II 力扣题目链接 遍历字符串的过程中&#xff0c;只要让 i (2 * k)&#…...

go语言学习笔记:gin + gorm + mysql 用户增删改查案例入门

大家好&#xff0c;我是此林。 Golang 语言现在已经成为了编程的趋势&#xff0c;毕竟是大厂背书嘛&#xff0c;Google 研发的。 目前很多云原生项目都是基于 go 来编写的&#xff0c;比如&#xff1a; Kubernetes (K8s)​ 容器编排系统&#xff0c; Docker​ 容器化技术&…...

设计模式——建造者模式(生成器模式)总结

当我们需要创建一个非常复杂的对象时&#xff0c;可以使用建造者模式&#xff0c;分步骤建造一个对象&#xff0c;最后将完整的对象返回给客户端。 比如&#xff0c;我们要生成一个房子对象&#xff0c;建造一个房子&#xff0c;需要打地基、盖围墙、盖地板、安装门、安装窗户…...

Nginx代理Minio出现AccessDeniedAccessDenied

一、问题描述 AccessDeniedAccessDenied.sight.jpgmediafiles/mediafiles/sight.jpg1835E50603CB8FE0dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8 二、问题排查 &#xff08;1&#xff09;minio 和 nginx 是否正常启动 &#xff08;2&#xff09;检…...

在ArcGIS Pro中将栅格NoData值修改为特定值

目录 问题如下&#xff1a;栅格文件中NoData值为65535&#xff0c;要将该NoData值修改为-9999 步骤一&#xff1a;使用栅格计算器&#xff08;Raster Calculator&#xff09;输出具有新NoData值的栅格文件 步骤二&#xff1a;输出修改值后的栅格文件&#xff08;Export Rast…...

模糊表示学习 笔记

图表示学习通常从图的拓扑结构和高维节点属性中产生低维和清晰的表示。然而&#xff0c;节点或图的清晰表示实际上隐藏了特征的不确定性和可解释性。例如&#xff0c;在引文网络中&#xff0c;两篇论文之间的引用总是涉及表示相关度的future&#xff0c;也就是说&#xff0c;一…...

GitHub 趋势日报 (2025年04月12日)

本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ &#x1f4c8; 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1yeongpin/cursor-free-vip[Support 0.48.x]&#xff08;Reset Cursor AI MachineID & Auto Sign Up / In & Bypass Higher…...

FreertosHAL库笔记

堆和栈 堆&#xff1a;一块内存空间&#xff0c;用于存储程序运行时动态申请的内存空间。在堆上分配内存可以根据程序的需要灵活地申请和释放不同大小的内存块。可用pvProMalllloc()和vPortFree()函数来开辟和释放 栈&#xff1a;也是一块内存空间&#xff0c;主要用于函数调用…...

迷你世界脚本之容器接口:WorldContainer

容器接口&#xff1a;WorldContainer 彼得兔 更新时间: 2023-04-26 10:21:02 具体函数名及描述如下: 序号 函数名 函数描述 1 addFurnace(...) 新增熔炉 2 removeFurnace(...) 移除熔炉 3 checkFurnace(...) 检测是否为熔炉 4 getFurnaceHeatPerce…...

springboot框架集成websocket依赖实现物联网设备、前端网页实时通信!

需求&#xff1a; 最近在对接一个物联网里设备&#xff0c;他的通信方式是 websocket 。所以我需要在 springboot框架中集成websocket 依赖&#xff0c;从而实现与设备实时通信&#xff01; 框架&#xff1a;springboot2.7 java版本&#xff1a;java8 好了&#xff0c;还是直接…...

【linux知识】web服务环境搭建(一):用户以及开发环境初始化

toc 创建用户组以及用户 以下是 创建用户组 wendao 和用户 wendao 并指定 GID、UID 及家目录 的完整操作指南&#xff1a; 一、创建用户组&#xff08;指定 GID&#xff09; sudo groupadd -g 1500 wendao # 创建组并指定 GID 为 1500• 注意&#xff1a;GID 需唯一&#…...

消息中间件——RocketMQ(一)

前言&#xff1a;此篇文章系本人学习过程中记录下来的笔记&#xff0c;里面难免会有不少欠缺的地方&#xff0c;诚心期待大家多多给予指教。 RocketMQ&#xff08;一&#xff09; 一、MQ出现的背景 在传统的单体应用架构中&#xff0c;系统的各个模块紧密耦合在一起。随着业务…...

[oeasy]python087_[词根溯源]suspend词源_append_depend

087_[词根溯源]suspend词源_append [词根溯源]suspend词源_append_depend 回忆上次内容 上次了解了 方法 和 函数的 不同之处 方法(method) 函数(function) 需要对象调用 无需对象调用 可以根据 名字调用 无需名字 直接调用 基于类的对象 独立的 需要self 不需要self…...

Ubuntu 安装 Cursor AppImage 到应用程序中

如果 Cursor AppImage 安装到 Ubuntu 系统中&#xff08;而不是每次手动运行 .AppImage 文件&#xff09;&#xff0c;可以按照以下方法操作&#xff1a; 方法 1&#xff1a;直接运行 AppImage&#xff08;最简单&#xff0c;但不完全“安装”&#xff09; 赋予执行权限chmod …...

二叉树 --- 堆(下)

今天我们来把堆完结了。 对于一个高度为 h 的满二叉树&#xff0c;有 F(h) 2 ^ 0 2 ^ 1 …… 2 ^ (h - 1) 2 ^ h - 1 h log2 (N1) 对于一个高度为 h 的完全二叉树&#xff0c;且最后一层只有一个 &#xff0c;则 F(h) 2 ^ 0 2 ^ 1 …… 2 ^ (h - 2) 1 2 ^ (h -…...

数组对象[object],五种如何去重方法 js

前言 数组有很多方法都可以实现去重。本章分享比较常用的。 准备工作 准备一组数组对象 let arr [{ id: "1", name: "张晓", age: 14 },{ id: "2", name: "张晓", age: 14 },{ id: "3", name: "张晓", age: 1…...

PyRoboPlan 库,给 panda 机械臂微分 IK 上大分,关节限位、碰撞全不怕

视频讲解&#xff1a; PyRoboPlan 库&#xff0c;给 panda 机械臂微分 IK 上大分&#xff0c;关节限位、碰撞全不怕 代码仓库&#xff1a;https://github.com/LitchiCheng/mujoco-learning 今天分享PyRoboPlan库&#xff0c;比之前的方式优点在于&#xff0c;这个库考虑了机械…...

【模态分解】EMD-经验模态分解

算法配置页面&#xff0c;也可以一键导出结果数据 报表自定义绘制 获取和下载【PHM学习软件PHM源码】的方式 获取方式&#xff1a;Docshttps://jcn362s9p4t8.feishu.cn/wiki/A0NXwPxY3ie1cGkOy08cru6vnvc...

Sentinel规则持久化pull模式核心源码解析

文章目录 前言一、服务端新增/修改规则1.1、repository.save1.2、publishRules 二、客户端接收规则三、持久化扩展3.1、持久化原理3.1.1、FileRefreshableDataSource3.1.1.1、super关键字3.1.1.2、firstLoad()方法 3.1.2、FlowRuleManager.register2Property 3.2、持久化实现 总…...

【go】--编译

go build -o [编译完成的可执行文件] [需要编译的.go文件]#例如 go build -o myapp main.go#确保编译的结果和当前运行环境相同 #查看arch uname -a在 Linux 中查看和修改 GOOS 和 GOARCH 环境变量&#xff1a; 1. 查看当前 Go 环境变量 # 查看所有Go相关的环境变量 go env# …...

【Spring底层分析】Spring IoC

Spring IoC IoC&#xff1a;控制反转。将对象创建和对象之间的调用交给Spring容器来管理。好处是降低了对象之间的耦合度。 DI&#xff1a;依赖注入。给bean对象注入依赖的对象。 大白话就是&#xff1a;Spring帮你创建对象&#xff0c;对象的属性如果依赖于某个对象&#xf…...

Ubuntu系统进程管理

在Ubuntu系统中&#xff0c;进程管理是系统维护和性能调优的重要部分。以下是关键命令和技巧的总结&#xff0c;帮助你有效管理系统进程&#xff1a; 1. 查看进程 ps 命令&#xff1a;查看当前进程快照。 bash ps aux # 查看所有运行中的进程&#xff08;a所有用户…...

HDU2196 Computer 树形DP

原题链接 既然要查找每个节点的最远到达距离&#xff0c;由于该图是个树&#xff0c;我们就找从根节点向下遍历方向的终点的距离与先返回父节点再从最优的父节点沿着原来的方向的终点的距离的最大值 如图所示 也就是说&#xff0c;我们需要获得当前点的正距离最大值和正距离最…...

【第四十周】文献阅读:用于检索-增强大语言模型的查询与重写

目录 摘要Abstract用于检索-增强大语言模型的查询与重写研究背景方法论基于冻结LLM的重写方案基于可训练重写器的方案重写器预热训练&#xff08;Rewriter Warm-up&#xff09;强化学习&#xff08;Reinforcement Learning&#xff09; 创新性实验结果局限性总结 摘要 这篇论文…...

Istio常用命令

Istio常用命令 1. 安装和配置2. Sidecar 注入3. 验证和状态4. 升级和卸载5. 故障排除6. 配置管理 istioctl 的常用命令及其详细说明&#xff1a; 1. 安装和配置 安装 Istio # 使用指定的配置文件&#xff08;如 demo&#xff09;安装 Istio 到 Kubernetes 集群。 istioctl m…...

Linux基础15

一、网络模型 二、eNSP模拟器 拖拽操作建立模拟网络环境 交换机视图操作&#xff1a; <> 用户视图 [] 系统视图 接口视图 协议视图 ​ display version #显示版本和设备型号 ​ display current-configuration #查看设备配置(查错) ​…...

FISCO BCOS群组扩容实战指南:从原理到操作全解析

引言&#xff1a;为什么需要群组扩容&#xff1f; 在区块链技术迅猛发展的今天&#xff0c;企业级应用对区块链平台提出了更高的要求。"如何在不影响现有业务的情况下扩展区块链处理能力&#xff1f;"、"能否实现不同业务数据的物理隔离&#xff1f;"、&qu…...

【pytorch图像视觉】lesson17深度视觉应用(上)构建自己的深度视觉项目

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、 数据1、认识经典数据1.1入门数据&#xff1a;MNIST、其他数字与字母识别&#xff08;1&#xff09;数据加载&#xff08;2&#xff09;查看数据的特征和标…...

从“被动跳闸”到“主动预警”:智慧用电系统守护老旧小区安全

安科瑞顾强 近年来&#xff0c;老旧小区电气火灾事故频发&#xff0c;成为威胁居民生命财产安全的重要隐患。据统计&#xff0c;我国居住场所火灾伤亡人数远超其他场所&#xff0c;仅今年一季度就发生8.3万起住宅火灾&#xff0c;造成503人遇难。这些建筑多建于上世纪&#x…...

2.1 全栈运维管理:Proxmox VE单节点配置桥接、VLAN和Bonding的详细实验指南

本文是Proxmox VE 全栈管理体系的系列文章之一&#xff0c;如果对 Proxmox VE 全栈管理感兴趣&#xff0c;可以关注“Proxmox VE 全栈管理”专栏&#xff0c;后续文章将围绕该体系&#xff0c;从多个维度深入展开。 概要&#xff1a;本文介绍 Proxmox VE 单节点网络配置。桥接基…...

docker面试题

1.docker网络 Docker网络是Docker容器之间进行通信的关键功能。Docker提供了多种网络模式和驱动&#xff0c;以满足不同的网络需求。以下是Docker网络的详细介绍&#xff1a; 1.Docker网络模式 Docker提供了以下几种网络模式&#xff0c;每种模式适用于不同的场景&#xff1a;…...

计算机视觉——基于YOLOV8 的人体姿态估计训练与推理

概述 自 Ultralytics 发布 YOLOV5 之后&#xff0c;YOLO 的应用方向和使用方式变得更加多样化且简单易用。从图像分类、目标检测、图像分割、目标跟踪到关键点检测&#xff0c;YOLO 几乎涵盖了计算机视觉的各个领域&#xff0c;似乎已经成为计算机视觉领域的“万能工具”。 Y…...

【本地图床搭建】宝塔+Docker+MinIO+PicGo+cpolar:打造本地化“黑科技”图床方案

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言宝塔安装DockerMinIO 安装与设置cploar内网穿透PicGo下载与安装typora安装总结互动…...

【家政平台开发(41)】家政平台性能蜕变:性能测试与优化全解析

本【家政平台开发】专栏聚焦家政平台从 0 到 1 的全流程打造。从前期需求分析,剖析家政行业现状、挖掘用户需求与梳理功能要点,到系统设计阶段的架构选型、数据库构建,再到开发阶段各模块逐一实现。涵盖移动与 PC 端设计、接口开发及性能优化,测试阶段多维度保障平台质量,…...

监控docker中的java应用

1)进入指定的容器 docker exec -it demo /bin/bash 2)下载curl root89a67e345354:/# apt install curl -y 3)下载arthas root89a67e345354:/# curl -O https://arthas.aliyun.com/arthas-boot.jar 4)运行 root89a67e345354:/# java -jar arthas-boot.jar 5)监控 […...

Android游戏辅助工具开发详解

文章目录 第一部分&#xff1a;概述与基础准备1.1 游戏辅助工具的定义与用途1.2 开发环境准备1.3 项目创建与配置 第二部分&#xff1a;核心功能实现2.1 屏幕点击功能实现2.1.1 基础点击功能2.1.2 多点触控实现 2.2 滑动功能实现2.2.1 基础滑动功能2.2.2 曲线滑动实现 2.3 屏幕…...

重生之外卖配送时被投诉后的反思

重生之外卖配送时被投诉后的反思 写苍穹外卖时 我们发现在每一次调用sql语句时 insert update语句总会需要在service的实现类里加入例如create_time,create_user , update_time , update_user的填充 每次赋值都要重新编写代码&#xff0c;会造成代码冗余 &#xff1b; 序号字…...

计算机基础复习资料整理

计算机基础复习资料整理 一、操作系统 &#xff08;一&#xff09;定义 操作系统&#xff08;Operating System&#xff0c;OS&#xff09;是介于计算机硬件和用户&#xff08;程序或人&#xff09;之间的接口。作为通用管理程序&#xff0c;它管理计算机系统中每个部件的活动…...

Profibus DP主站网关数据映射全解析!

Profibus DP主站网关数据映射全解析&#xff01; 在工业自动化领域&#xff0c;Profibus DP主站网关作为一种关键的通讯设备&#xff0c;其数据映射的精准度和效率对整个控制系统的性能有着至关重要的影响。本文旨在深入探讨Profibus DP主站网关的数据映射过程&#xff0c;揭示…...

ocr-不动产权识别

目录 一、在阿里云申请ocr识别服务 二、创建springboot项目 三、后续 一、在阿里云申请ocr识别服务 在线体验&#xff1a;房产证图片上传 [阿里官方]不动产权证OCR文字识别_API专区_云市场-阿里云 (aliyun.com) 可以选择一毛500次这个 当然也可以白嫖100 下面有个在线调试…...

leetcode 198. House Robber

本题是动态规划问题。 第一步&#xff0c;明确并理解dp数组以及下标的含义 dp[i]表示从第0号房间一直到第i号房间(包含第i号房间)可以偷到的最大金额&#xff0c;具体怎么偷这里不考虑&#xff0c;第i1号及之后的房间也不考虑。换句话说&#xff0c;dp[i]也就是只考虑[0,i]号…...