您当前的位置: 首页 >  sql

寒冰屋

暂无认证

  • 3浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

编写SQL查询的终极指南

寒冰屋 发布时间:2022-06-30 22:00:00 ,浏览量:3

目录

简要了解SQL及其主要组件

编写SQL查询需要什么?

在哪里可以创建SQL数据库?

编写SQL查询的指南

第 1 步:了解SQL查询背后的过程

第 2 步:准备好数据库

第 3 步:创建一个表格来组织信息

第 4 步:从基本SQL语句开始

1)“INSERT INTO”语句

2) 'SELECT'子句

3) 'WHERE'子句

4) 'AND'和'OR'运算符

5) 'IN'和'BETWEEN'运算符

6) 'ORDER BY'子句

7) 'LIMIT'子句

8) ' UPDATE'语句

9)’DELETE’语句

10) 'TRUNCATE TABLE'语句

第 5 步:校对您的SQL查询

不要气馁!

SQL的知识一直很受欢迎。即使您没有数据分析师的工作或任何其他相关职位,知道如何编写基本的SQL查询也可能是您简历的有用补充。

有很多资源可以了解SQL,包括我们内容丰富的Essential SQL博客。然而,如此丰富的信息常常使学习者,尤其是初学者感到困惑,因为它相当分散。

因此,今天,我们将有关编写SQL查询的所有基本信息收集到一个终极指南中,以帮助您更有效地获得和实践这些知识。

简要了解SQL及其主要组件

结构化查询语言(SQL)是一种特定于域的编程语言,旨在帮助维护数据库中保存的结构化数据。基本上,这种语言可以帮助我们与数据库通信、更新它并从中检索数据。

根据这个定义,我们可以得出结论,您可以使用SQL执行各种任务,例如:

  • 创建数据库
  • 在数据库中启动表和编写查询
  • 从数据库请求信息
  • 更新或删除特定记录或整个数据库

为了更好地理解这种语言的功能,您还需要对其主要组成部分或方言有基本的了解。

  • 数据定义语言——用于创建数据库、更新其中的数据或完全删除数据库的SQL方言。
  • 数据操作语言——用于维护数据库并指定您想要对其执行的操作(输入、更改或提取)的SQL方言。
  • 数据控制语言——用于保护数据库的SQL方言。

一些专家还挑选出用于管理和控制事务的事务控制语言方言,以维护SQL语句中的数据完整性(保证准确性和一致性)。

编写SQL查询需要什么?

要编写SQL查询,您首先需要创建一个关系数据库。

在SQL中,我们称数据库为关系型,因为它被划分为相互关联的表。这些表将数据分解为更小、更易于管理的单元,从而实现更好的维护和整体性能。

在哪里可以创建SQL数据库?

为此,您需要安装数据库管理系统(DBMS)。DBMS是一种帮助您创建和管理数据库的软件。如果您的系统上还没有安装一个,这里有一些最受欢迎的选项:

  • MySQL(开源)
  • SQL Server Express(开源)
  • Oracle(付费)

无论您选择哪种DBMS,它们都为您创建的所有数据库提供安全性和保护。如果有多个用户同时在DBMS上工作,它还有助于保持一致性。

编写SQL查询的指南

现在,让我们仔细看看编写SQL查询需要了解的内容以及要避免的一些常见错误。

第 1 步:了解SQL查询背后的过程

在开始编写SQL查询之前,您需要了解它在执行命令时是如何工作的。

当您输入查询时,它会立即被解析成一棵树。解析器是一种将SQL语句转换为解析树的计算机程序,它有助于识别查询是否符合句法和语义要求,即它是否可识别。

然后,如果一切正确,解析器会创建一个内部查询,然后将其传递给重写引擎。

之后,任务优化器会分析一个查询有多少个执行计划,为您的给定查询找到最佳执行计划。该计划表示将用于执行命令的算法。

如果查询编写正确,您将获得预期的结果。

现在,让我们看一下编写正确的SQL查询需要什么。

第 2 步:准备好数据库

因此,正如我们已经提到的,要编写SQL查询,您需要通过启动数据库为其创建环境。

如果您已经安装了DBMS软件,则可以使用“CREATE DATABASE”语句直接创建数据库。此命令的基本语法如下所示:

CREATE DATABASE   database_name;

