Dronton2
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Господа-товарищи, ну прочитайте какую-нибудь тоненькую книжку по SQL. Язык - приметивнейший. Был создан для тёток-кассирш, продающих авиабилеты. И является практически естественным английским языком. Для манипуляции данными имспользуются всего 4 команды: - SELECT - выбрать данные из таблицы для показа - INSERT - вставить новые записи (строки) в таблицу - UPDATE - изменить данные в таблице - DELETE - удалить данные из таблицы. Это всё. В каждой команде указываются: - название таблицы, с которой мы производим манипуляции - (необязательно) условие: для каких строк таблицы мы производим манипуляции: Итак, как выглядят команды (перевод английских слов обязательно посмотрите в словаре (их не так уж и много)): жирным шрифтом указаны слова, которые нужно написать так, как они указаны. Это ключевые слова. На место того, что написано обычным шрифтом - подставляете то, что вам нужно: SELECT список_полей FROM список_таблиц WHERE условия _отбора_записей и связывания_таблиц ORDER BY список полей для упорядочивания INSERT INTO название таблицы, в которую будут добавлены значения VALUES список новых значений UPDATE название таблицы, в которой будут изменены значения SET название_поля = новое значение WHERE условия _отбора_записей для в которых будут изменяться значения полей DELETE FROM название таблицы, в которой будут удалены записи WHERE условия _отбора_записей, подлежащих удалению Если в команде не указано WHERE, то действия в командах SELECT, UPDATE, DELETE производятся со всеми записями таблицы. Цитата: нужна команда для очистки любого столбца от всех записей | UPDATE products SET название_столбца = NULL Пояснение: Изменяем таблицу "products". Изменяем все записи, поэтому, условие для отбора не требуется Цитата: нужно в поле NAME_LOW сделать все маленькие | UPDATE products SET name_low = lower(name_low) Пояснение: Изменяем таблицу "products". Изменяем все записи, поэтому, условие для отбора не требуется. Подумайте, нужна ли вам эта команда? Для показа пользователю какого-либо поля маленькими буквами, это можно сделать в команде "SELECT". Цитата: нужно в поле NAME сделать первую заглавную нужно в поле NAME убрать кавычки с некоторых записей типа "данон" творожный, клубника | это делается командой UPDATE SET name = .... где вместо многоточия должно быть либо регулярное выражение, либо функции работы с подстроками, убирающие кавычки / делающие первую букву заглавной. Я работаю с БД Oracle и тонкостей синтаксиса SQLite не знаю. Посмотрите в справочнике. Цитата: нужно в поле _id, упорядочить порядковые номера, а то сейчас 1..10688...316394 хотя записей в базе 27377 | База данных хранит записи так, как ей это удобно и не нужно ей мешать. Упорядочивание данных нужно только для показа человеку. Это делается командой SELECT. Например: SELECT name, fat FROM products ORDER BY _id Эта команда покажет список всех записей таблицы "products", упорядоченный по возрастанию поля "_id" В списке будут поля "name" и "fat" Ещё пример: SELECT name, protein, fat FROM products WHERE fat > 0.1 and protein <= 0.9 ORDER BY protein ASC, fat DESC Будут отобраны продукты, у которых значения fat>0.1 и protein<0.9. Для отобранных записей будут показаны поля "name", "protein", "fat". Записи будут показаны в порядке увеличения значения поля "protein". Продукты с одинаковым значением поля "protein" будут упорядочиваться по убыванию значения поля "fat". (ASC - ascending, DESC - descending) Добавлено: Цитата: а в каких задач уместнее использовать Left Join? | Правильно было бы сказать так: "В каких случаях нужно использовать LEFT OUTER JOIN, а в каких - INNER JOIN?" - INNER JOIN - пересечение - отбирает записи, которые в обоих таблицах удовлетворяют заданному условию - LEFT OUTER JOIN - отбирает все записи из левой таблицы. Если в правой таблице есть запись, удовлетворяющие условию из левой таблицы, то выводит соответствующие значения в соответствующей строке, если нет такой записи - выводит NULL в соответствующей колокне соответствующей строки. Есть иллюстрация: https://www.w3schools.com/sql/sql_join_left.asp | Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 11:17 17-04-2017 | Исправлено: Dronton2, 11:41 17-04-2017 |
|