数据库基础-函数&约束

目录

一:数值函数

二:日期函数

三:流程函数

四:约束

约束演示

外键约束

语法


一:数值函数

常见的数值函数:

取绝对值: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;

相关推荐
TDengine (老段)14 小时前
TDengine 新性能基准测试工具 taosgen
大数据·数据库·物联网·测试工具·时序数据库·tdengine·涛思数据
波波仔8614 小时前
行存储与列存储的区别
数据库·clickhouse·行存储·列储存
小光学长14 小时前
ssm农民养殖经验交流与分享平台bc046578(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring
在坚持一下我可没意见15 小时前
Spring 开发小白学习过程中常用通用配置文件,即拿即用!(持续更新中)
java·数据库·后端·学习·spring·tomcat·mybatis
不会写程序的未来程序员15 小时前
Redis 缓存
数据库·redis·缓存
kkkkkkkkl2415 小时前
从「知道死锁」到「真正理解死锁」:一次 MySQL 锁机制的学习记录
数据库·mysql
He BianGu15 小时前
【笔记】在WPF App.cs中结合 IServiceCollection 进行 IOC 依赖注入
数据库·笔记·wpf
柯南二号15 小时前
【后端】【Java】《Spring Boot 统一接口耗时统计实践:基于 HandlerInterceptor 的工程级方案》
java·开发语言·数据库
m0_7400437315 小时前
SpringBoot03-Mybatis框架入门
java·数据库·spring boot·sql·spring·mybatis