知道SQL的基本特征是哪些?

他们全部。

回答这样的问题是不可能的。 汽车的重要特征是什么? 那么,什么样的车? 我爱我的吉普车。 它的重要特征是能够越野和越野。 但是,如果你想在Formula1中比赛,这是一个非常可怕的选择。 一级方程式赛车不会参加纳斯卡比赛。 它们都不会在拖曳带上表现良好。 我们必须定义我们正在寻找的东西,而不仅仅是说Car,然后获得一个有意义的需求列表。

那么,您需要从数据库管理系统中获得什么?

有了这些信息,我们就可以开始讨论可以支持或不支持这些需求的重要功能。 没有这些信息,我真正可以告诉你的是,SQL,Microsoft SQL Server和MySQL都有很长很成功的软件实现历史。 它们支持各种业务和非业务需求,因为它们具有很强的功能和灵活性。 但它们并不能满足所有可能的数据需求,所以在为我们正在讨论的任何项目提交这些数据之前,您应该确保需要一个关系数据管理系统。

要求回答。

许多人会引以为傲的功能,但考虑到核心数据库管理系统,在我看来,索引是最重要的功能之一……如果必须列出一个列表:

  1. 索引, – – 快速搜索表格
  2. 存储过程, – 任何支持一次写入并多次使用的东西
  3. 意见, – – 不要暴露整个表格
  4. 锁定, – 确保多个用户不会同时更新您的数据
  5. 分组和排名功能 – – 安排您的数据并从中提取最佳数据……

基本技能…

选择
插入
UPDATE
删除

哪里

通过…分组

HAVING

订购

了解使用INNER,LEFT和RIGHT联接的正确方法

了解如何使用COUNT,SUM和AVG

知道何时使用IN()和EXISTS,以及UNION和UNION ALL之间的不同

了解不同的数据库如何允许您限制返回或删除的行数。

了解如何使用索引来提高性能

更先进:

能够编写相关的子查询

至少要了解WITH Common-Table-Expressions的工作原理

创建和修改视图和存储过程

使用PIVOT

了解索引何时会影响性能

简而言之,MSSQL拥有丰富的工具集,在我看来是无与伦比的。 我喜欢我可以看到系统在低级别做什么,我喜欢我有一个很棒的编辑器,可以帮助我编写大量的代码。

我不能充分赞扬存储过程和触发器。 他们是上帝派来的,并且在大多数其他版本的数据库中都很痛苦。 实际上,在许多数据库系统中,没有诸如操纵数据的综合语言之类的东西。 因此,您不得不将所有相关数据提取到中间层甚至客户端,然后使用效率低下的代码将其全部删除。

这是一个模糊的问题。 但我发现有模糊问题的人是需要直接答案的人,因为他们只是进入了这个主题。 所以这里的答案适合刚刚开始SQL的人。 请原谅我,如果这是冒昧的。

在我看来,您应该考虑的重要功能是:

  1. “选择”和“左连接”
  2. 对表的唯一约束
  3. 主键和外键
  4. 关系类型(例如一对一,一对多)

其中两个几乎没有功能,而是数据库概念。 最后,数据库是一种可以帮助您管理数据的唯一性和关系的工具。 如果您不理解这个概念,那么没有任何功能可以使您受益。

基本上,插入,修改,选择和删除。

之后,所有其余的。 还有很多“休息”。 阅读MySQL 5.7参考手册。 (我找不到7的手册了。)