在 Coderpad 中写入 SQL

Writing SQL in Coderpad

我即将参加面试,我将在 Coderpad 中编写代码。在 Coderpad 中写 SQL 的语法是什么? (注意带 "r" 的键盘,而不是键盘)。

首先,您 select 一种用于 Coderpad 的语言。我正在 selecting Scala。

这是他们提供的数据库:

+--------------------+-----------+---------------+
| Table Name         | Row Count | Table Size KB |
+--------------------+-----------+---------------+
| departments        |         5 |       16.0000 |
| employees          |         6 |       32.0000 |
| employees_projects |         5 |       48.0000 |
| projects           |         3 |       16.0000 |
+--------------------+-----------+---------------+

这是有效的 Scala 代码:

object Solution extends App {
  for (i <- 0 until 5) println("Hello, World!")
}

我想运行一个简单的SQL查询。

SELECT * FROM employees;

注意:我可以使用 Scala 在 Spark 中编写复杂的 SQL。我已经编写了数百个 Databricks Scala 笔记本。所以,我不需要 Scala 入门或 SQL。

我只需要正确的 SYNTAX 来在 CoderPad 中编写 any 简单的 SQL 查询就可以开始了。谢谢。

换句话说,如何将 SQL 语句插入到 Scala 对象中?

我试过了:

object Solution extends App {
  //for (i <- 0 until 5) println("Hello, World!")
  val myTest = SQL("select * from employees").as(mapping *)
  myTest.take(1)


}

但是得到这个错误:

Solution.scala:6: error: not found: value SQL
  val myTest = SQL("select * from employees").as(mapping *)
               ^
Solution.scala:6: error: not found: value mapping
  val myTest = SQL("select * from employees").as(mapping *)

您需要像在 Java

中那样连接到您的数据库

他们应该会提供给你连接的数据库信息,所以你需要做下面的步骤(凭记忆写的,抱歉有什么遗漏)

导入所需的 类:

import java.sql.DriverManager
import java.sql.Connection

然后定义要连接的属性:

val driver = "com.mysql.jdbc.Driver"
val url = "jdbc:mysql://whateverServer/whateverDatabase"
val username = "user"
val password = "password"

创建驱动程序然后创建连接:

Class.forName(driver)
val connection = DriverManager.getConnection(url, username, password)

然后是语句,然后是 运行 查询本身:

val statement = connection.createStatement()
val resultSet = statement.executeQuery("select * from employees")

我是 CoderPad 的开发者。目前,您无法在其他语言环境中连接到 MySQL 数据库。不过,这是我们最终想要做的事情。