Создание таблицы в SQLite
Структура данных задаётся запросом CREATE TABLE.
Ключевое слово IF NOT EXISTS не даёт упасть
повторному запуску, если таблица уже есть.
Целочисленный столбец с INTEGER PRIMARY KEY
часто становится автоинкрементным идентификатором.
Остальные поля описывают обычные типы SQLite, например
TEXT и REAL:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class Main {
public static void main(String[] args) throws Exception {
try (Connection connection = DriverManager.getConnection("jdbc:sqlite:schema_lab.db")) {
try (Statement statement = connection.createStatement()) {
statement.execute("""
CREATE TABLE IF NOT EXISTS probes (
id INTEGER PRIMARY KEY,
label TEXT NOT NULL,
reading REAL
)
""");
}
}
}
}
}
Ограничение NOT NULL запрещает пустое значение
в колонке при вставке. После выполнения DDL таблица
probes готова к INSERT, даже если
строк пока нет:
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:schema_lab.db")) {
try (Statement statement = connection.createStatement()) {
ResultSet result = statement.executeQuery(
"""
SELECT name FROM sqlite_master
WHERE type = 'table' AND name = 'probes'
"""
);
System.out.println(result.next());
}
}
}
}
}
Создайте таблицу routes в файле
map_store.db с полями id,
code (текст, обязательный) и
distance_km (вещественное).
Проверьте, что таблица routes зарегистрирована
в базе, и выведите true при успешной проверке.