Доступ к базе данных

Создав базу данных, вы можете получить к ней доступ одним из следующих способов:

  • С помощью интерактивного терминала QHB, называемого qsql, который позволяет в интерактивном режиме вводить, редактировать и выполнять команды SQL.

  • С использованием существующего графического инструмента внешнего интерфейса, например, pgAdmin, DBeaver или офисного пакета с поддержкой ODBC или JDBC. Эти возможности не рассматриваются в этом руководстве.

  • Написав собственное приложение с использованием одной из нескольких доступных языковых привязок.

Возможно, вы захотите запустить qsql, чтобы попробовать примеры из этого урока. Его можно запустить для базы данных mydb, набрав команду:

$ qsql -h localhost -d mydb

Если вы не укажете имя базы данных, по умолчанию будет использоваться имя вашей учетной записи. Мы уже сталкивались с этой схемой в предыдущем разделе, при работе с createdb.

Внутри qsql вы увидите следующее сообщение:

qsql - Interactive terminal qhb (1.2.0)
Enter "\help" in order to get help

mydb(username)=#

Это будет означать, что вы являетесь суперпользователем базы данных, что наиболее вероятно, если вы установили экземпляр QHB самостоятельно. Суперпользователь имеет неограниченный доступ к базе данных; впрочем, для целей урока это не имеет значения.

Если вы столкнулись с проблемами при запуске qsql, вернитесь к предыдущему разделу. Диагностика createdb и qsql схожи, и если первый сработал, последний также должен сработать.

Последняя строка, напечатанная qsql является приглашением и указывает, что qsql ожидает ввод, то есть вы можете вводить запросы SQL в рабочее пространство. Попробуйте эти команды:

mydb(username)=# select version();
version   
----------
QHB 1.2.0 
(1 строка)

mydb(username)=# SELECT current_date;
    date
------------
 2020-10-07

mydb(username)=# SELECT 2 + 2;
 ?column?
----------
4
(1 строка)

Программа qsql имеет ряд внутренних команд, которые не являются командами SQL. Они начинаются с символа обратной косой черты "\". Например, чтобы выйти из qsql, введите:

mydb(username)=# \q

и qsql завершит работу и вернёт вас в командную оболочку.

Все возможности qsql описаны в соответствующем разделе: qsql.