一、简介
大家好,上一讲我们详细了解了数据库的基本概念。 在我们进入SQL数据库的使用和开发之前,我们必须对SQL语言有一个基本的了解。 所以本节课我们将重点学习SQL语言的相关知识。
2. SQL 概述
1. SQL的定义及简要说明
那么,SQL语言是一种什么样的语言呢? 所谓SQL语言,其实就是“ Query ”,SQL(单独阅读)是 Query 的缩写。
SQL语言的核心功能包括数据查询、数据操作、数据定义和数据控制四个部分。
SQL语言具有简单、方便、实用的优点,用来完成其核心功能。
SQL语言只使用了6个动词,分别是query()、()、()、()、()和grant(GRANT())。
2. SQL 能做什么?
那么,我们就会困惑,SQL语言能做什么呢?
如果有一天,公司领导要求你根据公司现有的销售数据生成一些统计信息。 考虑到传统的办公软件已经无法满足这样的业务需求,使用数据库来完成数据的统计分析似乎是唯一的选择。
对于这样一组销售数据,如果我们使用SQL来查询数据库,那么我们只需要编写这样一组语句就可以计算出指定月份的销售金额。 那么这就是我们可以使用SQL语言来实现的。
2. SQL语言组成
SQL语言是一种具有强大查询能力的数据库语言。 此外,SQL语言还可以控制数据库管理系统为用户提供其他相关功能,它们是数据定义语言、数据检索语言、数据操作语言、数据控制语言、数据共享和数据完整性。
1. 数据定义语言
SQL语言允许用户定义存储数据的结构和组织,以及存储数据项之间的关系。 这是数据定义语言。 数据定义语言包含表操作、视图操作、索引操作等多种操作语句。 例如,常用的建表语句就是典型的数据定义语言。
2. 数据检索语言
SQL允许用户或应用程序从数据库中检索存储的数据并使用它,然后使用数据检索语言。 数据检索语言包括多种操作语言,包括查询语句和过滤语句。 我们常用的条件语句、最小值函数、最大值函数、均值函数、求和函数等都属于数据检索语言。
3.数据操作语言
SQL 允许用户或应用程序通过添加新数据、删除旧数据和修改以前存储的数据来更新数据库。 这就需要在我们的SQL中使用一种非常重要的数据操作语言。
最常用的查询语句、插入语句、删除语句和修改语句都属于数据操作语言。
4.数据控制语言
我们可以使用SQL语言来限制用户检索、添加和修改数据的能力,并保护存储的数据不被未经授权的用户访问。 然后我们将使用数据控制语言。 数据控制语言包括两类语言:数据控制和事务控制。 我们使用的授权控制语句和事务控制语句都属于数据控制语言。
5. 编程的SQL语句
最后我们来谈谈编程的 SQL 语句。 编程的SQL语句包括一些语法,例如变量的定义和SQL语句的动态执行。 与我们前面提到的语言类型相比,我们使用的这些语法并不多。 ,我们这里就不详细解释了。
3. SQL语句的结构
1.注意语法顺序
那么下面我们就了解一下SQL语句的结构。 首先,我们了解SQL语句的语法顺序。 我们以查询语句为例给大家详细解释一下。
好了,如果我们想要得到右边的数据结果,那么查询语句的语法顺序应该是query,字段列表,from,表名,条件是age大于10,group byage,take分组计数大于1,最后输出前4项。
由此我们可以总结出查询语句的语法顺序是:
步骤1:首先选择表,然后选择from,生成虚拟表1;
步骤2,如果有Join且ON,那么我们将其他表连接并合并,生成虚拟表2;
步骤3:对虚拟表2进行条件过滤,满足条件的记录将插入到虚拟表3中;
步骤4:对虚拟表3中的记录进行分组,生成虚拟表4;
步骤5:对虚拟表4进行条件过滤,满足条件的记录将重新插入到虚拟表5中;
步骤6、然后使用关键字选择指定列插入到虚拟表6中;
步骤7,如果遇到UNION,则再连接两条查询语句,重复步骤1到6,将两个虚拟表合并为虚拟表7;
步骤8:对虚拟表7中的记录进行排序,重新生成虚拟表8。
步骤9,最后再次检索指定行的记录并返回结果集。
那么这就是整个查询语句的执行顺序。
从上面的语法顺序分析,我们还可以总结出以下两点:
1. 语句总是先写,但在大多数语句之后执行。 所以在SQL语句中,我们不能使用WHERE、GROUP BY等语句中设置的别名。
2、无论是写入顺序还是执行顺序,UNION都排在ORDER BY前面。 SQL语句会将所有UNION查询记录合并在一起,然后对它们进行排序。
2. 不区分大小写
SQL语句关键字不区分大小写。 SQL语句中的关键字,无论是小写还是大写,我们都可以执行。
3、不同数据库系统之间SQL语法的异同
下面说一下不同数据库系统之间SQL语法的差异。 我们谈论不同的数据库系统,比如MySql、SQL,或者说它们在SQL语法上有差异。
不过不用担心,这个差别并不大,因为它们都是结构化查询语言,而且都遵循结构化查询语言的语法标准,所以如果你学过MySql版本的SQL语言再学习SQL版本,那么也就自然而然了。
考虑到覆盖率问题,我们以后大部分时间都会使用MySql数据库,并结合数据库管理工具来和大家一起学习SQL语言。
四、本次讲座总结
通过本课的学习,我们对SQL语言的基本概念有了基本的了解。 那么下一课我们将一起学习数据库、表、行和行键等概念。
好的,这就是本课的内容。 谢谢你们!
好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。