【从删库到跑路】详细讲解MySQL的函数和约束作用

这篇具有很好参考价值的文章主要介绍了【从删库到跑路】详细讲解MySQL的函数和约束作用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🎊专栏【MySQL】
🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
🎆音乐分享【如愿】
大一同学小吉,欢迎并且感谢大家指出我的问题🥰

【从删库到跑路】详细讲解MySQL的函数和约束作用

🍔函数

是指一段可以直接被另一段程序调用的程序或代码

⭐字符串函数

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈字符串拼接函数

select concat('s1','s2');

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈把字符串全部变为小写

select lower('str');

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈把字符串全部变为大写

select upper('str');

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈字符串左填充

select lpad('str',length,'-');
 -- 在str左边用-进行填充,达到长度为n

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈字符串右填充

select rpad('str',length,'-');
 -- 在str右边用-进行填充,达到长度为n

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈去掉字符串头部和尾部的空格

select trim('str');

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈字符串截取

select substring('str',截取起始位置,截取长度);

【从删库到跑路】详细讲解MySQL的函数和约束作用

🏀应用

由于业务需求变化,企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0
(比如1好员工的工号应该是00001)

update emp set worknumber = lpad(worknumber,5,'0');
 --            更新的字段(工号)

⭐数值函数

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈向上取整

select ceil(number);

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈向下取整

select floor(number);

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈返回x/y的模

select mod(num1,num2);

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈求随机数

是0~1之间的随机数

select rand();

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈四舍五入,并且保留n位小数

对number进行四舍五入,并且保留length位小数

select round(number,length);

【从删库到跑路】详细讲解MySQL的函数和约束作用

🏀应用

通过数据库的函数,生成一个六位数的随机验证码

select lpad(round(rand()*1000000,0),6,'0');

⭐日期函数

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈返回当前日期

select curdate();

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈返回当前时间

select curtime();

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈返回当前日期+时间

select now();

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈获取指定date的年份

select YEAR(date);

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈获取指定date的月

select MONTH(date);

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈获取指定date的天

select DAY(date);

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈返回一个时间,是date向后推迟number个DAY(或MONTH,YEAR)

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

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈两个指定时间中相差的天数

select datediff('2021-12-01','2022-12-01');

【从删库到跑路】详细讲解MySQL的函数和约束作用

🏀应用

查询所有员工的入职天数,并根据入职天数倒序排序

select name datediff(curdate(),entrydate) as 'entrydays' from emp order by entrydays desc;

解释:entrydays是函数的别名,这样子就不用写一串函数了,order by 后面的是排序方式

⭐流程控制函数

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈进行判断

如果条件表达式的结果是true,那么返回OK,否则返回Error

select if(条件表达式,'OK','Error');

【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈如果第一个值为null,那么返回第二个值,否则返回第一个值

select ifnull('OK','Default');

【从删库到跑路】详细讲解MySQL的函数和约束作用

【从删库到跑路】详细讲解MySQL的函数和约束作用
【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈case语句

select 
     name,
     ( case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end )
 
 from emp;

🍔约束

概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据
目的:保证数据库中数据的正确,有效性和完整性
分类:
【从删库到跑路】详细讲解MySQL的函数和约束作用

🎈主键约束

主键约束(Primary Key Constraint):主键约束用于定义一个唯一标识来标识表中的每一行。它要求主键列的值唯一且非空。主键可以由一个或多个列组成。

"column"是指表中的一个字段,"datatype"是数据类型

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
    primary key (column1, column2, ...)
);

🎈唯一约束

唯一约束(Unique Constraint):唯一约束用于确保表中的某个列或一组列的值是唯一的。唯一约束允许空值(NULL),但对于非空值,要求其在列中是唯一的。

"column"是指表中的一个字段,"datatype"是数据类型

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
    unique (column1, column2, ...)
);

🎈外键约束

外键约束(Foreign Key Constraint):外键约束用于建立表与表之间的关联关系。用来让两张表之间建立连接,从而保证数据的一致性和完整性

【从删库到跑路】详细讲解MySQL的函数和约束作用

"column"是指表中的一个字段,"datatype"是数据类型

🏀添加外键

情况1:表结构没有创建好(直接在表里面进行添加)


CREATE TABLE table_name2 (
    column1 datatype primary key,
    column2 datatype,
    ...
    foreign key (column2) references table_name1(column1)
);

情况2:表结构创建好了

alter table 表名 add constraint 外键名称 foreign key (外键字段名) references 主表(主表列名) ;
🏀删除外键
alter table 表名 drop foreign key 外键名称;

🎈检测约束

检查约束(Check Constraint):检查约束用于限制列中的值必须满足指定的条件。可以使用逻辑运算符、比较运算符和函数等来定义检查约束条件。

"column"是指表中的一个字段,"datatype"是数据类型

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype check (condition),
    ...
);

🎈非空约束

非空约束(Not Null Constraint):非空约束用于确保表中的某个列不接受空值(NULL)。

"column"是指表中的一个字段,"datatype"是数据类型

CREATE TABLE table_name (
    column1 datatype not null,
    column2 datatype,
    ...
);

