MySQL数据库---笔记2

news2024/10/7 16:20:47

MySQL数据库---笔记2

  • 一、函数
    • 1.1、字符串函数
    • 1.2、数值函数
    • 1.3、日期函数
    • 1.4、流程函数
  • 二、约束
    • 2.1、概述
    • 2.2、演示
    • 2.3、外键约束

一、函数

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

1.1、字符串函数

函数功能
CONCAT(S1,S2,…Sn)字符串拼接,将S1,S2,…Sn拼接成一个字符串
LOWER(str)将字符串str全部转为小写
UPPER(str)将字符串str全部转为大写
LPAD(str,n,pad)左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
RPAD(str,n,pad)右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
TRIM(str)去掉字符串头部和尾部的空格
SUBSTRING(str,start,len)返回从字符串str从start位置起的len个长度的字符串
SELECT 函数(参数)

在这里插入图片描述

update emp set worknum = lpad(worknum,5,'0');

1.2、数值函数

函数功能
CEIL(x)向上取整
FLOOR(x)向下取整
MOD(xy)返回x/y的模
RAND()返回0~1内的随机数
ROUND(x,y)求参数x的四舍五入的值,保留y位小数
SELECT 函数(参数)

在这里插入图片描述

#调用了三次库函数 生成一个六位数的随机数
select lpad(round(rand()*1000000,0),6,'0');

1.3、日期函数

函数功能
CURDATE()返回当前日期
CURTIME()返回当前时间
NOW()返回当前日期和时间
YEAR(date)获取指定date的年份
MONTH(date)获取指定date的月份
DAY(date)获取指定date的日期
DATE_ADD(date, INTERVAL expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1,date2)返回起始时间date1 和 结束时间date2之间的天数
SELECT 函数(参数)

在这里插入图片描述

#查询员工入职天数,并且排列
select username,datediff(curdate(),newDay1_1.entryTime) as 'entrydaytoday' from newday1_1 order by entrydaytoday desc;

1.4、流程函数

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

函数功能
IF(value , t , f)如果value为true,则返回t,否则返回f
IFNULL(value1 , value2)如果value1不为空,返回value1,否则返回value2
CASE WHEN [ val1 ] THEN [res1] …ELSE [ default ] END如果val1为true,返回res1,…否则返回default默认值
CASE [ expr ] WHEN [ val1 ] THEN [res1] …ELSE [ default ] END如果expr的值等于val1,返回res1,…否则返回default默认值
SELECT 函数(参数)

在这里插入图片描述

create table newDay1_2(
    id int comment '编号',
    name varchar(10) comment '姓名',
    chinese int comment '语文',
    math int comment '数学',
    english int comment '英语'
)comment '成绩表';
select *from newDay1_2;
insert into newDay1_2 values (1,'小王',89,92,89),(2,'小李',91,93,87),(3,'小黄',88,78,90);
select
    id,
    name,
    (case when chinese>=85 then '优秀'when chinese>=60 then '及格' else '不及格' end) '语文',
    (case when math>=85 then '优秀'when math>=65 then '及格' else '不及格'end) '数学',
   (case when english>=85 then '优秀'when english>=65 then '及格' else '不及格'end) '英语'
from newDay1_2;

二、约束

2.1、概述

  1. 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
  2. 目的:保证数据库中数据的正确、有效性和完整性。
  3. 分类:
约束描述关键字
非空约束限制该字段的数据不能为nullNOT NULL
唯一约束保证该字段的所有数据都是唯一、不重复的UNIQUE
主键约束主键是一行数据的唯一标识,要求非空且唯一PRIMARY KEY
默认约束保存数据时,如果未指定该字段的值,则采用默认值DEFAULT
检查约束(8.0.16版本之后)保证字毅值满足某一个条件CHECK
外键约束用来让两张表的数据之间建立连接,保证数据的一致性和完整性FOREIGN KEY

注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。

2.2、演示

在这里插入图片描述

