数据库基础-函数&约束

目录

一:数值函数

二:日期函数

三:流程函数

四:约束

约束演示

外键约束

语法


一:数值函数

常见的数值函数:

取绝对值:abs

演示如下:

A. ceil:向上取整

select ceil(1.1);

B. floor:向下取整

select floor(1.9);

C. mod:取模

select mod(7,4);

D. rand:获取随机数

select rand();

E. round:四舍五入

select round(3.99);

F. abs:取绝对值

select abs(-10);

二:日期函数

常见的日期函数:

演示如下:

A. curdate:当前日期

select curdate();

B. curtime:当前时间

select curtime();

C. now:当前日期和时间

select now();

D. YEAR , MONTH , DAY:当前年、月、日

select YEAR(now());

select MONTH(now());

select DAY(now());

列:select year(now()),month(now()),day(now());

E. date_add:增加指定的时间间隔

select date_add(now(),INTERVAL 70 YEAR );

列:select date_add(now(),interval 3 day);

F. datediff:获取两个日期相差的天数

select datediff('2025-4-4', 'now()');

列:select DATEDIFF('2025-4-4',now());

三:流程函数

流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率

演示如下:

if:

select if(1=1,1,2);

ifnull

select ifnull(null,0);(如果返回值为空,返回0)

select ifnull(2,0);(如果返回值不为空,返回2)

case when (分两种表达)

第一种:select case 'a'

when 'a' then 1

when 'b' then 2

else 3

end;

第二种:select case

when 'a'='a' then 1

when 'b'='b' then 2

else 3

end;

查询emp表的员工工作地址 (北京/上海 ----> 一线城市 , 其他 ----> 二线城市)

select * ,

case

when workaddress in('北京','上海') then '一线城市'

else '二线城市'

end

from emp;

四:约束

概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据库中数据的正确、有效性和完整性。

分类:

约束演示

案列需求:

外键约束

外键:用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。

语法

添加外键

案例:

为emp表的dept_id字段添加外键约束,关联dept表的主键id。

alter table emp add constraint fk_emp_dept_id foreign key (dept_id) references dept(id);

删除外键

ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

案例:

删除emp表的外键fk_emp_dept_id。

alter table emp drop foreign key fk_emp_dept_id;

相关推荐
不可求~9 小时前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
Lumistory9 小时前
城市建筑照明的落地与长效运营观察
大数据·数据库·中间件·光照贴图
围炉聊科技12 小时前
长期免费的数据库方案——零成本基建系列
数据库
AC赳赳老秦12 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
梁辰兴13 小时前
软件工程:数据结构设计
数据库·软件工程·设计原则·设计方法·梁辰兴·数据库结构设计·数据库结构类型
AC赳赳老秦14 小时前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
灯澜忆梦15 小时前
【MySQL18】进阶篇 | MySQL管理
数据库·mysql
zcmodeltech15 小时前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类
AI多Agent协作实战派15 小时前
AI多Agent协作系统实战(四十):AI说“没有错误“,系统判了“测试失败“——一个正则的误判
数据库·人工智能
隔窗听雨眠16 小时前
OceanBase接入DeepSeek:数据库与AI的深度融合如何改写企业数据规则
数据库·人工智能·oceanbase