数据库对象

数据库对象

数据库对象是构成数据库结构的基本单位,它们定义了数据库存储的数据类型、数据的组织方式以及数据之间的关系。在数据库中,对象可以包括表,视图,索引,触发器,存储过程,函数等多种类型,每种类型的对象都有其特定的用途和功能。

数据库函数

MySQL函数是MySQL数据库提供的内部函数,这些内部函数可帮助用户更加方便的处理表中的数据。函数就像预定的公式一样存放在数据库里,每个用户都哭调用已经存在的函数来完成某些功能。

⚠️函数就是输入值然后得到相应的输出结果,输入值称为参数,输出值称为返回值。

函数库方便地实现业务逻辑的重用,并且MySQL数据库允许用户自己创建函数,以适应实际的业务操作。正确使用函数会让读者在编写sql语句时起到事半功倍的效果。

MySQL函数用来对数据表中的数据进行相应的处理,以便得到用户希望得到的数据,使MySQL数据库的功能更加强大。

MySQL函数包括数学函数,字符串函数,日期和时间函数,条件判断函数,系统信息函数和加密函数等。

数值型函数

1.取余函数MOD(x,y)

返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用,它返回除法运算后的余数。

案例:


mysql> select mod(63,8),mod(120,10),mod(15.5,3);
+-----------+-------------+-------------+
| mod(63,8) | mod(120,10) | mod(15.5,3) |
+-----------+-------------+-------------+
|         7 |           0 |         0.5 |
+-----------+-------------+-------------+
1 row in set (0.00 sec)

2.取整函数

CEIL(X)和CEILING(X)的意义相同,返回不小于x的最小整数值,返回值转换为一个bigint。

案例1:

mysql> select ceil(-2.5),ceiling(2.5);
+------------+--------------+
| ceil(-2.5) | ceiling(2.5) |
+------------+--------------+
|         -2 |            3 |
+------------+--------------+
1 row in set (0.01 sec)

FLOOR(X)函数返回小于x的最大整数值。

案例2:

mysql> select floor(5),floor(5.66),floor(-4),floor(-4.66);
+----------+-------------+-----------+--------------+
| floor(5) | floor(5.66) | floor(-4) | floor(-4.66) |
+----------+-------------+-----------+--------------+
|        5 |           5 |        -4 |           -5 |
+----------+-------------+-----------+--------------+
1 row in set (0.00 sec)

RAND()函数被调用时,可以产生一个在0和1之间的随机数。

案例3:
 
mysql> select rand(),rand(),rand();
+--------------------+--------------------+----------------------+
| rand()             | rand()             | rand()               |
+--------------------+--------------------+----------------------+
| 0.6713687541627965 | 0.6082631588059134 | 0.027209562274822557 |
+--------------------+--------------------+----------------------+
1 row in set (0.00 sec)

由运行结果可知,每次调用rand()函数,都会随机生成一个0~1之间的随机数。

当时用整数作为参数时,rand()使用该值作为随机数的种子发生器。每次种子使用给定值生成,rand()将产生一个可重复的系列数字。

案例:


mysql> select rand(1),rand(),rand(1);
+---------------------+---------------------+---------------------+
| rand(1)             | rand()              | rand(1)             |
+---------------------+---------------------+---------------------+
| 0.40540353712197724 | 0.31125836569001747 | 0.40540353712197724 |
+---------------------+---------------------+---------------------+
1 row in set (0.00 sec)

round(x)函数返回最接近x的整数

案例4:


mysql> select round(-6.6),round(-8.44),round(3.44);
+-------------+--------------+-------------+
| round(-6.6) | round(-8.44) | round(3.44) |
+-------------+--------------+-------------+
|          -7 |           -8 |           3 |
+-------------+--------------+-------------+
1 row in set (0.00 sec)

3.字符串函数

length(str)函数返回值为字符串str的字节长度。

案例1:

mysql> select length('name'),length('数据库');
+----------------+------------------+
| length('name') | length('数据库') |
+----------------+------------------+
|              4 |                6 |
+----------------+------------------+
1 row in set (0.00 sec)

concat(s1,s2,s3,…)函数返回结果为连接参数产生的字符串,或许有一个或者多个参数。

