MySQL(基础篇)——函数、约束
一.函数
1.定义
函数是指一段可以直接被另一段程序调用的程序或代码。
2.字符串函数
常见如下:

-- 字符串拼接
SELECT CONCAT('hello','MySql') AS CONCAT
-- 将字符串全部转为小写
SELECT LOWER('HEllo MYSql') AS LOWER
-- 将字符串全部转为大写
SELECT UPPER('Hello MYSql') UPPER
-- LPAD(str,n,pad) 左填充,用字符串pad对str的左边进行填充,达到n个字符串的长度
SELECT LPAD('11',5,'-') LPAD
-- 右填充
SELECT RPAD('11',5,'-') RPAD
-- 去掉字符串前后的空格
SELECT TRIM(' 1.11 ') TRIM
-- 截取子字符串
SELECT SUBSTRING('Kyrie Irving',1,5) SUBSTRING
3.数值函数
常见如下:

-- 向上取整
SELECT CEIL(1.1) CEIL
-- 向下取整
SELECT FLOOR(1.6) FLOOR
-- 取模
SELECT MOD(10,2) MOD
-- 返回0-1之间的随机数
SELECT RAND() RAND
-- ROUND(x,y) 求参数x的四舍五入值,保留y位小数
SELECT ROUND(3.1458,2) ROUND-- 例题
-- 生成随机的六位验证码
SELECT LPAD(ROUND(RAND()*1000000,0),6,0) AS num
4.日期函数

-- 返回当前日期
SELECT CURDATE()
-- 返回当前时间
SELECT CURTIME()
-- 返回当前日期和时间
SELECT NOW()
-- 获取指定date的年份
SELECT YEAR(NOW())
-- 获取指定date的月份
SELECT MONTH(NOW())
-- 获取指定date的日期
SELECT DAY(NOW())
-- 返回一个日期/时间值加上一个时间间隔expr后的时间值
SELECT DATE_ADD(NOW(),INTERVAL 10 DAY)
-- 返回起始时间date1和结束时间date2之间的天数
SELECT DATEDIFF('2022-10-21','2022-9-22')
5.流程函数 
二.约束
1.概述
a.概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
b.目的:保证数据库中数据的正确性、有效性和完整性。
c.分类:

注:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束 。
2.外键约束
a.语法
①
CREATE TABLE 表名(
字段名 数据类型,
...
[CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)
)
②
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)
eg:
-- 添加外键约束后,在对表中的数据进行任意操作,不能导致外键列和主键列对应不上
-- CONSTRAINT 约束名(有固定的约束名规则)
ALTER TABLE student ADD CONSTRAINT fk_student_major_majorid FOREIGN KEY(majorid) REFERENCES major(id)
b.删除/更新行为

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名) ON UPDATE CASCADE
注:ON UPDATE CASCADE 设置在进行删除行为进行的操作
相关文章:
MySQL(基础篇)——函数、约束
一.函数 1.定义 函数是指一段可以直接被另一段程序调用的程序或代码。 2.字符串函数 常见如下: -- 字符串拼接 SELECT CONCAT(hello,MySql) AS CONCAT -- 将字符串全部转为小写 SELECT LOWER(HEllo MYSql) AS LOWER -- 将字符串全部转为大写 SELECT UPPER(Hello…...
【wails】(4):使用wails做桌面应用开发,整合chatgpt-web项目做前端,进行本地开发,web端也可以连调,使用websocket实现
1,视频地址 【wails】(4):使用wails做桌面应用开发,整合chatgpt-web项目做前端,进行本地开发,web端也可以连调,使用websocket实现 2,演示效果 启动先是报500 错误&#…...
八股文打卡day24——数据库(1)
面试题:左连接和右连接的区别? 我的回答: 左连接的SQL语句是:左表 left join 右表 on 连接条件,表示以左表为基础,将左表的的所有记录与右表进行连接。即使右表中没有与左表匹配的记录,左连接…...
robots.txt 文件规则
robots.txt 是一种用于网站根目录的文本文件,其主要目的在于指示网络爬虫(web crawlers)和其他网页机器人(bots)哪些页面可以抓取,以及哪些页面不应该被抓取。可以看作是网站和搜索引擎机器人之间的一个协议…...
电脑WiFi共享给电脑的网口,另一终端可通过该网口进行上网。可用于wireshark抓设备终端的包。
1、点击WinR,弹出命令框,输入services.msc 2、选中“Internet Connection Sharing”这个服务右键,点击属性打开,启动类型选择“自动”,确定保存 3、点击WinR,弹出命令框,输入regedit 4、找到路径…...
字节面试问题
实现三列布局的方法 第一种:可以使用浮动margin 第二种:浮动BFC <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, in…...
弹窗内容由后端返回,如何让点击按钮的事件交由前端控制?
一、场景 背景:因为系统里经常有新活动或者公告需要通知所有用户,希望前端维护的这个弹窗里的内容可以由后端接口返回。这样就不需要每次上新活动的时候,前端项目都发版了。因此,前端维护了这个弹窗和它的关闭事件,至…...
[数据结构 C++] AVL树的模拟实现
文章目录 1、AVL树1.1 AVL树的概念 2、AVL树节点的定义3、AVL树的插入和旋转3.1 左单旋左旋代码实现 3.2 右单旋右旋代码实现 3.3 右左双旋右左双旋的代码实现 3.4 左右双旋左右双旋的代码实现 3.5 insert接口实现 4、判断是否为AVL树判断AVL树的代码实现 5、AVL树的性能 问题引…...
深入理解ngx_http_proxy_connect_module模块(下)
目录 5. 源码分析5.1 模块的初始化代码5.2 请求入口点函数分析5.2.1 ngx_http_proxy_connect_post_read_handler5.2.2 ngx_http_proxy_connect_handler5.3 域名解析回调5.4 向上游服务器发起连接5.4.1 ngx_http_proxy_connect_process_connect5.4.2 ngx_http_proxy_connect_wri…...
HTTP详解(HTTP的特点,状态码,工作原理,GET和POST的区别,如何解决无状态通信)!!!
文章目录 一、HTTP协议简介二、HTTP的主要特点三、HTTP之URL四、Request和Respons五、HTTP的状态码六、HTTP工作原理七、GET和POST请求的区别八、解决HTTP无状态通信——Cookie和Session 一、HTTP协议简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议&…...
【QT+QGIS跨平台编译】之五十七:【QGIS_CORE跨平台编译】—【VECTOR_TILE生成】
文章目录 一、protoc二、生成来源三、构建过程一、protoc Protocol Buffers(简称 protobuf)是一种轻量级、高效的数据序列化框架,它可以将结构化数据序列化为二进制格式,同时还可以进行反序列化和数据压缩。相比于 XML 和 JSON 等传统的文本序列化格式,protobuf 采用二进制…...
2024年腾讯云优惠政策_腾讯云TOP10优惠活动
腾讯云服务器多少钱一年?62元一年起,2核2G3M配置,腾讯云2核4G5M轻量应用服务器218元一年、756元3年,4核16G12M服务器32元1个月、312元一年,8核32G22M服务器115元1个月、345元3个月,腾讯云服务器网txyfwq.co…...
SpringMVC 学习(二)之第一个 SpringMVC 案例
目录 1 通过 Maven 创建一个 JavaWeb 工程 2 配置 web.xml 文件 3 创建 SpringMVC 配置文件 spring-mvc.xml 4 创建控制器 HelloController 5 创建视图 index.jsp 和 success.jsp 6 运行过程 7 参考文档 1 通过 Maven 创建一个 JavaWeb 工程 可以参考以下博文&#x…...
qt5与qt6的cmake区别
文章目录 使用cmake构建qt项目,坑很多。一是本身就麻烦,二是,确实坑,因为不同的qtcreator版本,选了不同的kits(套件) 生成的CMakeList.txt文件也不一样。 如果可以的话都选择Qt6的相关选项&…...
【计算机网络】一些乱七八糟内容
MAC Media Access Control 用于在局域网(LAN)或广域网(WAN)中实现设备自动接入网络 "载波侦听多路访问"(Carrier Sense Multiple Access) CSMA/CD 是CSMA的升级版本,加入了序列号检测机制。 CSMA/CA 是CSM…...
基于ESP32的MicroPython项目量产烧写指南
背景 前段时间用MicroPython开发了一个项目,硬件是ESP32-C3,目前准备量产,我需要提供固件以供加工厂批量烧录,需要把我有程序的板子里的程序读出来,然后下到别的板子上,以下做这件事情的过程记录。 1.固件…...
线性规划的标准型转换
对于任意给定的线性规划的问题,其实其本身可能是不符合线性规划标准型的需求的,但是如果通过一系列的等价变化的话,是可以将该问题转换为标准型的线性规划问题,例如如下的线性规划问题: 添加图片注释,不超过 140 字&am…...
机器学习:探寻智能化时代的科技奇迹
在数字化浪潮席卷全球的今天,机器学习已然成为科技领域的一颗璀璨明星,引领着人工智能不断向前发展。那么,机器学习究竟是什么?它为何能在众多科技中脱颖而出,成为改变世界的力量?本文将带您一探究竟&#…...
《Flask入门教程》学习笔记
《Flask入门教程》官网:https://tutorial.helloflask.com/ 目录 第一章:准备工作第二章:Hello, Flask!第三章:模板第四章:静态文件第五章:数据库第六章:模板优化第七章:表单第八章&a…...
go语言基础 -- map的定义与使用
map的定义与使用 map声明基础语法map的基本使用map的遍历map切片map排序 map声明基础语法 // map的声明 var xxx_map map[key_type]value_typemap的key可以是基本数据类型,channel,接口,结构体,数组,但不能是slice&am…...
别再搞混了!手把手教你配置SAP公司代码的会计科目表(OB62详解与避坑指南)
SAP财务实战:深度解析OB62配置中的会计科目表分配逻辑与避坑策略 每次打开SAP的财务配置界面,那些看似简单的选项背后往往隐藏着复杂的业务逻辑。特别是在处理跨国公司财务系统时,会计科目表的配置就像是在搭建一座连接不同会计准则的桥梁—…...
别再手动抄数据了!用Python+SCPI协议5分钟搞定功率计数据自动采集(以PA300为例)
用PythonSCPI协议实现功率计数据自动采集的高效方案 每次测试都要守在仪器前手动记录数据?还在为数据录入错误而反复核对?工程师的时间不该浪费在这些重复劳动上。今天我们就以PA300功率计为例,手把手教你用PythonSCPI协议搭建自动化数据采集…...
OpenEuler部署Chrony:从零构建高精度私有时间同步网络
1. 为什么企业需要私有时间同步网络 想象一下公司里所有电脑和服务器的时间都不一致会怎样?打卡系统显示9:00而邮件服务器记录8:55,数据库集群因为时间差导致事务冲突,监控系统告警时间错乱...这些看似小问题可能引发连锁反应。去年我们团队…...
AcousticSense AI从零开始:搭建视觉化音频分析工作站完整指南
AcousticSense AI从零开始:搭建视觉化音频分析工作站完整指南 1. 项目介绍与核心价值 AcousticSense AI是一个创新的音频分析解决方案,它将音频处理与计算机视觉技术巧妙结合,让计算机能够"看见"音乐的本质。这个项目的核心思路很…...
宝武集团复购无人矿卡,易控智驾从“煤矿龙头“迈向“全矿种“解决方案提供商
大家好,我是智驾民工,矿山无人驾驶产业创新解说员,陪您读懂无人驾驶技术在矿山领域落地的全生命周期。 易控智驾又拿单了。 这次不是新客拓单,而是老客户复购——宝武集团重钢西昌矿业再增12台,加上此前已稳定运行一…...
避开ESP32看门狗的坑:从Ticker定时器触发重启,到理解IDLE任务与CPU核心分配
ESP32看门狗深度解析:从Ticker陷阱到双核任务调度优化 当你在ESP32项目中使用Ticker库实现毫秒级定时器时,是否遇到过即使主循环执行得飞快,系统依然莫名其妙触发看门狗重启的情况?这种看似违反直觉的现象背后,隐藏着F…...
数字人可以代替真人直播带货吗
数字人带货能不能彻底取代真人?我觉得这事儿不能一概而论。数字人最大的好处就是“抗造”,24小时连轴转不喊累,成本还低,特别适合做深夜场或者标准化产品的讲解,主打一个稳定高效。但直播带货的核心其实是“信任”和“…...
把KQM6600空气检测数据送上云端:基于ESP8266/ESP32的物联网空气质量监测站DIY
基于ESP8266/ESP32的物联网空气质量监测站DIY:从KQM6600数据采集到云端可视化 在智能家居和工业物联网快速发展的今天,空气质量监测已成为环境感知的重要一环。KQM6600作为一款高性价比的空气质量检测模块,能够精准测量VOC、甲醛和CO2浓度&a…...
【深度拆解】用马斯克五步工程法拆解 Hermes Agent 源码|84.9k stars 的 Agent OS 到底牛在哪?
系列:硬核源码拆解 #01 关键词:AI Agent, Hermes Agent, 第一性原理, 上下文压缩, 记忆系统, Agent 架构 适用读者:AI Agent 开发者、架构师、对 Agent 框架选型感兴趣的工程师 摘要 本文对 Nous Research 的 Hermes Agent(v0.9.…...
智能硬件音视频SDK选型:RTC核心评估指标全解析
随着带实时音视频互动功能的智能硬件快速普及,选到适配性出众的音视频SDK,对产品的用户体验和市场竞争力至关重要。针对智能硬件普遍存在的算力有限、功耗敏感、应用场景复杂三大核心特性,业内整理出了一套覆盖技术性能、硬件适配、场景匹配三…...
