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

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、找到路径…...

字节面试问题

实现三列布局的方法 第一种&#xff1a;可以使用浮动margin 第二种&#xff1a;浮动BFC <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, in…...

弹窗内容由后端返回,如何让点击按钮的事件交由前端控制?

一、场景 背景&#xff1a;因为系统里经常有新活动或者公告需要通知所有用户&#xff0c;希望前端维护的这个弹窗里的内容可以由后端接口返回。这样就不需要每次上新活动的时候&#xff0c;前端项目都发版了。因此&#xff0c;前端维护了这个弹窗和它的关闭事件&#xff0c;至…...

[数据结构 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&#xff08;超文本传输协议&…...

【QT+QGIS跨平台编译】之五十七:【QGIS_CORE跨平台编译】—【VECTOR_TILE生成】

文章目录 一、protoc二、生成来源三、构建过程一、protoc Protocol Buffers(简称 protobuf)是一种轻量级、高效的数据序列化框架,它可以将结构化数据序列化为二进制格式,同时还可以进行反序列化和数据压缩。相比于 XML 和 JSON 等传统的文本序列化格式,protobuf 采用二进制…...

2024年腾讯云优惠政策_腾讯云TOP10优惠活动

腾讯云服务器多少钱一年&#xff1f;62元一年起&#xff0c;2核2G3M配置&#xff0c;腾讯云2核4G5M轻量应用服务器218元一年、756元3年&#xff0c;4核16G12M服务器32元1个月、312元一年&#xff0c;8核32G22M服务器115元1个月、345元3个月&#xff0c;腾讯云服务器网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项目&#xff0c;坑很多。一是本身就麻烦&#xff0c;二是&#xff0c;确实坑&#xff0c;因为不同的qtcreator版本&#xff0c;选了不同的kits&#xff08;套件&#xff09; 生成的CMakeList.txt文件也不一样。 如果可以的话都选择Qt6的相关选项&…...

【计算机网络】一些乱七八糟内容

MAC Media Access Control 用于在局域网&#xff08;LAN&#xff09;或广域网&#xff08;WAN&#xff09;中实现设备自动接入网络 "载波侦听多路访问"(Carrier Sense Multiple Access) CSMA/CD 是CSMA的升级版本&#xff0c;加入了序列号检测机制。 CSMA/CA 是CSM…...

基于ESP32的MicroPython项目量产烧写指南

背景 前段时间用MicroPython开发了一个项目&#xff0c;硬件是ESP32-C3&#xff0c;目前准备量产&#xff0c;我需要提供固件以供加工厂批量烧录&#xff0c;需要把我有程序的板子里的程序读出来&#xff0c;然后下到别的板子上&#xff0c;以下做这件事情的过程记录。 1.固件…...

线性规划的标准型转换

对于任意给定的线性规划的问题&#xff0c;其实其本身可能是不符合线性规划标准型的需求的&#xff0c;但是如果通过一系列的等价变化的话&#xff0c;是可以将该问题转换为标准型的线性规划问题&#xff0c;例如如下的线性规划问题: 添加图片注释&#xff0c;不超过 140 字&am…...

机器学习:探寻智能化时代的科技奇迹

在数字化浪潮席卷全球的今天&#xff0c;机器学习已然成为科技领域的一颗璀璨明星&#xff0c;引领着人工智能不断向前发展。那么&#xff0c;机器学习究竟是什么&#xff1f;它为何能在众多科技中脱颖而出&#xff0c;成为改变世界的力量&#xff1f;本文将带您一探究竟&#…...

《Flask入门教程》学习笔记

《Flask入门教程》官网&#xff1a;https://tutorial.helloflask.com/ 目录 第一章&#xff1a;准备工作第二章&#xff1a;Hello, Flask!第三章&#xff1a;模板第四章&#xff1a;静态文件第五章&#xff1a;数据库第六章&#xff1a;模板优化第七章&#xff1a;表单第八章&a…...

go语言基础 -- map的定义与使用

map的定义与使用 map声明基础语法map的基本使用map的遍历map切片map排序 map声明基础语法 // map的声明 var xxx_map map[key_type]value_typemap的key可以是基本数据类型&#xff0c;channel&#xff0c;接口&#xff0c;结构体&#xff0c;数组&#xff0c;但不能是slice&am…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...

PH热榜 | 2025-06-08

1. Thiings 标语&#xff1a;一套超过1900个免费AI生成的3D图标集合 介绍&#xff1a;Thiings是一个不断扩展的免费AI生成3D图标库&#xff0c;目前已有超过1900个图标。你可以按照主题浏览&#xff0c;生成自己的图标&#xff0c;或者下载整个图标集。所有图标都可以在个人或…...