若有一个参数为null,则返回值为null。

案例2:

mysql> select concat('mysql','zbc'),concat('mysql',null);
+-----------------------+----------------------+
| concat('mysql','zbc') | concat('mysql',null) |
+-----------------------+----------------------+
| mysqlzbc              | NULL                 |
+-----------------------+----------------------+
1 row in set (0.01 sec)

替换字符串函数insert(s1,x,len,s2)返回字符串s1,起始于x位置,并且用len个字符串长的字符串代替s2。

若 x 超过字符串长度,则返回值为原始字符串。假如 len 的长度大于其他字符串的长度,则从位置 x 开始替换。若任何一个参数为 NULL,则返回值为 NULL。

案例3:

mysql> select insert('mysql',2,4,'zbc') as col1,insert ('mysql',-1,4,'zbc') as col2 ,insert('mysql',3,20,'zbc') as col3;+------+-------+-------+
| col1 | col2  | col3  |
+------+-------+-------+
| mzbc | mysql | myzbc |
+------+-------+-------+
1 row in set (0.01 sec)

lower函数将字符串中所有的字母字符转换成小写

案例4:

mysql> select lower('BLUE'),lower('bule');
+---------------+---------------+
| lower('BLUE') | lower('bule') |
+---------------+---------------+
| blue          | bule          |
+---------------+---------------+
1 row in set (0.00 sec)

字母大写转换函数 UPPER(str) 可以将字符串 str 中的字母字符全部转换成大写。

案例5:

mysql> select upper('green'),upper('GREen');
+----------------+----------------+
| upper('green') | upper('GREen') |
+----------------+----------------+
| GREEN          | GREEN          |
+----------------+----------------+
1 row in set (0.00 sec)

LEFT(s,n) 函数返回字符串 s 最左边的 n 个字符。

案例6:

mysql> select left('mysql',3);
+-----------------+
| left('mysql',3) |
+-----------------+
| mys             |
+-----------------+
1 row in set (0.00 sec)

RIGHT(s,n) 函数返回字符串 s 最右边的 n 个字符。


mysql> select right('mysql',3);
+------------------+
| right('mysql',3) |
+------------------+
| sql              |
+------------------+
1 row in set (0.00 sec)
案例7:

使用 REPLACE 函数进行字符串替换操作


mysql> select replace('aaa.mysql.com','a','w');
+----------------------------------+
| replace('aaa.mysql.com','a','w') |
+----------------------------------+
| www.mysql.com                    |
+----------------------------------+
1 row in set (0.00 sec)
案例8:

使用 REVERSE 函数反转字符串


mysql> select reverse('hello');
+------------------+
| reverse('hello') |
+------------------+
| olleh            |
+------------------+
1 row in set (0.00 sec)

4.日期和时间函数

CURDATE() 和 CURRENT_DATE() 函数的作用相同,将当前日期按照“YYYY-MM-DD”或“YYYYMMDD”格式

的值返回,具体格式根据函数用在字符串或数字语境中而定。

案例1:

mysql>  SELECT CURDATE(),CURRENT_DATE();
+------------+----------------+
| CURDATE()  | CURRENT_DATE() |
+------------+----------------+
| 2025-02-01 | 2025-02-01     |
+------------+----------------+
1 row in set (0.00 sec)

CURTIME() 和 CURRENT_TIME() 函数的作用相同,将当前时间以“HH:MM:SS”或“HHMMSS”格式返回,具体格式根据函数用在字符串或数字语境中而定。

案例2:

mysql> select curtime(),current_time();
+-----------+----------------+
| curtime() | current_time() |
+-----------+----------------+
| 16:52:17  | 16:52:17       |
+-----------+----------------+
1 row in set (0.00 sec)

NOW() 和 SYSDATE() 函数的作用相同,都是返回当前日期和时间值,格式为“YYYY-MM-DD HH:MM:SS”或“YYYYMMDDHHMMSS”,具体格式根据函数用在字符串或数字语境中而定。

案例3:

mysql> select now(),sysdate();
+---------------------+---------------------+
| now()               | sysdate()           |
+---------------------+---------------------+
| 2025-02-01 16:53:17 | 2025-02-01 16:53:17 |
+---------------------+---------------------+
1 row in set (0.00 sec)
案例4:

