- •Varchar [(длмня)], char varying [(длина)],
- •Числовые типы данных
- •Дата и время
- •Неопределенные или пропущенные данные (noll)
- •Используемые термины и обозначения
- •Команды манипулирования данными
- •3.2. Использование подзапросов в insert
- •Создание таблиц базы данных
- •Создание объектов базы данных
- •Зміна структури таблиці
- •Внимание
- •Зміна структури таблиць
- •Заняття 4. Вставка записів у таблиці
- •Ограничение not null
- •2.4. Листинг 2.4. Команда создания таблицы Orders
- •Перегляд окремих записів та окремих полів у таблиці
- •Використання кількох умов відбору записів
- •Ітоги . Що ми узнали про перегляд даних у таблицях
- •Лекція на тему: Оновлення та вилучення записів в субд MySql.
- •3.2. Использование подзапросов в insert
- •Вилучення записів з таблиць
- •Лекція на тему: Вибірка даних з субд MySql.
- •Просте об'єднання двох таблиць
- •Самостійно.
- •Об'єднання трьох і більше таблиць
- •Об'єднання таблиць за остачею
- •Підсумок
- •Лекція на тему: Групування даних. Запити з обчисленнями.
- •Обчислення середнього значення: функція avg
- •Підрахунок кількості записів: функція count
- •Підрахунок суми значень: функція sum()
- •Пошук найбільшого та найменшого значення: функції max та min
Ітоги . Що ми узнали про перегляд даних у таблицях
1. Для перегляду даних, що містяться у таблицях бази даних використовують інструкцію SQL, яка має такий загальний вид:
SELECT назви_полів FROM назва_таблиці WHERE умова_відбору_записів GROUP BY порядок_групування_записів HAVING критерії_пошуку_записів ORDER BY порядок_сортування_записів LIMIT критерії_обмеження_кількості_записів
2. Перегляд усієї таблиці виконується такою інструкцією:
SELECT * FROM назва_таблиці;
3. Перегляд окремих полів:
SELECT назви_полів FROM назва_таблиці;
4. Перегляд окремих записів:
SELECT * FROM назва_таблиці
WHERE умова_відбору_записів;
5. Перегляд перших N записів:
SELECT * FROM назва__таблиці LIMIT N;
6. Перегляд окремих полів та записів:
SELECT назви_полів FROM назва_таблиці WHERE умова_відбору_записів;
7. В інструкції WHERE оператора SELECT можна вказувати декілька умов підбору записів, поєднуючи їх за допомогою логічних операцій AND або OR.
8. При перегляді записи у запиті можна сортувати. Сортування у прямому порядку виконується інструкцією:
SELECT назви полів FROM назва_таблиці
ORDER BY назва__одного_з_вибраних полів ASC;
9. Сортування у зворотньому порядку:
SELECT назви_полів FROM назва_таблиці
ORDER BY назва одного_з_вибраних полів DESC;
Лекція на тему: Оновлення та вилучення записів в субд MySql.
Крім того, що записи у базі даних треба переглядати, їх необхідно періодично змінювати (оновлювати) або навіть вилучати.
Оновлення записів у таблицях здійснюють наступною інструкцію SQL:
UPDATE назва_таблиці
SET поле1=вираз1, поле2=вираз2, . . .
WHERE умова_відбору_записів
LIMIT кількість_рядків
Конструкція SET поле1 =вираз1, поле2=вираз2, ... змінює записи у полях поле1, поле2, ... на значення виразів вираз1, вираз2, Причому, "вираз" - це може бути просто нове значення запису, або формула, за якою обчислюється нове значення. В останньому випадку значення поля замінюється на результат обчислень за цією формулою.
Конструкція WHERE умова_відбору_записів дозволяє внести зміни не в усі, а лише в окремі записи у таблиці.
Конструкція LIMIT кількість_рядків задає кількість рядків, що підлягають зміні.
Вилучення записів з таблиць виконується інструкцією
DELETE FROM назва_таблиці WHERE умова_відбору_записів LIMIT кількість_рядків
Якшо просто написати
DELETE FROM назва_таблиці;
то знищуються усі записи у таблиці (будьте обережні!).
Конструкція WHERE умова__відбору__записів дозволяє вилучити не всі, а лише окремі записи таблиці.
Конструкція LIMIT кількість рядків задає кількість рядків, що підлягають вилученню.
Оновлення записів у таблицях
У таблиці customers змініть адресу і номер телефона клієнта Іваненка (customer ID=1). Нова адреса: г. Киев ул. Хрещатик 22 кв. 33. Новий номер телефона: (044) 32 1-33-22. Команда:
mysql> UPDATE customers SET
address = "г. Киев ул. Хрещатик 22 кв. 33",
phone = "(044) 321-33-22" WHERE customerlD=1;
Відповідь сервера:
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0 Для перевірки перегляньте вміст таблиці customers. Команда:
mysql> select * from customers;
У таблиці books збільшіть ціну всіх книг на 10% (тобто в 1,1 раза).
І. Спочатку, щоб пригадати, якими були ціни на книги, перегляньте поле price у таблиці books.
Команда: mysql> select price from books;
Відповідь сервера:
price 60.00 42.00 60.00
3 rows in set (0.06 sec) 2.
Збільшіть ціни на книги на 10%. Для цього оновіть поле price у таблиці books за допомогою наступної команди:
mysql> update books set price=price*1.1;
Відповідь сервера:
Query OK, 3 rows affected (0.11 sec) Rows matched: 3 Changed: 3 Warnings: 0
Для контролю знову перегляньте поле price у таблиці books.
Команда: mysql> select price from books;
Відповідь сервера має бути такою:
price
66.00 46.20 66.00
3 rows in set (0.05 sec)
Самостійно. У таблиці orders збільшіть вартість всіх замовлень на 10% (тобто в 1,1 раза). Перегляньте результат.
Для указания конкретных строк таблицы, значения полей которых должны быть изменены, в команде UPDATE можно использовать предикат, указываемый в предложении WHERE.
UPDATE UNIVERSITYI
SET RATING = 200
WHERE CITY = 'Москва';
В результате выполнения этого запроса будет изменен рейтинг только у университетов, расположенных в Москве.
Команда UPDATE позволяет изменять не только один, но и множество столбцов. Для указания конкретных столбцов, значения которых должны быть модифицированы, используется предложение SET.
Например, наименование предмета обучения 'Математика' (для него SUBJ_ID = 43) должно быть заменено на название 'Высшая математика', при этом идентификационный номер необходимо сохранить, но в соответствующие поля строки таблицы ввести новые данные об этом предмете обучения. Запрос будет выглядеть следующим образом:
UPDATE SUBJECT1
SET SUBJ_NAME = Высшая математика', HOUR = 36, SEMESTER = 1
WHERE SUBJ_ID = 43;
В предложении SET команды UPDATE можно использовать
скалярные выражения, указывающие способ изменения значений поля, в которые могут входить значения изменяемого и других полей.
UPDATE UNIVERSITYI
SET RATING = RATING*2;
Например, для увеличения в таблице STUDENTi значения поля STIPEND в два раза для студентов из Москвы можно использовать запрос
