Объединяем несколько условий.
Для того, чтобы описать условие в функции ЕСЛИ, Excel позволяет использовать более сложные конструкции. В том числе можно использовать и несколько условий. При этом еще воспользуемся тем, что функции можно «вкладывать» внутрь друг друга.
Для объединения нескольких условий в одно используем логические функции ИЛИ и И. Рассмотрим простые примеры.
Пример 1
Функция ИЛИ возвращает ИСТИНА, если хотя бы одно из перечисленных в ней нескольких условий выполняется.
Вставляем функцию ИЛИ как условие в функцию ЕСЛИ. В нашем случае, если регион покупателя — Восток или Юг, то отгрузка считается экспортом.
Пример 2.
Используем несколько более сложных условий внутри функции ЕСЛИ.
Если регион продажи — Запад или Юг, и количество при этом больше 100, то предоставляется скидка 10%.
Функция И возвращает ИСТИНА, если выполняются все перечисленные в ней условия. Внутрь функции И мы помещаем два условия:
- Регион — или Запад или Юг
- Количество больше 100.
Первое из них реализуем так же, как это было сделано в первом примере: ИЛИ(C2=»Запад»;C2=»Юг»)
Второе — здесь всё очень просто: E2>100
В строке 2, 3 и 5 выполнены оба условия. Эти покупатели получат скидку.
В строке 4 не выполнено ни одного. А в строке 6,7,8 выполнено только первое, а вот количество слишком мало. Поэтому скидка будет равна нулю.
Пример 3.
Конечно, эти несколько условий могут быть и более сложными. Ведь логические функции можно «вкладывать» друг в друга.
Например, в дополнение к предыдущему условию, скидка предоставляется только на черный шоколад.
Все наше записанное ранее условие становится в свою очередь первым аргументом в новой функции И:
- Регион — Запад или Юг и количество больше 100 (рассмотрено в примере 2)
- В названии шоколада встречается слово «черный».
В итоге получаем формулу ЕСЛИ с несколькими условиями:
Функция НАЙТИ ищет точное совпадение. Если же регистр символов в тексте для нас не важен, то вместо НАЙТИ можно использовать аналогичную функцию СОВПАД.
В итоге, количество вложенных друг в друга условий в Excel может быть очень большим
Важно только точно соблюдать логическую последовательность их выполнения
Загрузка и установка PostgreSQL
PostgreSQL поддерживает все основные операционные системы. Процесс установки прост, поэтому я постараюсь рассказать
о нем как можно быстрее.
Для Windows и Mac ты можешь загрузить установщик
с
веб-сайта EDB
.
EDB больше не предоставляет пакеты для систем GNU/Linux. Вместо этого они рекомендуют вам использовать диспетчер
пакетов твоего дистрибутива.
Установщики включают в себя разные компоненты.
Вот самые важные из них:
- Сервер PostgreSQL (очевидно)
- pgAdmin, графический инструмент для управления базами данных
- Менеджер пакетов для загрузки и установки дополнительных инструментов и драйверов
Windows
Скачав установщик, запусти его как любой другой исполняемый файл. Процесс довольно прямолинеен,
но некоторые вещи все же заслуживают внимания.
Диалоговое окно «Выбрать компоненты» позволяет выборочно устанавливать компоненты.
Если у тебя нет веской причины что-то менять — оставляй все как есть.
По умолчанию PostgreSQL создает суперпользователя с именем (воспринимай его как учетную запись
администратора сервера базы данных).
Во время установки тебе нужно будет указать пароль для суперпользователя (root).
Позже ты сможешь создать других пользователей и назначать им отдельные доступы и роли.
Мы вернемся к этому позже, а сейчас тебе понадобится учетная запись суперпользователя, чтобы начать использовать СУБД.
Чтобы запустить сервер разработки на твоем компьютере или , необходимо
назначить ему порт.
Порт по умолчанию — 5432. Если ты устанавливаешь PostgreSQL впервые, то он скорее всего свободен.
Если окажется, что этот порт уже занят другим экземпляром PostgreSQL, ты можешь указать другое значение, например 5433.
После завершения установки ты сможешь запустить SQL Shell, поставляемый с Postgres.
Шаг за шагом ты выберешь сервер, какую базу данных использовать, порт, имя пользователя и пароль.
Используй данные, которые ты вводил на предыдущих шагах.
Поздравляю! Настройка для Windows завершена, и скоро мы начнем писать первые SQL запросы.
Ниже список вариантов установки для других операционных систем.
macOS
Для macOS у тебя есть разные варианты. Можно скачать установщик с сайта EDB и запустить его.
Кроме того, можно использовать , простое приложение для macOS.
После запуска у тебя появится сервер PostgreSQL, готовый к использованию.
Завершить работу сервера можно просто закрыв приложение.
Кроме того, ты также можете использовать , менеджер пакетов для macOS.
GNU/Linux
Ты можешь найти PostgreSQL в репозиториях большинства дистрибутивов Linux. Установить его можно одним щелчком мыши
из выбранного графического диспетчера пакетов.
Альтернативно, можно использовать установку через терминал.
Ты можешь обратиться к документации твоего дистрибутива для получения дополнительных сведений.
Arch
Запуск оболочки PostgreSQL
После установки PostgreSQL, нужно запустить оболочку(shell), с помощью которой ты получишь возможность управлять базой данных.
Открой терминал и введи:
— это оболочка Postgres, аргумент используется для указания пользователя.
Поскольку ты еще не создавал других
пользователей, ты войдешь в систему как суперпользователь .
После этого нужно будет ввести пароль
суперпользователя, который ты выбрал во время установки.
Как только пароль установлен, база данных PostgreSQL готова к работе!
Если сервер PostgreSQL по какой-то причине не запускается, можешь попробовать запустить его вручную.
Псевдо роль public
Псевдо роль public не видна, но про неё следует знать. Это групповая роль, в которую включены все остальные роли. Это означает, что все роли по умолчанию будут иметь привилегии наследуемые от public. Поэтому иногда у public отбирают некоторые привилегии, чтобы отнять их у всех пользователей.
Роль public по умолчанию имеет следующие привилегии:
-
для всех баз данных:
- CONNECT – это означает что любая созданная роль сможет подключаться к базам данных, но не путайте с привилегией LOGIN;
- TEMPORARY – любая созданная роль сможет создавать временные объекты во всех база данных и объекты эти могут быть любого размера;
-
для схемы public:
- CREATE (создание объектов) – любая роль может создавать объекты в этой схеме;
- USAGE (доступ к объектам) – любая роль может использовать объекты в этой схеме;
-
для схемы pg_catalog и information_schema
USAGE (доступ к объектам) – любая роль может обращаться к таблицам системного каталога;
:
-
для всех функций
EXECUTE (выполнение) – любая роль может выполнять любую функцию. Ещё нужны ещё права USAGE на ту схему, в которой функция находится, и права к объектам к которым обращается функция.
:
Это сделано для удобства, но снижает безопасность сервера баз данных.
Использование операторов «И» и «ИЛИ» в функции ЕСЛИ в MS Excel.
Пример функции ЕСЛИ с оператором «И».
У нас есть таблица, в которой три столбца с числами. Проверим, равны ли эти числа между собой, в пределах одной строки. Если числа будут равны между собой, функция ЕСЛИ вернет значение «правда». Если не равны, функция ЕСЛИ вернет значение «неправда».
Формула функции ЕСЛИ выглядит вот так:
Внимание: в данном случае формула функции ЕСЛИ прописана в ручную, прямо в строе формулы. Сравниваются ячейки В2 с С2, С2 с ячейкой D2 и D2 с ячейкой В2
Только, если все числа в этих ячейках равны между собой, функция возвращает значение «правда». Как видно на примере, только в нижней строке таблицы (строка №4), функция ЕСЛИ вернула значение «правда», так как в этой строке все числа между собой равны
Сравниваются ячейки В2 с С2, С2 с ячейкой D2 и D2 с ячейкой В2. Только, если все числа в этих ячейках равны между собой, функция возвращает значение «правда». Как видно на примере, только в нижней строке таблицы (строка №4), функция ЕСЛИ вернула значение «правда», так как в этой строке все числа между собой равны.
Пример функции ЕСЛИ с оператором «ИЛИ».
Возьмем туже самую таблицу, но используем оператор «ИЛИ».
Формула функции ЕСЛИ выглядит вот так:
Внимание: в данном случае формула функции ЕСЛИ прописана в ручную, прямо в строе формулы. Как видно из этого примера, функция ЕСЛИ вернула значение «правда» два раза
В верхней строке таблицы (строка №2) и в нижней строке таблицы (строка №4). Как и в прошлом примере сравнивались ячейки В2 с С2, С2 с ячейкой D2 и D2 с ячейкой В2. Но в данном случае функция ЕСЛИ вернула значение «правда» и в том случае, когда нашла частичное равенство числе в верхней строке таблицы (строка №2). Число в ячейки В2 равно числу в ячейки D2
Как видно из этого примера, функция ЕСЛИ вернула значение «правда» два раза. В верхней строке таблицы (строка №2) и в нижней строке таблицы (строка №4). Как и в прошлом примере сравнивались ячейки В2 с С2, С2 с ячейкой D2 и D2 с ячейкой В2. Но в данном случае функция ЕСЛИ вернула значение «правда» и в том случае, когда нашла частичное равенство числе в верхней строке таблицы (строка №2). Число в ячейки В2 равно числу в ячейки D2.
Учетная запись для резервного копирования
Для выполнения резервного копирования лучше всего подключаться к базе с минимальными привилегиями.
Сначала создаем роль, которую будем использовать для выполнения резервного копирования:
=# CREATE USER bkpuser WITH PASSWORD ‘bkppasswd’;
* мы создадим учетную запись bkpuser с паролем bkppasswd.
Предоставляем права на подключения к базе
=# GRANT CONNECT ON DATABASE database TO bkpuser;
* в данном примере к базе database.
Подключаемся к базе (в нашем примере database):
=# \c database
Даем права на все последовательности в схеме:
=# GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO bkpuser;
* мы дали права для схемы public. Это схема является схемой по умолчанию, но в вашем случае она может быть другой. В таком случае, подставляем свое значение.
5.7.3. Путь поиска схемы
Полные имена довольно утомительно писать и часто в приложении лучше
бывает нигде не привязываться к отдельному имени схемы.
Таким образом на таблицы ссылаются через неполные имена,
которые содержат только имя таблицы. СУБД определяет какая таблица
имеется в виду с помощью пути поиска, который является
списком схем, в которых осуществляется поиск. Первая совпавшая
таблица в пути поиска считается той, которая запрашивалась.
Если совпадающих имён в пути поиска не найдено, будет выдана ошибка,
даже если совпадающее имя таблицы существует в других схемах текущей
базы данных.
Первая схема в пути поиска называется текущей схемой. Кроме того,
что текущая схема будет находится первой, она также является схемой,
где будут создаваться новые таблицы командой CREATE TABLE,
в которой не указано имя схемы.
Чтобы посмотреть текущий путь поиска, используйте команду:
SHOW search_path;
В случае настроек по умолчанию, она возвращает:
search_path -------------- "$user",public
Первый элемент говорит, что поиск должен производится в схеме
с таким же именем как и у текущего пользователя. Если такой
схемы не существует, данный элемент игнорируется.
Второй элемент указывает на схему public, которую мы уже
рассматривали.
Первая существующая схема в пути поиска является местоположением
по умолчанию, для создания новых объектов. Именно по этой
причине, по умолчанию объекты создаются в схеме public.
Когда на объекты ссылаются из любых других контекстов без указания
схемы (модификация таблиц, данных или команды запросов) происходит
перебор схем в пути поиска пока не будет найден совпавший
объект. Следовательно, в конфигурации по умолчанию, все
операции без указания имени схемы снова указывают только на
схему public.
Чтобы поместить новую схему в путь поисках, используйте команду:
SET search_path TO myschema,public;
(Здесь мы опустили $user, потому что эта
схема в данный момент нам не нужна.) И после этого, мы получаем
доступ к таблице без указания схемы:
DROP TABLE mytable;
Также, поскольку myschema является первым
элементом в пути поиска, именно в ней по умолчанию будут
создаваться новые объекты.
Мы также можем написать:
SET search_path TO myschema;
Тогда мы не сможем больше обращаться к схеме public без явного
указания имени. В схеме public не существует ничего особенного,
кроме того, что она существует по умолчанию. Её можно даже
удалить.
Другие способы манипулирования путём поиска схем см. в
Section 9.23.
Путь поиска, точно также как и для таблиц, работает и для имён
типов данных, имён функций и операторов. Имена типов данных и
функций могут быть указаны и в полном виде, точно также как и
имена таблиц. Если вам необходимо написать полное имя оператора в
выражении, существует специальный синтаксис: вы должны написать
OPERATOR(схема.оператор)
Это необходимо для избежания неоднозначностей в синтаксе. Вот пример:
SELECT 3 OPERATOR(pg_catalog.+) 4;
Как перенести текст на новую строку в Excel с помощью формулы
Иногда требуется сделать перенос строки не разово, а с помощью функций в Excel. Вот как в этом примере на рисунке. Мы вводим имя, фамилию и отчество и оно автоматически собирается в ячейке A6
Для начала нам необходимо сцепить текст в ячейках A1 и B1 ( A1&B1 ), A2 и B2 ( A2&B2 ), A3 и B3 ( A3&B3 )
После этого объединим все эти пары, но так же нам необходимо между этими парами поставить символ (код) переноса строки. Есть специальная таблица знаков (таблица есть в конце данной статьи), которые можно вывести в Excel с помощью специальной функции СИМВОЛ(число), где число это число от 1 до 255, определяющее определенный знак. Например, если прописать =СИМВОЛ(169), то мы получим знак копирайта
Нам же требуется знак переноса строки, он соответствует порядковому номеру 10 — это надо запомнить. Код (символ) переноса строки — 10 Следовательно перенос строки в Excel в виде функции будет выглядеть вот так СИМВОЛ(10)
Примечание: В VBA Excel перенос строки вводится с помощью функции Chr и выглядит как Chr(10)
Итак, в ячейке A6 пропишем формулу
= A1&B1 &СИМВОЛ(10)& A2&B2 &СИМВОЛ(10)& A3&B3
В итоге мы должны получить нужный нам результат
Обратите внимание! Чтобы перенос строки корректно отображался необходимо включить «перенос по строкам» в свойствах ячейки. Для этого выделите нужную нам ячейку (ячейки), нажмите на правую кнопку мыши и выберите «Формат ячеек…»
В открывшемся окне во вкладке «Выравнивание» необходимо поставить галочку напротив «Переносить по словам» как указано на картинке, иначе перенос строк в Excel не будет корректно отображаться с помощью формул.
Как в Excel заменить знак переноса на другой символ и обратно с помощью формулы
Можно поменять символ перенос на любой другой знак, например на пробел, с помощью текстовой функции ПОДСТАВИТЬ в Excel
Рассмотрим на примере, что на картинке выше. Итак, в ячейке B1 прописываем функцию ПОДСТАВИТЬ:
A1 — это наш текст с переносом строки; СИМВОЛ(10) — это перенос строки (мы рассматривали это чуть выше в данной статье); » » — это пробел, так как мы меняем перенос строки на пробел
Если нужно проделать обратную операцию — поменять пробел на знак (символ) переноса, то функция будет выглядеть соответственно:
Напоминаю, чтобы перенос строк правильно отражался, необходимо в свойствах ячеек, в разделе «Выравнивание» указать «Переносить по строкам».
Как поменять знак переноса на пробел и обратно в Excel с помощью ПОИСК — ЗАМЕНА
Бывают случаи, когда формулы использовать неудобно и требуется сделать замену быстро. Для этого воспользуемся Поиском и Заменой. Выделяем наш текст и нажимаем CTRL+H, появится следующее окно.
Если нам необходимо поменять перенос строки на пробел, то в строке «Найти» необходимо ввести перенос строки, для этого встаньте в поле «Найти», затем нажмите на клавишу ALT , не отпуская ее наберите на клавиатуре 010 — это код переноса строки, он не будет виден в данном поле.
После этого в поле «Заменить на» введите пробел или любой другой символ на который вам необходимо поменять и нажмите «Заменить» или «Заменить все».
Кстати, в Word это реализовано более наглядно.
Если вам необходимо поменять символ переноса строки на пробел, то в поле «Найти» вам необходимо указать специальный код «Разрыва строки», который обозначается как ^l В поле «Заменить на:» необходимо сделать просто пробел и нажать на «Заменить» или «Заменить все».
Вы можете менять не только перенос строки, но и другие специальные символы, чтобы получить их соответствующий код, необходимо нажать на кнопку «Больше >>», «Специальные» и выбрать необходимый вам код. Напоминаю, что данная функция есть только в Word, в Excel эти символы не будут работать.
Как поменять перенос строки на пробел или наоборот в Excel с помощью VBA
Рассмотрим пример для выделенных ячеек. То есть мы выделяем требуемые ячейки и запускаем макрос
1. Меняем пробелы на переносы в выделенных ячейках с помощью VBA
Sub ПробелыНаПереносы() For Each cell In Selection cell.Value = Replace(cell.Value, Chr(32) , Chr(10) ) Next End Sub
2. Меняем переносы на пробелы в выделенных ячейках с помощью VBA
Sub ПереносыНаПробелы() For Each cell In Selection cell.Value = Replace(cell.Value, Chr(10) , Chr(32) ) Next End Sub
Код очень простой Chr(10) — это перенос строки, Chr(32) — это пробел. Если требуется поменять на любой другой символ, то заменяете просто номер кода, соответствующий требуемому символу.
Коды символов для Excel
Ниже на картинке обозначены различные символы и соответствующие им коды, несколько столбцов — это различный шрифт. Для увеличения изображения, кликните по картинке.
Простейший пример применения.
Предположим, вы работаете
в компании, которая занимается продажей шоколада в нескольких регионах и
работает с множеством покупателей.
Нам необходимо выделить
продажи, которые произошли в нашем регионе, и те, которые были сделаны за рубежом.
Для этого нужно добавить в таблицу ещё один признак для каждой продажи – страну,
в которой она произошла. Мы хотим, чтобы этот признак создавался автоматически
для каждой записи (то есть, строки).
В этом нам поможет
функция ЕСЛИ. Добавим в таблицу данных столбец “Страна”. Регион “Запад” – это
местные продажи («Местные»), а остальные регионы – это продажи за рубеж («Экспорт»).
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
Решая, какую формулу использовать для вертикального поиска, большинство гуру Excel считают, что ИНДЕКС/ПОИСКПОЗ намного лучше, чем ВПР. Однако, многие пользователи Excel по-прежнему прибегают к использованию ВПР, т.к. эта функция гораздо проще. Так происходит, потому что очень немногие люди до конца понимают все преимущества перехода с ВПР на связку ИНДЕКС и ПОИСКПОЗ, а тратить время на изучение более сложной формулы никто не хочет.
Далее я попробую изложить главные преимущества использования ПОИСКПОЗ и ИНДЕКС в Excel, а Вы решите – остаться с ВПР или переключиться на ИНДЕКС/ПОИСКПОЗ.
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
1. Поиск справа налево. Как известно любому грамотному пользователю Excel, ВПР не может смотреть влево, а это значит, что искомое значение должно обязательно находиться в крайнем левом столбце исследуемого диапазона. В случае с ПОИСКПОЗ/ИНДЕКС, столбец поиска может быть, как в левой, так и в правой части диапазона поиска. Пример: покажет эту возможность в действии.
2. Безопасное добавление или удаление столбцов. Формулы с функцией ВПР перестают работать или возвращают ошибочные значения, если удалить или добавить столбец в таблицу поиска. Для функции ВПР любой вставленный или удалённый столбец изменит результат формулы, поскольку требует указывать весь диапазон и конкретный номер столбца, из которого нужно извлечь данные.
Например, если у Вас есть таблица A1:C10, и требуется извлечь данные из столбца B, то нужно задать значение 2 для аргумента col_index_num (номер_столбца) функции ВПР, вот так:
Если позднее Вы вставите новый столбец между столбцами A и B, то значение аргумента придется изменить с 2 на 3, иначе формула возвратит результат из только что вставленного столбца.
Используя ПОИСКПОЗ/ИНДЕКС, Вы можете удалять или добавлять столбцы к исследуемому диапазону, не искажая результат, так как определен непосредственно столбец, содержащий нужное значение. Действительно, это большое преимущество, особенно когда работать приходится с большими объёмами данных. Вы можете добавлять и удалять столбцы, не беспокоясь о том, что нужно будет исправлять каждую используемую функцию ВПР.
3. Нет ограничения на размер искомого значения. Используя ВПР, помните об ограничении на длину искомого значения в 255 символов, иначе рискуете получить ошибку #VALUE! (#ЗНАЧ!). Итак, если таблица содержит длинные строки, единственное действующее решение – это использовать ИНДЕКС/ПОИСКПОЗ.
Предположим, Вы используете вот такую формулу с ВПР, которая ищет в ячейках от B5 до D10 значение, указанное в ячейке A2:
Формула не будет работать, если значение в ячейке A2 длиннее 255 символов. Вместо неё Вам нужно использовать аналогичную формулу ИНДЕКС/ПОИСКПОЗ:
4. Более высокая скорость работы. Если Вы работаете с небольшими таблицами, то разница в быстродействии Excel будет, скорее всего, не заметная, особенно в последних версиях. Если же Вы работаете с большими таблицами, которые содержат тысячи строк и сотни формул поиска, Excel будет работать значительно быстрее, при использовании ПОИСКПОЗ и ИНДЕКС вместо ВПР. В целом, такая замена увеличивает скорость работы Excel на 13%.
Влияние ВПР на производительность Excel особенно заметно, если рабочая книга содержит сотни сложных формул массива, таких как . Дело в том, что проверка каждого значения в массиве требует отдельного вызова функции ВПР. Поэтому, чем больше значений содержит массив и чем больше формул массива содержит Ваша таблица, тем медленнее работает Excel.
С другой стороны, формула с функциями ПОИСКПОЗ и ИНДЕКС просто совершает поиск и возвращает результат, выполняя аналогичную работу заметно быстрее.
Синтаксис функции ЕСЛИ
Вот как выглядит
синтаксис этой функции и её аргументы:
Логическое выражение — (обязательное)
условие, которое возвращает значение «истина» или «ложь» («да» или «нет»);
Значение если «да» — (обязательное)
действие, которое выполняется в случае положительного ответа;
Значение если «нет» — (обязательное)
действие, которое выполняется в случае отрицательного ответа;
Давайте вместе подробнее
рассмотрим эти аргументы.
Первый аргумент – это
логический вопрос. И ответ этот может быть только «да» или «нет», «истина» или
«ложь».
Как правильно задать вопрос?
Для этого можно составить логическое выражение, используя знаки “=”, “>”,
“<”, “>=”, “<=”, “<>”. Давайте попробуем задать такой вопрос
вместе.
8 ответов
Лучший ответ
Вы должны включить схему, если не общедоступную
Или вы можете изменить схему по умолчанию
Проверьте схему своей таблицы здесь
Например, если таблица находится в схеме по умолчанию , и то, и другое будет работать нормально.
Но для секторов нужно указать схему
96
Juan Carlos Oropeza
20 Апр 2016 в 19:49
В моем случае в восстановленном файле дампа были эти команды.
Я прокомментировал их и снова восстановил. Проблема решена
samsri
30 Окт 2020 в 12:03
Я использовал pgAdmin для создания своих таблиц, и хотя я не использовал зарезервированные слова, сгенерированная таблица имела кавычки в имени, а в нескольких столбцах были кавычки. Вот пример сгенерированного SQL.
Все эти цитаты были вставлены наугад. Мне просто нужно было отбросить и заново создать таблицу без кавычек.
Проверено на pgAdmin 4.26
Chewy
9 Окт 2020 в 14:05
Ошибка может быть вызвана ограничениями доступа. Решение:
2
Marcel
1 Окт 2020 в 00:47
У меня была та же проблема, которая возникла после восстановления данных из db, сброшенного postgres.
В моем файле дампа была команда ниже, откуда все пошло на юг.
Решения:
- Вероятно, удалите его или замените на .
- Создайте частную схему, которая будет использоваться для доступа ко всем таблицам.
Приведенная выше команда просто деактивирует все общедоступные схемы.
Дополнительную информацию о документации можно найти здесь: https://www.postgresql.org/docs /9.3/ecpg-connect.html
3
dmigwi
17 Сен 2019 в 16:51
Пришлось заключить имя таблицы в двойные кавычки.
???
Двойные кавычки:
Много-много двойных кавычек:
Это postgres 11. Операторы CREATE TABLE из этого дампа также имеют двойные кавычки:
11
dfrankow
26 Сен 2019 в 21:57
Можешь попробовать:
Не забывайте двойные кавычки рядом с my_table.
23
Shree
3 Сен 2019 в 03:20
Я столкнулся с этой ошибкой, и оказалось, что моя строка подключения указывала на другую базу данных, очевидно, что таблицы там не было.
Я потратил на это несколько часов, и никто больше не упомянул о том, чтобы дважды проверить строку подключения .
Jeremy Thompson
13 Ноя 2020 в 02:29
Мета-команды PostgreSQL
Теперь, когда ты все настроил и готов приступить к работе с базой данных, осталось разобрать несколько мета-команд.
Это не SQL запросы, а команды специфичные для PostgreSQL.
В других системах управления базами данных есть их аналоги, но их синтаксис немного отличается.
Всем мета-командам предшествует обратная косая черта , за которой следует фактическая команда.
Список всех баз данных
Чтобы получить список всех баз данных на сервере, ты можешь использовать команду .
Ввод этой мета-команды в оболочке Postgres выведет:
Это список всех имеющихся баз данных и служебная информация, такая как владелец базы данных, кодировка и права доступа.
На данный момент мы пока ничего не создали, а базы данных которые ты видишь на экране — создаются по умолчанию при установке Postgres.
- postgres — это просто пустая база данных.
- «template0» и «template1» — это служебные базы данных, которые служат шаблоном для создания новых баз.
Тебе пока не стоит беспокоиться о них. Если хочешь изучить все детали, то проверь официальную документацию.
Подключаемся к базе данных PostgreSQL
Некоторые команды SQL требуют, чтобы ты сначала вошел в базу данных (например, для создания новой таблицы).
Ты можешь выбрать, в какую базу данных входить, при запуске SQL Shell.
Когда ты находишься внутри оболочки (shell), то можешь использовать команду (или ), за которой следует имя
базы данных. Если бы у тебя была другая база данных под названием , то подключиться к ней можно было бы так:
Полностью в терминале у тебя получится что-то такое:
Обрати внимание, что приглашение оболочки изменилось с на. Это значит, что теперь ты
подключен к базе данных , а не
Получить список всех таблиц в базе данных
Как и в случае со списком существующих баз данных, ты можешь получить список таблиц внутри конкретной базы данных
с помощью команды .
Перед выполнением этой команды вам необходимо войти в базу данных.
Предположим, ты уже находишься внутри базы , и в ней есть таблица с именем. Набрав , ты
получишь следующее:
Ты можешь увидеть имя таблицы и некоторую другую информацию, такую как схема (мы обсудим схемы в более сложных
руководствах) и владельца.
Владелец (owner) — это пользователь, который создал таблицу.
Если ты создаешь других пользователей и используешь их для создания таблиц, то в последнем столбце будут именно они.
Список пользователей и ролей
Как ты уже знаешь, при установке Postgres создается суперпользователь с именем .
Список всех пользователей базы данных можно вывести на экран используя команду .
Обрати внимание, что первый столбец называется — роль (role name).
И весь вывод на экран называется “список ролей” (List of roles), а не список пользователей. В PostgreSQL пользователи и роли практически
одинаковы
В PostgreSQL пользователи и роли практически
одинаковы.
У ролей есть атрибуты, которые определяют их разрешения, такие как создание баз данных или даже создание
других новых ролей.
Любая роль с атрибутом LOGIN может рассматриваться, как пользователь.
Здесь мы видим только одну роль, суперпользователя по умолчанию.
В реальном мире все будет иначе, потому что использовать только суперпользователя все время опасно.
Вместо этого создают другие роли с меньшими привилегиями.
Это гарантирует, что никто не совершит нежелательных действий по ошибке.
Если у одной из ролей есть доступ только на чтение данных, то с помощью этой роли будет невозможно удалить таблицу или поле.
Одновременное выполнение двух условий
Также в Эксель существует возможность вывести данные по одновременному выполнению двух условий. При этом значение будет считаться ложным, если хотя бы одно из условий не выполнено. Для этой задачи применяется оператор «И».
Рассмотрим на примере нашей таблицы. Теперь скидка 30% будет проставлена только, если это женская обувь и предназначена для бега. При соблюдении этих условий одновременно значение ячейки будет равно 30%, в противном случае – 0.
Для этого используем следующую формулу:
=ЕСЛИ(И(B2=”женский”;С2=”бег”);30%;0)
Нажимаем клавишу Enter, чтобы отобразить результат в ячейке.
Аналогично примерам выше, растягиваем формулу на остальные строки.