SQL教程(五)简单实例学习:时间函数(二)基础入门级

6 篇文章 0 订阅
6 篇文章 0 订阅


目录

一、🌎SQL 简介

1.1 📜SQL 是什么?

1.2 📜SQL 能做什么?

1.3 📜SQL 是一种标准 - 但是...

1.4 📜在您的网站中使用 SQL

1.4 📜RDBMS

1.5 📜请记住...

1.6 📜SQL 语句后面的分号?

1.7 📜一些最重要的 SQL 命令

二、📚不断学习

2.1、📘将课程创建日期均推迟一天

2.2、 📘将课程创建日期均提前一天

2.3、 📘计算课程表中所有课程指定日期与开课日期的月数差

三、🥇Summary

获取源码?私信?关注?点赞?收藏?


SQL 是用于访问和处理数据库的标准的计算机语言。

在本教程中,您将学到如何使用 SQL 访问和处理数据系统中的数据,这类数据库包括:MySQL、SQL Server、Access、Oracle、Sybase、DB2 等等。


一、🌎SQL 简介


SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。


1.1 📜SQL 是什么?

  • SQL 指结构化查询语言,全称是 Structured Query Language。
  • SQL 让您可以访问和处理数据库,包括数据插入、查询、更新和删除。
  • SQL 在1986年成为 ANSI(American National Standards Institute 美国国家标准化组织)的一项标准,在 1987 年成为国际标准化组织(ISO)标准。

1.2 📜SQL 能做什么?

  • SQL 面向数据库执行查询
  • SQL 可从数据库取回数据
  • SQL 可在数据库中插入新的记录
  • SQL 可更新数据库中的数据
  • SQL 可从数据库删除记录
  • SQL 可创建新数据库
  • SQL 可在数据库中创建新表
  • SQL 可在数据库中创建存储过程
  • SQL 可在数据库中创建视图
  • SQL 可以设置表、存储过程和视图的权限

1.3 📜SQL 是一种标准 - 但是...

虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。

然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。


1.4 📜在您的网站中使用 SQL

要创建一个显示数据库中数据的网站,您需要:

  • RDBMS 数据库程序(比如 MS Access、SQL Server、MySQL)
  • 使用服务器端脚本语言,比如 PHP 或 ASP
  • 使用 SQL 来获取您想要的数据
  • 使用 HTML / CSS

1.4 📜RDBMS

RDBMS 指关系型数据库管理系统,全称 Relational Database Management System。

RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。

RDBMS 中的数据存储在被称为表的数据库对象中。

表是相关的数据项的集合,它由列和行组成。


1.5 📜请记住...

  • SQL 对大小写不敏感:SELECT 与 select 是相同的。

1.6 📜SQL 语句后面的分号?

某些数据库系统要求在每条 SQL 语句的末端使用分号。

分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的 SQL 语句。

在本教程中,我们将在每条 SQL 语句的末端使用分号。


1.7 📜一些最重要的 SQL 命令

  • SELECT - 从数据库中提取数据
  • UPDATE - 更新数据库中的数据
  • DELETE - 从数据库中删除数据
  • INSERT INTO - 向数据库中插入新数据
  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

二、📚不断学习

2.1、📘将课程创建日期均推迟一天


请编写 SQL 语句,查询 courses 表中课程的课程创建日期,并将课程创建日期均推迟一天,最后返回课程名称 name 及修改后的课程创建时间,修改后的课程创建时间命名为 new_created 。

表定义: courses(课程表)

列名类型注释
idint unsigned主键
namevarchar课程名称
student_countint学生总数
created_atdate课程创建时间
teacher_idint讲师 id
  • 结果列名需要重命名

样例

样例一:

表内容 : courses

idnamestudent_countcreated_atteacher_id
1Advanced Algorithms8802020-6-14
2System Design13502020-7-183
3Django7802020-2-293
4Web3402020-4-224
5Big Data7002020-9-111
6Artificial Intelligence16602018-5-133
7Java P6+7802019-1-193
8Data Analysis5002019-7-121
10Object Oriented Design3002020-8-84
12Dynamic Programming20002018-8-181

在运行你的 SQL 语句之后,表应返回:

namenew_created
Advanced Algorithms2020-06-02
System Design2020-07-19
Django2020-03-01
Web2020-04-23
Big Data2020-09-12
Artificial Intelligence2018-05-14
Java P6+2019-01-20
Data Analysis2029-07-13
Object Oriented Design2020-08-09
Dynamic Programming2018-08-19

样例二:

表内容 : courses

idnamestudent_countcreated_atteacher_id
1Advanced Algorithms8802020-6-24
6Artificial Intelligence16602018-5-143
7Java P6+7802019-1-193

在运行你的 SQL 语句之后,表应返回:

namenew_created
Advanced Algorithms2020-06-03
Artificial Intelligence2018-05-15
Java P6+2019-01-20
select name,date_add(created_at,interval 1 DAY)as new_created 
from courses

