Введение в системы управления базами данных (СУБД) и основные возможности реляционной СУБД MySQL
Зачем нужна система управления базами данных (СУБД)?
MySQL – самая популярная реляционная СУБД
Требования к таблицам в реляционных СУБД
Первая нормальная форма
Подключаемся к MySQL через консоль
Первые команды SQL: создаем БД и таблицу
Вставка и выборка данных
Изменение и удаление данных
HeidiSQL
Бэкап и восстановление
Группировка
Агрегирующие функции
1.79M
Категория: Базы данныхБазы данных

Введение в системы управления базами данных (СУБД) и основные возможности реляционной СУБД MySQL

1. Введение в системы управления базами данных (СУБД) и основные возможности реляционной СУБД MySQL

2. Зачем нужна система управления базами данных (СУБД)?

• Быстрый доступ к данным (поиск и сохранение)
• Безопасный одновременный доступ множества
пользователей
• Надежность, безопасность, простота использования
БД 1
БД 2
PHP-приложение
СУБД
БД 3
….

3. MySQL – самая популярная реляционная СУБД

• Реляционные СУБД используют реляционную
модель данных. Проще говоря – данные хранятся в
таблицах.
• SQL (structured query language, язык
структурированных запросов) – специальный язык
для взаимодействия с реляционной СУБД.
• Существуют также нереляционные СУБД (“nosqlбазы”) – хранилища «ключ-значение», документоориентрованные, колоночные, графовые и другие.
См., например, Redis, Memcached, MongoDB и т. д.

4. Требования к таблицам в реляционных СУБД

• В таблице не должно быть двух одинаковых строк.
• Каждый столбец имеет строго определенный тип
данных.
• В каждой ячейке таблицы может находиться только
одно значение – так называемое «атомарное» значение
(а не группа значений).
• Для идентификации строк и для связи таблиц между
собой используется «первичный ключ» – столбец с
гарантированно уникальными (в рамках таблицы)
значениями.

5. Первая нормальная форма

6. Подключаемся к MySQL через консоль

mysql -uuser -ppassword

7. Первые команды SQL: создаем БД и таблицу

CREATE DATABASE
CHARACTER SET utf8
COLLATE utf8_general_ci;
USE clinic;
CREATE TABLE `animals` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`species` VARCHAR(50),
`weight` INT(11),
`gender` ENUM('м', 'ж'),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
SHOW TABLES;
DESCRIBE animals;

8. Вставка и выборка данных

INSERT INTO animals (name, species, weight, gender)
VALUES
('Мурзик', 'Кот', 4320, 'м'),
('Чуча', 'Крыса', 130, 'ж'),
('Шарик', 'Собака', 9850, 'м'),
('Кеша', 'Попугай', 240, 'м');
SELECT * FROM animals;
SELECT * FROM animals ORDER BY weight DESC;
SELECT * FROM animals WHERE weight > 1000 AND weight < 5000;
SELECT * FROM animals WHERE name = 'мурзик'
OR NAME LIKE 'шар%' OR NAME LIKE '%ча' OR NAME LIKE '%р%';

9. Изменение и удаление данных

UPDATE animals SET name = 'Мурзик', weight = 3480;
UPDATE animals SET name = 'Бобик', weight = 2000
WHERE id = 3;
UPDATE animals SET name = 'Пушинка'
WHERE weight < 100;
DELETE FROM animals WHERE weight > 10.000;
DELETE FROM animals WHERE id = 3;

10. HeidiSQL

11. Бэкап и восстановление

Выгрузка БД в текстовый файл:
mysqldump -uuser -ppassword clinic > clinic.sql
Загрузка БД из текстового файла:
mysql -uuser -ppassword clinic < clinic.sql

12. Группировка

13. Агрегирующие функции

• Функции: COUNT, MAX, MIN, SUM, AVG
• Могут использоваться как вместе с
GROUP BY, так и отдельно
SELECT species, SUM(weight) AS total
FROM animals
GROUP BY species
ORDER BY total;
SELECT MAX(weight) FROM animals;
English     Русский Правила