Оператор 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
В этом разделе рассказывается, как извлечь данные из таблицы в базе данных Apache Derby с помощью приложения JDBC.
Если вы хотите запросить сетевой сервер Derby с помощью сетевого клиента, убедитесь, что сервер запущен и работает. Имя класса для драйвера сетевого клиента — org.apache.derby.jdbc.ClientDriver, а URL-адрес — jdbc: derby: // localhost: 1527 / DATABASE_NAME ; create = true; user = USER_NAME ; passw ord = PASSWORD «
Выполните шаги, приведенные ниже, чтобы получить данные из таблицы в Apache Derby —
Шаг 1: зарегистрировать драйвер
Для связи с базой данных, прежде всего, необходимо зарегистрировать драйвер. Метод forName () класса Class принимает значение String, представляющее имя класса, загружает его в память, которая автоматически регистрирует его. Зарегистрируйте драйвер, используя этот метод.
Шаг 2: Получить соединение
В общем, первый шаг, который мы делаем для связи с базой данных, это соединение с ней. Класс Connection представляет физическое соединение с сервером базы данных. Вы можете создать объект соединения, вызвав метод getConnection () класса DriverManager . Создайте соединение, используя этот метод.
Шаг 3: Создайте объект выписки
Вам необходимо создать объект Statement или PreparedStatement или CallableStatement для отправки операторов SQL в базу данных. Вы можете создать их, используя методы createStatement () , prepareStatement () и prepareCall () соответственно. Создайте любой из этих объектов, используя соответствующий метод.
Шаг 4: Выполнить запрос
После создания вы должны выполнить его. Класс Statement предоставляет различные методы для выполнения запроса, например, метод execute () для выполнения инструкции, которая возвращает более одного набора результатов. Метод executeUpdate () выполняет запросы, такие как INSERT, UPDATE, DELETE. Метод executeQuery () для результатов, который возвращает данные и т. Д. Используйте любой из этих методов и выполните оператор, созданный ранее.
пример
В следующем примере JDBC показано, как извлечь данные из таблицы в Apache Derby с помощью программы JDBC. Здесь мы подключаемся к базе данных с именем sampleDB (создадим, если она не существует), используя встроенный драйвер.
Метод executeQuery () возвращает объект ResultSet, который содержит результат оператора. Первоначально указатель набора результатов будет на первой записи, вы можете распечатать содержимое объекта ResultSet, используя методы next () и getXXX () .
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(" "); } } }
Выход
Выполнив вышеуказанную программу, вы получите следующий вывод