JavaScript可以与MySQL连接吗?

2022-08-30 04:57:02

JavaScript可以与MySQL连接吗?如果是这样,如何?


答案 1

客户端JavaScript如果没有某种桥梁就无法访问MySQL。但是上面粗体说JavaScript只是一种客户端语言是不正确的 - JavaScript可以运行客户端和服务器端,就像Node.js一样。

Node.js可以通过类似 https://github.com/sidorares/node-mysql2

您也可以使用 Socket.IO

您的意思是问客户端JS应用程序是否可以访问MySQL吗?我不确定是否存在这样的库,但它们是可能的。

编辑:自编写以来,我们现在有了MySQL集群

MySQL Cluster JavaScript Driver for Node.js就是它听起来的样子 - 它是一个连接器,可以直接从JavaScript代码调用以读取和写入数据。由于它直接访问数据节点,因此通过MySQL服务器不会有额外的延迟,并且需要从JavaScript代码//对象转换为SQL操作。如果由于某种原因,您希望它通过MySQL服务器传递(例如,如果您在InnoDB中存储表),则可以对其进行配置。

  • JSDB 为 DB 提供了一个 JS 接口。

  • 一组来自 sindresorhus 的 Node.js的 DB 包


答案 2

如果你想使用JavaScript连接到MySQL数据库,你可以使用Node.js和一个名为mysql的库。您可以创建查询,并以寄存器数组的形式获取结果。如果你想尝试一下,你可以使用我的项目生成器创建一个后端,然后选择MySQL作为要连接的数据库。然后,只需将新的 REST APIGraphQL 端点公开到前台,然后开始使用 MySQL 数据库即可。


怀旧留下的旧答案

然后

正如我理解这个问题并在我错了时纠正我一样,它指的是仅在客户端使用JavaScript的经典服务器模型。在这个经典模型中,使用LAMP服务器(Linux,Apache,MySQL,PHP)时,与数据库接触的语言是PHP,因此要向数据库请求数据,您需要编写PHP脚本并将返回的数据回显到客户端。基本上,根据物理机器的语言分布是:

  1. 服务器端:PHP 和 MySQL。
  2. 客户端:HTML/CSS 和 JavaScript。

这回答了MVC模型(模型,视图,控制器),其中我们具有以下功能:

  1. 型:模型是处理数据的内容,在本例中是管理变量或访问存储数据的PHP脚本,在本例中是在我们的MySQL数据库中,并将其作为JSON数据发送到客户端。
  2. 视图:视图就是我们看到的,它应该完全独立于模型。它只需要显示模型中包含的数据,但它不应该有相关的数据。在本例中,视图使用 HTML 和 CSS。HTML创建视图的基本结构,而CSS则赋予形状这个基本结构。
  3. 控制器:控制器是模型和视图之间的接口。在这种情况下,使用的语言是JavaScript,它将模型发送给我们的数据作为JSON包,并将其放在提供HTML结构的容器中。控制器与模型交互的方式是使用 AJAX。我们使用 GETPOST 方法在服务器端调用 PHP 脚本,并从服务器捕获返回的数据。

对于控制器,我们有非常有趣的工具,如jQuery,作为控制HTML结构(DOM)的“低级”库,然后是新的,更高级的工具,如Knockout.js它允许我们创建观察器,这些观察器连接不同的DOM元素,在事件发生时更新它们。还有Google的Angular.js以类似的方式工作,但似乎是一个完整的环境。为了帮助您从中进行选择,这里有两个工具的出色分析:Knockout vs. Angular.jsKnockout.js vs. Angular.js。我还在读书。希望他们能帮到你。

现在

在基于Node.js的现代服务器中,我们使用JavaScript来处理所有事情。Node.js是一个JavaScript环境,其中包含许多与Google V8,Chrome JavaScript引擎一起使用的库。我们使用这些新服务器的方式是:

  1. Node.jsExpress构建服务器的大型机。我们可以用几行代码创建一个服务器,甚至可以使用像Express这样的库来更容易创建服务器。使用Node.js和Express,我们将管理从客户端到服务器的请愿书,并使用适当的页面回答它们。
  2. 翡翠为了创建页面,我们使用一种模板语言,在本例中为Jade,它允许我们在编写HTML时编写网页,但存在差异(这需要一点时间,但很容易学习)。然后,在服务器的代码中回答客户端的请愿,我们只需要将Jade代码渲染成“真实”的HTML代码即可。
  3. 手写笔类似于Jade,但用于CSS。在这种情况下,我们使用中间件函数将手写笔文件转换为我们页面的真实CSS文件。

然后,我们有很多可以使用NPM(Node.js包管理器)安装的包,并直接在我们的Node.js服务器中使用它们,只需要它(对于那些想要学习Node.js,请尝试这个初学者教程的概述)。在这些包中,您有一些包可以访问数据库。使用此功能,您可以在服务器端使用 JavaScript 访问 My SQL 数据库。

但是,如果您要使用Node.js,您可以做的最好的事情就是使用基于JSON文件的新NoSQL数据库,如MongoDB。它不是像MySQL那样存储表,而是将数据存储在JSON结构中,因此您可以将不同的数据放在每个结构中,就像长数字向量一样,而不是为最大的一个大小创建巨大的表。

我希望这个简短的解释对您有用,如果您想了解有关此的更多信息,这里有一些可以使用的资源:

  • Egghead:这个网站充满了关于JavaScript及其环境的简短教程。值得一试。并且不时打折。
  • 代码学校:通过一门关于Chrome开发人员工具的免费且非常有趣的课程,帮助您测试客户端。
  • Codecademy:通过有关HTML,CSS,JavaScript,jQuery和PHP的免费课程,您可以按照在线示例进行学习。
  • 10gen教育:在不同语言的教程中提供您需要了解的有关MongoDB的所有信息。
  • W3Schools:这个有关于所有这些的教程,你可以把它用作参考的地方,因为它有很多短代码的例子真的很有用。
  • Udacity:一个关于不同主题的免费视频课程的地方,有一些关于Web开发的有趣课程,以及我最喜欢的,一个惊人的WebGL课程,用于JavaScript的3D图形。

我希望它能帮助你开始。

玩得愉快!