例如,如果您想为客户评论创建一个数据库,结果将如下所示:

CREATE DATABASE client_reviews;

要继续使用您的数据库,您需要使用'USE'语句继续您的SQL查询:

USE client_reviews;

这将使该数据库成为您未来所有命令的目标。

请记住:如果具有此名称的数据库已经存在,您将收到一条错误消息。但是,为避免这种情况,您可以使用'IF NOT EXISTS'语句。这是它在MySQL中的样子:

mysql> CREATE DATABASE IF NO EXISTS client_reviews;

如果您的查询是正确的,您将收到一条OK消息。

第 3 步:创建一个表格来组织信息

如果数据库已准备就绪,您现在可以继续创建表。正如我们已经提到的,表可以帮助您构建查询并使数据更易于管理。

创建表需要输入'CREATE TABLE'语句。此语句的语法类似于:

CREATE TABLE table_name (
			column1_name_constraint,
			…
			)

我们应该在表名和列名中插入什么是很清楚的,但是让我们仔细看看约束的类型。

约束是数据类型的声明,它指示列将包含哪种数据。您可以在列中包含多种约束:

  • CHAR – 固定长度的数据字符串(最大255个字符)
  • DATE – YYYY-MM-DD格式的日期
  • DATETIME – YYYY-MM-DD格式的日期和HH:MM:SS格式的时间
  • DECIMAL – 精确的十进制数据
  • INT – 2147483648到2147483647范围内的数字
  • TEXT – 文本数据(最大大小为65,500个字符)
  • TIMESTAMP – 带有精确秒数的时间戳数据
  • VARCHAR – 可变长度数据字符串(最大大小为65,500个字符)
  • Modifiers - UNIQUE约束确保一列中每一行的唯一值;PRIMARY-KEY约束标记表中的相关字段;DEFAULT约束表示列的默认值;如果未指定,AUTO_INCREMENT则自动为字段赋值;CHECK约束对可以包含在一列中的值进行了限制;NOT NULL约束从字段中排除空值。

如果我们为每个给出客户评论的人创建一个表格,最终结果将如下所示:

CREATE TABLE  customer profiles (
			id  INT NOT NULL AUTO_INCREMENT
			name VARCHAR NOT NULL
			birth_date DATE
			review TEXT
			) ;

创建表时,如果表不存在,您可能会遇到与数据库相同的问题。为避免这种情况,在'CREATE TABLE'语句中,您还应该添加'IF NOT EXISTS'语句。

第 4 步:从基本SQL语句开始

当表准备就绪并可以运行时,您现在可以通过在表中插入数据来继续编写SQL查询。

以下是输入和管理表内数据的所有基本语句:

1)“INSERT INTO”语句

此语句用于将新行包含到表中。在这种情况下,语法如下所示:

INSERT INTO table_name (column1, column2, column 3);

您还可以包含值——您想要包含在每列中的数据。

以下是我们的客户评论表在向其中插入数据后最终查询的样子:

INSERT INTO customer profiles (name, birth_date, review)
			VALUES (‘Jennifer Dickinson’, ‘1987-07-07’, ‘good service’)

最终结果将以表格的形式为您提供姓名、出生日期和评论的编号列表。

2) 'SELECT'子句

该子句用于从一个或不同的表中选择和提取数据。此子句的语法将遵循以下模式:

SELECT column1_name, column2_name FROM table_name
			-_name

'SELECT'和'FROM'子句的组合允许您从一个或不同表中的一个或多个列中获取信息。如果要选择一个表中的所有列,可以简单地使用'SELECT'、'FROM'子句和表名的组合。

3) 'WHERE'子句

通过在表中插入此子句,您可以根据特定条件选择数据。如果您想根据姓名、出生日期等条件选择更新或完全删除行或列中的一条记录,这将很有帮助。以下是使用此子句的基本语法:

SELECT column1_name FROM table_name WHERE condition
			-_name

如您所见,该WHERE子句与'SELECT'和'FROM'子句一起使用,可帮助您从正确的列或行中获取正确的数据。

您还可以使用'WHERE'子句根据特定条件过滤不同的记录。

为确保您选择正确的数据,此子句允许您使用几个基本的比较运算符:

  • =(等于)
  • >(大于)
  • =(大于或等于)
关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.0525s