Derby教程

Derby 检索数据

SELECT 语句用于从表中检索数据。这以称为结果集的表格形式返回数据。

语法

以下是 SELECT 语句的语法-
ij> SELECT column_name, column_name, ... FROM table_name;
Or,
Ij>SELECT * from table_name

示例

假设我们在数据库中有一个名为 Employees 的表,如下所示-
ij> CREATE TABLE Employees (
   Id int NOT null GENERATED ALWAYS AS IDENTITY,
   Name VARCHAR(255),
   Salary int NOT null,
   Location VARCHAR(255),
   PRIMARY KEY (Id)
);
> > > > > > > 0 rows inserted/updated/deleted
然后,在其中插入四条记录,如下所示-
ij> INSERT INTO Employees (Name, Salary, Location) VALUES
   ('Amit', 30000, 'Hyderabad'),
   ('Kalyan', 40000, 'Vishakhapatnam'),
   ('Renuka', 50000, 'Delhi'),
   ('Archana', 15000, 'Mumbai');
> > > > 4 rows inserted/updated/deleted
以下 SQL 语句检索表中所有员工的姓名、年龄和工资详情:
ij> SELECT Id, Name, Salary FROM Employees;
这个查询的输出是-
ID|NAME   |SALARY
------------------------------------------------------------------------
1 |Amit   |30000
2 |Kalyan |40000
3 |Renuka |50000
4 |Archana|15000
4 rows selected
如果你想一次得到这个表的所有记录,用*代替列名。
ij> select * from Employees;
这将产生以下结果-
ID |NAME    |SALARY |LOCATION
------------------------------------------------------------------
1  |Amit    |30000  |Hyderabad
2  |Kalyan  |40000  |Vishakhapatnam
3  |Renuka  |50000  |Delhi
4  |Archana |15000  |Mumbai
4 rows selected

使用JDBC程序检索数据

本节教您如何使用 JDBC 应用程序从 Apache Derby 数据库中的表中检索数据。
如果要使用网络客户端请求 Derby 网络服务器,请确保在服务器启动并运行。网络客户端驱动程序的类名是 org.apache.derby.jdbc.ClientDriver,URL 是 jdbc:derby://localhost:1527 DATABASE_NAME;create=true;user= USER_NAME ;密码= 密码"
按照下面给出的步骤从 Apache Derby 中的表中检索数据-

第一步:注册驱动

要和数据库通信,首先需要注册驱动。 Class 类的 forName() 方法接受一个表示类名的 String 值,将它加载到内存中,内存会自动注册它。使用此方法注册驱动程序。

第 2 步:获取连接

一般来说,我们与数据库通信的第一步是连接它。 Connection 类表示与数据库服务器的物理连接。您可以通过调用 DriverManager 类的 getConnection() 方法来创建连接对象。使用此方法创建连接。

第 3 步:创建语句对象

您需要创建 StatementPreparedStatementCallableStatement 对象以将 SQL 语句发送到数据库。您可以分别使用 createStatement()prepareStatement()prepareCall() 方法创建这些。使用适当的方法创建其中一个对象。

第 4 步:执行查询

创建语句后,需要执行它。 Statement 类提供了各种方法来执行查询,例如 execute() 方法来执行返回多个结果集的语句。 executeUpdate() 方法执行 INSERT、UPDATE、DELETE 等查询。 executeQuery() 方法返回数据等结果。使用这些方法之一并执行之前创建的语句。

示例

以下 JDBC 示例演示了如何使用 JDBC 程序从 Apache Derby 中的表中检索数据。在这里,我们使用嵌入式驱动程序连接到名为 sampleDB 的数据库(如果不存在则创建)。
executeQuery() 方法返回一个 ResultSet 对象,该对象保存语句的结果。最初结果集指针将位于第一条记录,您可以使用其 next()getXXX() 方法打印 ResultSet 对象的内容。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class RetrieveData {
   public static void main(String args[]) throws SQLException,
      ClassNotFoundException {
      //Registering the driver
      Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
      //Getting the Connection object
      String URL = "jdbc:derby:sampleDB;create=true";
      Connection conn = DriverManager.getConnection(URL);
      //Creating the Statement object
      4Statement stmt = conn.createStatement();
      //Creating a table and populating it
      String query = "CREATE TABLE Employees("
         + "Id int NOT null GENERATED ALWAYS AS IDENTITY, "
         + "Name VARCHAR(255), Salary int NOT null, "
         + "Location VARCHAR(255), "
         + "PRIMARY KEY (Id))";
      String query = "INSERT INTO Employees("
         + "Name, Salary, Location) VALUES "
         + "('Amit', 30000, 'Hyderabad'), "
         + "('Kalyan', 40000, 'Vishakhapatnam'), "
         + "('Renuka', 50000, 'Delhi'), "
         + "('Archana', 15000, 'Mumbai'), "
         + "('Trupthi', 45000, 'Kochin'), "
         + "('Suchatra', 33000, 'Pune'), "
         + "('Rahul', 39000, 'Lucknow'), "
         + "('Trupti', 45000, 'Kochin')";
      //Executing the query
      String query = "SELECT Id, Name, Salary FROM Employees";
      ResultSet rs = stmt.executeQuery(query);
      while(rs.next()) {
         System.out.println("Id: "+rs.getString("Id"));
         System.out.println("Name: "+rs.getString("Name"));
         System.out.println("Salary: "+rs.getString("Salary"));
         System.out.println(" ");
      }
   }
}

输出

执行上述程序后,您将获得以下输出。
Id: 1
Name: Amit
Salary: 30000
Id: 2
Name: Kalyan
Salary: 43000
Id: 3
Name: Renuka
Salary: 50000
Id: 4
Name: Archana
Salary: 15000
Id: 5
Name: Trupthi
Salary: 45000
Id: 6
Name: Suchatra
Salary: 33000
Id: 7
Name: Rahul
Salary: 39000 
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4