create table newDay1_3(
    id int primary key auto_increment comment '主键',
    name varchar(10) not null unique comment '姓名',
    age int check ( age>0&&age<=120 ) comment '年龄',
    status char(1) default 1 comment '状态',
    gander char(1) comment '性别'
)comment '用户表';
  • 也可以使用图示化工具

2.3、外键约束

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

在这里插入图片描述

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

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

相关文章

分布式医疗云平台【基础功能搭建、数据表定义、ERP业务表、系统表、其它配置表 】(三)-全面详解(学习总结---从入门到深化)

基础功能搭建 创建数据库 数据表定义 ERP业务表 系统表 其它配置表 基础功能搭建 创建数据库 执行脚本&#xff0c;创建基础数据 数据表定义 业务表 his_care_order: 药用处方表&#xff0c;涉及的业务模块&#xff1a;处方收费、处方发药、新开检查 his_care_history…

jetson填坑-单独安装cuda,cudnn,tensorrt任意适用版本

前言 jetson无法单独安装cuda&#xff0c;cudnn&#xff0c;tensorrt的解决方法&#xff0c;比下载SDK manager刷机安装简单好多倍 这个方法是直接下载deb包安装&#xff0c;deb包安装网站 https://repo.download.nvidia.com/jetson/ 单独安装cuda 1 sudo apt-get install …

ArcMap:第一届全国大学生GIS应用技能大赛(滁州学院)详解

目录 01 上午题 1.1 题目 1.2 数据 1.2.1 如何添加比赛数据&#xff1f; 1.2.2 比赛数据展示 1.3 思路 1.3.1 坐标系问题 1.4 实操 1.4.1 建立空间数据库和比赛数据导入 1.4.2 坐标系问题解决 1.4.3 要素的订正 1.4.4 数据入库和符号化管理&#xff1b; 1.4.5 其…

C++ thread编程(Linux系统为例)—thread成员函数

c 11 之后有了标准的线程库&#xff1a;std::thread。 参考thread库的使用 构造函数 thread的构造函数有下面四个重载 默认构造函数 thread() noexcept初始化构造函数 template <class Fn, class... Args> explicit thread (Fn&& fn, Args&&... arg…

HP-800G4-DM 电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板HP 800G4 DM 35W 处理器intel i5-9600T已驱动 内存Samsung DDR4 2666 32G*2已驱动 硬盘WD SN750 500G已驱动 显卡intel UHD 630已驱动 声卡瑞昱…

SpringBoot项目中Controller层、Service层、Dao层、entity层、Configuration层、Utils层作用

SpringBoot项目中各层的作用 1、Controller层2、Service层3、Dao层&#xff08;Mapper层&#xff09;4、entity层&#xff08;model层&#xff09;5、Configuration层6、Utils层各层作用架构图 1、Controller层 Controller层为控制层&#xff0c;一般使用 RestController 或 C…

【Linux入门】Linux指令(2)

【Linux入门】Linux指令(2) 目录 【Linux入门】Linux指令(2)时间相关的指令cal指令find指令&#xff08;重要&#xff0c;选项很多&#xff09;-namegrep指令zip/unzip指令tar指令&#xff08;重要&#xff09;bc指令uname -r指令重要的几个热键[Tab],[ctrl]-c, [ctrl]-d关机&a…

车载软件架构——闲聊几句AUTOSAR OS(一)

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人们会在生活中不断攻击你。他们的主要武器是向你灌输对自己的怀疑:你的价值、你的能力、你的潜力。他们往往会将此伪装成客观意见,但无一例外的是,他们想…

transformers两个入门示例

根据《attention is all you need》论文而形成的transformers框架在chat-gpt应用中大放异彩&#xff0c;目前transformers框架已经成了炙手可热的框架。它不仅在nlp方面很作用很大&#xff0c;根据官网的介绍&#xff0c;它还可以做很多事情&#xff0c;比如图片分类&#xff0…

【SpringCloud】二、服务注册与发现 Eureka与Nacos

