Доступ к базе данных
Создав базу данных, вы можете получить к ней доступ одним из следующих способов:
-
С помощью интерактивного терминала 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.