2.2、 📘将课程创建日期均提前一天


请编写 SQL 语句,查询 courses 表中课程的课程创建日期,将课程创建日期均提前一天,最后返回课程 id 、课程名称 name 及修改后的开课日期,修改后的课程创建日期命名为 new_created 。

表定义: courses(课程表)

列名类型注释
idint unsigned主键
namevarchar课程名称
student_countint学生总数
created_atdate课程创建时间
teacher_idint讲师 id
  • 结果列名需要重命名
  • 如果查询不到创建时间,则无法修改

样例

样例一:

表内容 : courses

idnamestudent_countcreated_atteacher_id
1Advanced Algorithms8802020-6-14
2System Design13502020-7-183
3Django7802020-2-293
4Web3402020-4-224
5Big Data7002020-9-111
6Artificial Intelligence16602018-5-133
7Java P6+7802019-1-193
8Data Analysis5002019-7-121
10Object Oriented Design3002020-8-84
12Dynamic Programming20002018-8-181

在运行你的 SQL 语句之后,表应返回:

idnamenew_created
1Advanced Algorithms2020-5-31
2System Design2020-7-17
3Django2020-2-28
4Web2020-4-21
5Big Data2020-9-10
6Artificial Intelligence2018-5-12
7Java P6+2019-1-18
8Data Analysis2019-7-11
10Object Oriented Design2020-8-7
12Dynamic Programming2018-8-17

样例二:

表内容 : courses

idnamestudent_countcreated_atteacher_id
1Advanced Algorithms8802020-6-14
6Artificial Intelligence16602018-5-133
7Java P6+780null3

在运行你的 SQL 语句之后,表应返回:

idnamecreated_at
1Advanced Algorithms2020-5-31
6Artificial Intelligence2018-5-12
7Java P6+null
select id,name,date_sub(created_at,interval 1 day) as new_created
from courses

2.3、 📘计算课程表中所有课程指定日期与开课日期的月数差


请编写 SQL 语句,查询 courses 表,计算 '2020-04-22' 与课程创建时间的月数差,返回列名显示为 MonthDiff。

表定义: courses(课程表)

列名类型注释
idint unsigned主键
namevarchar课程名称
student_countint学生总数
created_atdate课程创建时间
teacher_idint讲师 id

查询返回列名需要与样例输出的列名一致。

样例

样例一:

表内容:courses

idnamestudent_countcreated_atteacher_id
1Senior Algorithm8802020-06-014
2System Design13502020-07-183
3Django7802020-02-293
4Web3402020-04-224
5Big Data7002020-09-111
6Artificial Intelligence16602018-05-133
7Java P6+7802019-01-193
8Data Analysis5002019-07-121
10Object Oriented Design3002020-08-084
12Dynamic Programming20002018-08-181

在运行你的 SQL 语句之后,表应返回:

MonthDiff
-1
-2
1
0
-4
23
15
9
-3
20

样例一中课程表中课程创建时间与指定时间相等结果为0,比指定时间小结果为负数。

样例二:

表内容:courses

idnamestudent_countcreated_atteacher_id
1Senior Algorithm880null4
2System Design1350null3

在运行你的 SQL 语句之后,表应返回:

MonthDiff
null
null
select TIMESTAMPDIFF(month,created_at,'2020-04-22') as 'MonthDiff'
from courses

三、🥇Summary

已经好长时间没有更新(一个月),其实这段时间,怎么说,就也是……继续努力吧!!!

最近开始重新学习SQL了,有时候也不知道应该学点什么,需要学点什么,也并没有参加什么比赛,主要是比较菜😓,希望可以自己沉淀一段时间,💪

上述内容就是此次 SQL教程(五)简单实例学习:时间函数(二) 基础入门级 的全部内容了,感谢大家的支持,相信在很多方面存在着不足乃至错误,希望可以得到大家的指正。🙇‍(ง •_•)ง

调整自己。不忘来时路,努力前行,找到前进的方向。

2023年第三十九期,希望得到大家的喜欢🙇‍

希望大家有好的意见或者建议,欢迎私信,一起加油


以上就是本篇文章的全部内容了

 ~ 关注我,点赞博文~ 每天带你涨知识!

1.看到这里了就 [点赞+好评+收藏] 三连 支持下吧,你的「点赞,好评,收藏」是我创作的动力。

2.关注我 ~ 每天带你学习 :各种前端插件、3D炫酷效果、图片展示、文字效果、以及整站模板 、HTML模板 、C++、数据结构、Python程序设计、Java程序设计、爬虫等! 「在这里有好多 开发者,一起探讨 前端 开发 知识,互相学习」!

3.以上内容技术相关问题可以相互学习,可 关 注 ↓公 Z 号 获取更多源码 !
 

获取源码?私信?关注?点赞?收藏?

👍+✏️+⭐️+🙇‍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Enovo_你当像鸟飞往你的山

好好读书!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值