文章目录 一、Eureka1、服务提供者与消费者2、Eureka原理分析3、搭建Eureka4、服务注册5、模拟多服务实例启动6、服务的发现 二、Ribbon1、负载均衡的原理2、源码分析3、负载均衡策略 三、Nacos三、网关gateway1、网关的作用2、搭建网关服务 一、Eureka 1、服务提供者与消费者…

多源传感器GNSS INS 视觉 LiDAR 组合导航与SLAM开源项目总结

多源传感器GNSS INS 视觉 LiDAR 组合导航与SLAM开源项目总结 本文基于 吴桐wutong 微信公众号文章完善而来。 开源代码总览 名称传感器类型组合类型滤波方法备注RTKLIBG-KFGAMP、rtklibexplorerhttps://www.rtklib.com/GPSTKG-KFhttps://github.com/SGL-UT/GPSTkBNCG-KFppp_…

[MRCTF2020]Ez_bypass1

一打开就是一坨看起来像乱码的东西 查看源码才看的舒服点&#xff0c;原来是一串PHP代码 这么长一段&#xff0c;翻译起来还有点麻烦 首先第一个if语句 检测GET传参gg和id是否存在 如果不存在就输出’Please input first‘&#xff08;请先输入&#xff09;并利用die函数退出脚…

java boot项目基础配置之banner与日志配置演示 并教会你如何使用文档查看配置

上文 我们简单讲了一下 springboot 项目的配置 都是写在resources下的application.properties中 springboot 项目中 配置都写在这一个文件 可以说非常方便 不像之前 写个项目配置这里一个哪里一个 看到是非常费力 我们启动项目 这里有个图案 其实 这叫 banner 我们就用配置来…

从零开始:Java中如何定义和访问静态字段和方法

&#x1f9d1;‍&#x1f4bb;CSDN主页&#xff1a;夏志121的主页 &#x1f4cb;专栏地址&#xff1a;Java基础进阶核心技术专栏 目录 &#x1f377; 一、静态字段 &#x1f378; 二、静态常量 &#x1f379; 三、静态方法 &#x1f37a; 四、工厂方法 &#x1f964; 五、…

使用Vue完成一个户籍管理系统

js <template> <div> <h2>学籍管理系统</h2> <div> 姓名&#xff1a; <input v-model"user.name" /> </div> <div> 年龄&#xff1a; <input v-model"user.age" /> </div> <div> 性别…

python + windQuant:挑选公司

给定一些k线选股指标&#xff0c;如何挑选符合条件的公司&#xff0c;以python windquant为例&#xff1f; 【申明&#xff1a;本例只用来作为python学习交流之用&#xff0c;切勿以此作为投资的选股条件】 0、用以下条件挑选公司&#xff1a; 仅作示例用&#xff1a; 【1】…

黑马QtDay1学习笔记

文章目录 黑马QtDay1学习笔记1 Qt简介2 Qt项目创建2.1 项目名称 不能有空格和中文2.2 项目路径不能有中文路径2.3 创建窗口三大基类2.4 Main函数中2.5 .pro文件 3 QPushButton按钮4 Qt中的对象树5 Qt中的坐标系6 Qt中信号和槽基本使用7 自定义信号和槽7.1 自定义信号 写在 sign…

【C++】——模板(泛型编程+函数模板+类模板)

文章目录 1. 前言2. 泛型编程3. 函数模板3.1 函数模板的原理3.2 函数模板的实例化3.3 模板参数的匹配原则 4. 类模板4.1 类模板的实例化 5. 结尾 1. 前言 之前我们学习了函数重载&#xff0c;让我们在写相似函数的时候非常方便&#xff0c;但函数重载还有很多不足的地方&#…

车载基础软件——嵌入式系统时间特性分析

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 人们会在生活中不断攻击你。他们的主要武器是向你灌输对自己的怀疑&#xff1a;你的价值、你的能力、你的潜力。他…

AI人工智能逻辑回归的原理、优缺点、应用场景和实现方法

逻辑回归&#xff08;Logistic Regression&#xff09;是一种常见的机器学习算法&#xff0c;它被广泛应用于分类问题。在人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;领域中&#xff0c;逻辑回归是一种简单而有效的算法&#xff0c;可以用于许…