Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpDbCol 260 of 322 menu
◀ ▶

Выбор части столбцов в SQLite

Звёздочка * в SELECT тянет все колонки. Чаще перечисляют явный список - так меньше данных и проще читать результат.

Таблица может хранить служебные поля, которые в отчёт не попадают. В запросе оставляют только нужные имена:

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Main { public static void main(String[] args) throws Exception { try (Connection connection = DriverManager.getConnection("jdbc:sqlite:partial_view.db")) { try (Statement statement = connection.createStatement()) { statement.execute(""" CREATE TABLE IF NOT EXISTS devices ( id INTEGER PRIMARY KEY, serial TEXT NOT NULL, note TEXT, warranty_until TEXT ) """); statement.executeUpdate(""" INSERT INTO devices (serial, note, warranty_until) VALUES ('SN-44', 'lab unit', '2027-01-01') """); ResultSet result = statement.executeQuery("SELECT serial, warranty_until FROM devices"); while (result.next()) { System.out.println(result.getString("serial")); System.out.println(result.getString("warranty_until")); } } } } } }

Порядок имён в списке задаёт порядок столбцов в ResultSet. Можно читать по индексу, но имена надёжнее при изменении запроса:

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Statement; public class Main { public static void main(String[] args) throws Exception { try (Connection connection = DriverManager.getConnection("jdbc:sqlite:partial_view.db")) { PreparedStatement query = connection.prepareStatement( "SELECT note FROM devices WHERE serial = ?" ); query.setString(1, "SN-44"); var result = query.executeQuery(); if (result.next()) { System.out.println(result.getString("note")); } } } } }

Создайте таблицу lots в batch.db с полями code, qty и comment, добавьте партию и выведите только code и qty.

Выведите comment для партии с кодом "B-12", не выбирая остальные столбцы.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить