Я вставив дані в таблицю .... Я хочу зараз побачити всю таблицю з рядками та стовпцями та даними. Як я можу відобразити це за допомогою команди?
Я вставив дані в таблицю .... Я хочу зараз побачити всю таблицю з рядками та стовпцями та даними. Як я можу відобразити це за допомогою команди?
Відповіді:
psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Якщо ви новачок у postgresql та незнайомий з використанням інструменту командного рядка, psql
то ви маєте знати деяку заплутану поведінку, коли ви входите в інтерактивний сеанс.
Наприклад, ініціюйте інтерактивний сеанс:
psql -U username mydatabase
mydatabase=#
У цей момент ви можете ввести запит безпосередньо, але ви повинні пам’ятати про припинення запиту крапкою з комою;
Наприклад:
mydatabase=# SELECT * FROM mytable;
Якщо ви забудете крапку з комою, то при натисканні клавіші введення ви нічого не отримаєте на зворотному рядку, оскільки psql
будете припускати, що ви не закінчили вводити запит. Це може призвести до різного роду плутанини. Наприклад, якщо ви повторно введете той самий запит, ви, швидше за все, створите помилку синтаксису.
В якості експерименту спробуйте ввести будь-яку схопку, яку ви хочете, у запиті psql, а потім натисніть клавішу Enter. psql
мовчки надасть вам новий рядок. Якщо ви введете крапку з комою на новому рядку та натисніть клавішу Enter, ви отримаєте ПОМИЛКУ:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
Головне правило: Якщо ви не отримали відповіді, psql
але ви очікували принаймні ДЕШЕ, то ви забули крапку з комою;
SELECT * FROM my_table;
де my_table
назва вашого столу.
Редагувати:
psql -c "SELECT * FROM my_table"
або просто psql
та введіть ваші запити.
psql -U username -c your_database "SELECT * FROM my_table"
cmd.exe /c chcp 1252
після відкриття підказки консолі.
psql: FATAL: database "SELECT * FROM tb_name" does not exist
Відкрийте "SQL Shell (psql)" зі своїх додатків (Mac).
Клацніть Enter для налаштувань за замовчуванням. Введіть пароль, коли буде запропоновано.
*) Введіть \?
довідку
*) Введіть, \conninfo
щоб побачити, до якого користувача ви підключені.
*) Введіть, \l
щоб побачити список баз даних.
*) Підключіться до бази даних \c <Name of DB>
, наприклад\c GeneDB1
Ви повинні побачити ключову швидку зміну нової БД, наприклад:
*) Тепер, коли ви перебуваєте в заданій БД, ви хочете знати схеми для цієї БД. Найкраща команда для цього - це \dn
.
Інші команди , які також працюють (але не так добре) є select schema_name from information_schema.schemata;
і select nspname from pg_catalog.pg_namespace;
:
-) Тепер, коли у вас є схеми, ви хочете знати таблиці в цих схемах. Для цього можна використовувати dt
команду. Наприклад\dt "GeneSchema1".*
*) Тепер ви можете робити свої запити. Наприклад:
*) Ось як виглядають вищезгадані БД, схема та таблиці у pgAdmin:
Такий же запит записується, як нижче, для командного рядка psql postgres.
D: \ TOOLS \ Postgresql-9.4.1-3 \ bin> psql -U postgres -d DatabaseName -h localhost - t -c "Виберіть u. \" UserName \ "від користувачів u де u. \" UserId \ "= 1;
Я не сумніваюся у відповіді @Grant. Але я стикаюся з кількома проблемами, наприклад, якщо ім'я стовпця схоже на будь-яке зарезервоване ключове слово postgresql, наприклад, природне, в цьому випадку подібний SQL важко запустити з командного рядка, оскільки в полі запиту буде потрібно "\ natural \". Тож мій підхід полягає в тому, щоб написати SQL в окремий файл і запустити файл SQL з командного рядка. Це має ще одну перевагу. Якщо вам потрібно змінити запит для великого сценарію, вам не потрібно торкатися файлу сценарію чи команди. Змініть лише такий файл SQL, як цей
psql -h localhost -d database -U postgres -p 5432 -a -q -f /path/to/the/file.sql
Для певного типу операторів ви можете знайти більш підходящий для використання Azure Data Studio
- для всього іншого він поставляється із вбудованим командним рядком. Використовуючи студію, ви можете знайти друкувати висловлювання та читати результати більш комфортно.
Виконайте наведені нижче дії:
Підключіться до локального або віддаленого сервера:
Зосередьтеся лише на написанні та виконанні SQL:
Є багато приємних функцій, як збереження з'єднань, створення груп серверів і навіть вбудований термінал, якщо вам зручніше виконувати якесь завдання через psql
.
--single-line
(або-s
), що робить кожну команду негайною, не потрібно додавати крапку з комою.