SQL入门技巧?

时间:2020-03-06 14:29:58  来源:igfitidea点击:

我从未非常需要使用数据库进行编程。由于它们的用途如此广泛,因此对我来说似乎是一件好事。 SQL似乎是开始的地方,可能是SQLite,也可能是Python绑定。我们对这个新手有什么建议?欢迎使用库,工具和项目构想。

解决方案

如果使用.NET框架进行编程,则学习LINQ可能是一个不错的起点。 LINQ"引擎"将为我们处理与数据库(或者对象,实体或者XML等)的后端通信。如果我们想更深入地研究,可以探索由我们编写的LINQ生成的SQL。

如果我们已经对Web应用程序了解了一两件事,那么这将是一个不错的起点。几乎每个严肃的Web应用程序都使用SQL数据库作为其后端。

尝试使用Wikipedia,http://www.w3schools.com/sql/default.asp和http://www.sql-tutorial.net/并在YouTube上查看SQL视频。

Head First的人们拿出了一本书。按照他们其他书的好坏,我推荐这本书。还没看过。 (关联)

没错,SQLite是一个很好的起点,因为它是免费,轻量级的,并且在许多平台上都可用。虽然这只是一个开始。 SQLite在SQL语法方面非常宽松,并且缺少像DBMS系统一样的内部编程语言。不过,如果我们想以最小的开销开始学习,SQLite是最佳选择。

SQLite很不错,他们的文档也很不错,但是我们应该知道,它不是像MySQL,Postgres或者商业版本那样的功能齐全的SQL数据库。 SQLite的API依赖于回调,这是一个很好的模型,但并非所有数据库API都可以那样工作。如果我们熟悉Perl,那么DBI是探索SQL的另一种不错的方法。

/艾伦

结构查询语言(SQL)是用于与数据库管理系统(DBMS)进行通信的语言。虽然学习是一件好事,但最好记住一个我们想做的项目。有趣的是,我们说从来没有需要,因为相反,几乎我编写的每个程序都使用了某种数据库。绝大多数(主要是基于Web的)都围绕使用数据库进行。

  • 了解关系和数据库体系结构。这意味着如何构造表,建立外键和关系。例如,我们可能有一个电影数据库。在其中存储有关电影,发行电影的工作室以及电影中的演员的信息。每个都成为一个表。每部电影都是由一个Studio发行的。由于我们不想在每个"电影"条目中存储重复的工作室信息(地址等),因此我们要存储与之的关系,因此每个"电影"项目都包含对Studio项的引用。这被称为一对多关系(一个工作室有很多电影)。同样,我们也不想存储每个电影的Actor信息。但是,一个演员可以出现在许多电影中,因此它被存储为多对多关系。
  • 学习SQL本身。 SQLCourse是一个入门的好地方,但是还有许多其他书籍和资源。 SQL是一种标准,但是每个RDBMS都有其自己的特定于供应商的方式来做某些事情和其他限制(例如,某些系统不支持子查询,有几种不同的语法用于限制返回的行数,等等。 )。重要的是要了解所使用的语法(例如,不要学习Oracle语法,然后尝试在MySQL中使用它),但是它们足够相似,以至于概念相同。
  • 工具取决于我们使用的DBMS。 MySQL是一个非常流行的数据库,提供了许多工具和大量书籍。 SQLite和Postgresql也很受欢迎,并且也是免费/开源的。

我们可能要考虑从MySQL开始,因为它已有广泛的文档并且非常容易上手。我们可以下载Community Edition,然后添加GUI工具,然后将同时具有GUI和命令行界面。

如果可以的话,我们真的想找到一个知道如何使用它的人,然后动动脑筋。那是因为有很多重要的原则(例如第三范式),通过讨论而不是从书本中学习起来会容易得多。

如果我们想教自己,则应该学习进行基本选择,联接,更新,删除和分组查询的语法。我们还应该学习精选的"瑞士军刀",CASE语句。太多人没有。此线程中推荐的许多教程都可以做到这一点。然后,我们需要尝试解决SQL问题。我确信Joe Celko的SQL难题和解答是它们的一个很好的来源,尽管它可能有些高级。

这将使我们实际编写SQL。但是我们仍然需要学习如何组织数据库。多数情况下,这意味着我们真的需要学习第三范式的外观。我们不必为其提供正式定义,只需在看到它时就识别它,并且知道如何调整某种格式即可。

很多参考文献都会对此进行解释,但是我们不知道自己是否正确阅读它们。在这里,访问某个可以查看表布局并告诉我们"对的"与"对的错,这是需要更改的地方"的人确实非常有帮助。如果其他所有方法都失败,则可以在此处提出带有建议布局的问题。但是,与现场人员进行来回讨论仍将是IMO的首选。

" SQL的温和介绍"我们甚至可以在本教程网站上练习"实时查询"。

http://sqlzoo.net/

我总是推荐《实用SQL手册》作为初学者的良好起点,特别是对于那些了解SQL但从不了解如何自行建立查询或者如何工作的初学者。

Celko的所有书籍都很棒。

埃尔南德斯的《凡人》一书很好。

肯·亨德森(Ken Henderson)的书也很出色。

稍微阅读一下关系代数是理解关系数据库的基础概念的好方法。

Jeo Clecko的用于聪明人的SQL非常出色。

读一本书开始学习有关SQL的知识。我不久前从Apress读了《 Beginning SQL Queries》,发现它清晰,逻辑上是为初学者编写的(我为一位同事审阅过)。

我建议在此站点上练习:sql-ex.ru
如果操作正确,我们甚至可以获得证书。

我从这里学到了90%的SQL知识。 1997年。

我认为它仍然站起来。

从Ideone开始,然后仅使用Web浏览器尝试在线查询。