SQLcmd

Данное приложение написано на языке Java и реализуюет функционал консольного клиента для работы с конкретной базой данных. Интерфейс приложения англоязычный
Для работоспособности программы необходима установка СУБД PostgreSQL
Есть возможность сборки проекта через maven в jar файл с последующим его запуском из консоли (сборку проекта через командную строку выполнять через команду "mvn clean compile assembly:single" из корневой папки приложения)

Проект отвечает следующим требованиям:

  • Использует паттерн MVC;
  • Имеет консольный интерфейс взаимодействия с пользователем, то есть реализован ввод команд с клавиатуры и вывод результатов на экран;
  • Реализованы следующие консольные команды:

сonnect

  • Команда для подключения к соответствующей БД
  • Форматы команды:
    • a) connect - для автоматического входа в БД с использованием файла конфигурации config.properties
    • b) connect | database | username | password
      • где: database - имя БД
      • username - имя пользователя БД
      • password - пароль пользователя БД
  • Формат вывода: текстовое сообщение с результатом выполнения операции

help

  • Команда выводит в консоль список всех доступных команд
  • Формат: help (без параметров)
  • Формат вывода: текст, описания команд

list

  • Команда выводит список всех таблиц текущей БД
  • Формат: tables (без параметров)
  • Формат вывода: [table1, table2, table3]

create

  • Команда создает новую таблицу с заданными полями
  • Формат: create (без параметров)
    • ввод имени таблицы tableName с последующией проверкой имени на уникальность
    • ввод имени и типов колонок в формате: "col1Name|dataType1|col2Name|dataType2...col#Name|dataType#"
  • Формат вывода: текстовое сообщение с результатом выполнения операции

show

  • Команда для получения содержимого указанной таблицы
  • Формат: show|tableName
    • где tableName - имя таблицы для отображения
  • Формат вывода: в консольном формате, в виде таблицы с разделением спец.символами

insert

  • Команда для вставки одной строки в заданную таблицу
  • Формат: insert|tableName|col1Name|value1|col2Name|value2|...col#Name|value#
    • где tableName - имя таблицы для отображения
    • где col#Name - имя столбца '#' записи которое проверяется
    • где value# - значение которому должен соответствовать столбец '#' для обновляемой записи
  • Формат вывода: текстовое сообщение с результатом выполнения операции

updateTable

  • Команда для изменения строк в заданной таблице по заданному условию
  • Формат: updateTable|tableName|
    • где tableName - имя таблицы для отображения
  • ввод имени столбца таблицы с последующией проверкой его существования
  • ввод значения столбца таблицы с последующией проверкой его существования
  • ввод данных для обновления в формате col1Name|value1|col2Name|value2|...col#Name|value#
    • где col#Name - имя столбца '#' записи которое проверяется
    • где value# - значение которому должен соответствовать столбец '#' для обновляемой записи
  • Формат вывода: текстовое сообщение с результатом выполнения операции

delete

  • Команда удаляет одну или несколько записей для которых соблюдается условие column = value
  • Формат: delete | tableName | colName | value
    • где tableName - имя таблицы для отображения
    • где colName - имя столбца записи которое проверяется
    • где value - значение которому должен соответствовать столбец для удаляемой записи
  • Формат вывода: текстовое сообщение с результатом выполнения операции

clear

  • Команда очищает все записи указанной таблицы
  • Формат: clear | tableName
    • где tableName - имя очищаемой таблицы
  • Формат вывода: текстовое сообщение с результатом выполнения операции

drop

  • Команда удаляет заданную таблицу
  • Формат: drop | tableName
    • где tableName - имя удаляемой таблицы
  • Формат вывода: текстовое сообщение с результатом выполнения операции

exit

  • Команда для отключения от БД и выход из приложения
  • Формат: exit (без параметров)
  • Формат вывода: текстовое сообщение "Good Luck!"