🏀样例
create table user(
     id int primary key auto_increment comment '主键',
     name varchar(10) not null unique comment '姓名',
     age int check ( age > 0 && age < 30 ) comment '年龄',
     status char(1) default '1' comment '状态',
     gender char(1) comment '性别'
 ) comment '用户表';

插入数据

insert into user(name,age,status,gender) values ('Tom1','19','1','男'),('Tom2','25','0','男');

⭐总结

【从删库到跑路】详细讲解MySQL的函数和约束作用

🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰文章来源地址https://www.toymoban.com/news/detail-487150.html

到了这里,关于【从删库到跑路】详细讲解MySQL的函数和约束作用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【从删库到跑路】MySQL数据库的索引(二)——索引的使用和选择

    🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【The Right Path】 🥰欢迎并且感谢大家指出小吉的问题 🎈没有创建索引时,执行SQL语句,查看SQL的耗时 🎈 创建索引后 ,执行SQL语句,查看SQL的耗时 比较发现,时间减少了 🎈细节 创建索引 相

    2024年02月16日
    浏览(35)
  • 【从删库到跑路】MySQL数据库的查询(单表查询,多表查询,内外连接,联合查询,子查询)

    🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 在项目开发中,在进行数据库表结构设计时,会根据业务需求以及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联

    2024年02月10日
    浏览(34)
  • 【从删库到跑路】MySQL数据库的索引(一)——索引的结构(BTree B+Tree Hash),语法等

    🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🥰欢迎并且感谢大家指出小吉的问题 索引(index)是帮助MySQL 高效获取数据 的 有序 的 数据结构 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方

    2024年02月16日
    浏览(41)
  • 看完这篇都有DBA级别的MySQL备份经验了,再也不害怕删库跑路了

            在做运维的路上,相信大家会跟数据库经常打交道吧,那么数据库最重要的时候什么呢,那么肯定是备份了,这篇文章主要内容是介绍了,MySQL的几种常见的备份方式,主要是分为两种,第一种是基于MySQL提供的工具来进行备份,还有一种是基于使用第三方工具来进行

    2024年02月05日
    浏览(32)
  • rm -rf 真是删库跑路的一把好手

    上回书说到《一个月黑风高的夜晚紧急完成gitlab服务器数据迁移》,因为数据迁移后原数据还是存在的,该分区硬盘快满了,进而影响了原目录下的日志存储,既然数据已经迁移到新的路径了,那原来的库直接删掉就好了,往往就是这么不经意间做了一个令人十分后怕的决定

    2024年02月05日
    浏览(30)
  • 微服务技术栈笔记从入门到跑路-SpringCloud+Gateway+Nacos+MQ+ES(保姆级)

    SpringCloud和Dubbo是微服务方案的实现 微服务技术对比 SpringCloud 和SpringBoot版本兼容需要对应 (左侧是SpringCloud的版本,右侧SpringBoot版本。两者版本需要一一对应,否者可能出现兼容性问题) (此笔记基于SpringCloud Hopxton.SR10和SpringBoot2.3.x进行记录) 微服务需要根据业务模块拆分

    2024年02月08日
    浏览(48)
  • 零基础学MySQL(五)-- 详细讲解数据库中的常用函数

    提供 student 表 1️⃣count 函数 count 表示返回行的总数 (1)基本语法 (2)基本练习 统计一个班级共有多少学生? 统计数学成绩大于 90 的学生有多少个? 统计总分大于 250 的人数有多少? (3)注意细节 count(*) 和 count(列) 的区别: count(*) 返回满足条件的记录的行数 count(列

    2024年01月19日
    浏览(40)
  • 【JaveWeb教程】(20) MySQL数据库开发之 基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询 详细代码示例讲解

    在上次学习的内容中,我们讲解了: 使用DDL语句来操作数据库以及表结构(数据库设计) 使用DML语句来完成数据库中数据的增、删、改操作(数据库操作) 我们今天还是继续学习数据库操作方面的内容:查询(DQL语句)。 查询操作我们分为两部分学习: DQL语句-单表操作

    2024年02月02日
    浏览(66)
  • mysql主主架构搭建,删库恢复

    主机名 IP地址 服务 角色 mysql1 192.168.44.188 mysql,keepalived mysql-master,keepalived-master mysql2 192.168.44.190 mysql,keepalived mysql-master,keepalived-backup 192.168.44.100(vip) mysql1 mysql2 设置mysql2同步mysql1 设置mysql1同步mysql2 授权测试用账户 mysql1 /etc/keepalived/keepalived.conf 检查脚本 /usr/local/bin/ch

    2024年02月16日
    浏览(29)
  • Hive条件函数详细讲解

    Hive 中的条件函数允许你在查询中基于某些条件执行逻辑操作。以下是你提到的条件函数的详细讲解,包括案例和使用注意事项: IF() 功能 :根据条件返回两个表达式中的一个。 语法 : IF(boolean_test, value_if_true, value_if_false) 案例 : SELECT IF(1=1, \\\'true\\\', \\\'false\\\');  结果为  \\\'true\\\' 注

    2024年01月21日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包