使用month函数返回指定日期中的月份


mysql> select month('2025-02-01');
+---------------------+
| month('2025-02-01') |
+---------------------+
|                   2 |
+---------------------+
1 row in set (0.00 sec)
案例5:

使用 MONTHNAME() 函数返回指定日期中月份的名称

mysql> select monthname('2025-02-01');
+-------------------------+
| monthname('2025-02-01') |
+-------------------------+
| February                |
+-------------------------+
1 row in set (0.01 sec)
案例6:

使用 DAYNAME(date) 函数返回指定日期的工作日名称。


mysql> select dayname('2025-02-01');
+-----------------------+
| dayname('2025-02-01') |
+-----------------------+
| Saturday              |
+-----------------------+
1 row in set (0.00 sec)

DAYOFWEEK(d) 函数返回 d 对应的一周中的索引(位置)。1 表示周日,2 表示周一,……,7 表示周六。这些索引值对应于ODBC标准。

案例7:

mysql> select dayofweek('2025-02-01');
+-------------------------+
| dayofweek('2025-02-01') |
+-------------------------+
|                       7 |
+-------------------------+
1 row in set (0.00 sec)
案例8:

使用week函数查询指定日期是一年中的第几周


mysql> select week('2025-02-01');
+--------------------+
| week('2025-02-01') |
+--------------------+
|                  4 |
+--------------------+
1 row in set (0.00 sec)
案例9:

DAYOFYEAR(d) 函数返回 d 是一年中的第几天,范围为 1~366。


mysql> select dayofyear('2025-02-01');
+-------------------------+
| dayofyear('2025-02-01') |
+-------------------------+
|                      32 |
+-------------------------+
1 row in set (0.00 sec)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/894373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

省级-新质生产力数据(2010-2022年)-社科数据

省级-新质生产力数据(2010-2022年)-社科数据https://download.csdn.net/download/paofuluolijiang/90028612 https://download.csdn.net/download/paofuluolijiang/90028612 新质生产力是指在现代科技和经济社会发展的推动下,由新的生产要素…

【PyTorch】7.自动微分模块:开启神经网络 “进化之门” 的魔法钥匙

目录 1. 梯度基本计算 2. 控制梯度计算 3. 梯度计算注意 4. 小节 个人主页:Icomi 专栏地址:PyTorch入门 在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架,为构建和训练神经网络提供了高效且灵活…

【数据分析】案例04:豆瓣电影Top250的数据分析与Web网页可视化(numpy+pandas+matplotlib+flask)

豆瓣电影Top250的数据分析与Web网页可视化(numpy+pandas+matplotlib+flask) 豆瓣电影Top250官网:https://movie.douban.com/top250写在前面 实验目的:实现豆瓣电影Top250详情的数据分析与Web网页可视化。电脑系统:Windows使用软件:PyCharm、NavicatPython版本:Python 3.…

Ubuntu20.04 深度学习环境配置(持续完善)

文章目录 常用的一些命令安装 Anaconda创建conda虚拟环境查看虚拟环境大小 安装显卡驱动安装CUDA安装cuDNN官方仓库安装 cuDNN安装 cuDNN 库验证 cuDNN 安装确认 CUDA 和 cuDNN 是否匹配: TensorRT下载 TensorRT安装 TensorRT 本地仓库配置 GPG 签名密钥安装 Tensor…

元宇宙与Facebook:社交互动的未来方向

随着技术的飞速发展,元宇宙逐渐成为全球科技领域关注的焦点。作为一种集沉浸式体验、虚拟空间和数字社交互动为一体的新型平台,元宇宙正在重新定义人类的社交方式。而在这一变革中,Facebook(现改名为Meta)作为全球领先…

【赵渝强老师】K8s中Pod探针的ExecAction

在K8s集群中,当Pod处于运行状态时,kubelet通过使用探针(Probe)对容器的健康状态执行检查和诊断。K8s支持三种不同类型的探针,分别是:livenessProbe(存活探针)、readinessProbe&#…

python 语音识别

目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…

Node.js——body-parser、防盗链、路由模块化、express-generator应用生成器

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

PPT演示设置:插入音频同步切换播放时长计算

PPT中插入音频&同步切换&放时长计算 一、 插入音频及音频设置二、设置页面切换和音频同步三、播放时长计算 一、 插入音频及音频设置 1.插入音频:点击菜单栏插入-音频-选择PC上的音频(已存在的音频)或者录制音频(现场录制…

3D图形学与可视化大屏:什么是材质属性,有什么作用?

一、颜色属性 漫反射颜色 漫反射颜色决定了物体表面对入射光进行漫反射后的颜色。当光线照射到物体表面时,一部分光被均匀地向各个方向散射,形成漫反射。漫反射颜色的选择会直接影响物体在光照下的外观。例如,一个红色的漫反射颜色会使物体在…

Jenkins未在第一次登录后设置用户名,第二次登录不进去怎么办?

Jenkins在第一次进行登录的时候,只需要输入Jenkins\secrets\initialAdminPassword中的密码,登录成功后,本次我们没有修改密码,就会导致后面第二次登录,Jenkins需要进行用户名和密码的验证,但是我们根本就没…

Qt常用控件 输入类控件

文章目录 1.QLineEdit1.1 常用属性1.2 常用信号1.3 例子1,录入用户信息1.4 例子2,正则验证手机号1.5 例子3,验证输入的密码1.6 例子4,显示密码 2. QTextEdit2.1 常用属性2.2 常用信号2.3 例子1,获取输入框的内容2.4 例…

有没有个性化的UML图例

绿萝小绿萝 (53****338) 2012-05-10 11:55:45 各位大虾,有没有个性化的UML图例 绿萝小绿萝 (53****338) 2012-05-10 11:56:03 例如部署图或时序图的图例 潘加宇 (35***47) 2012-05-10 12:24:31 "个性化"指的是? 你的意思使用你自己的图标&…

Go学习:字符、字符串需注意的点

Go语言与C/C语言编程有很多相似之处,但是Go语言中在声明一个字符时,数据类型与其他语言声明一个字符数据时有一点不同之处。通常,字符的数据类型为 char,例如 :声明一个字符 (字符名称为 ch) 的语句格式为 char ch&am…

本地部署 DeepSeek-R1 模型

文章目录 霸屏的AIDeepSeek是什么?安装DeepSeek安装图形化界面总结 霸屏的AI 最近在刷视频的时候,总是突然突然出现一个名叫 DeepSeek 的玩意,像这样: 这样: 这不经激起我的一顿好奇心,这 DeepSeek 到底是个…

断裂力学课程报告

谈谈你对线弹性断裂力学和弹塑性断裂力学的认识 经过对本课程的学习,我首先认识到断裂力学研究的是宏观的断裂问题,而不是研究属于断裂物理研究范围的微观结构断裂机理。断裂力学从材料内部存在缺陷出发,研究裂纹的生成、亚临界拓展&#xff…

【机器学习】自定义数据集 使用pytorch框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测,对预测结果计算精确度和召回率及F1分数

一、使用pytorch框架实现逻辑回归 1. 数据部分: 首先自定义了一个简单的数据集,特征 X 是 100 个随机样本,每个样本一个特征,目标值 y 基于线性关系并添加了噪声。将 numpy 数组转换为 PyTorch 张量,方便后续在模型中…

高性能消息队列Disruptor

定义一个事件模型 之后创建一个java类来使用这个数据模型。 /* <h1>事件模型工程类&#xff0c;用于生产事件消息</h1> */ no usages public class EventMessageFactory implements EventFactory<EventMessage> { Overridepublic EventMessage newInstance(…

Java线程认识和Object的一些方法ObjectMonitor

专栏系列文章地址&#xff1a;https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标&#xff1a; 要对Java线程有整体了解&#xff0c;深入认识到里面的一些方法和Object对象方法的区别。认识到Java对象的ObjectMonitor&#xff0c;这有助于后面的Synchron…

基于YOLO11的肺结节检测系统

基于YOLO11的肺结节检测系统 (价格90) LUNA16数据集 数据一共 1186张 按照8&#xff1a;1&#xff1a;1随机划分训练集&#xff08;948张&#xff09;、验证集&#xff08;118张&#xff09;与测试集&#xff08;120张&#xff09; 包含 nodule 肺结节 1种…