Слайд 2
База данных – это совокупность связанных между собой
таблиц.
SQL – это структурированный язык запросов, созданный для управления
реляционными БД.
Позволяет пользователям взаимодействовать с базами данных.
MySQL – это одна из наиболее популярных и эффективных систем управления базами данных, которая используется при построении современных веб-сайтов.
MySQL – это сервер баз данных.
Слайд 3
Основы языка SQL
Группы операторов языка SQL
1. Операторы описания данных:
CREATE, ALTER, DROP и др.
2. Операторы манипуляции данными: INSERT, DELETE,
SELECT, UPDATE и др.
3. Операторы задания прав доступа в базе данных.
4. Операторы защиты, восстановления данных и прочие операторы.
Слайд 4
Создание базы данных
Синтаксис оператора
CREATE DATABASE имя_БД
Слайд 5
Создание таблицы
Оператор CREATE TABLE предназначен для описания структуры
таблицы.
Синтаксис оператора
CREATE TABLE имя_таблицы (
имя_столбца тип_данных [NOT NULL|NULL] [AUTO_INCREMENT]
имя_столбца
тип_данных [NOT NULL|NULL] [AUTO_INCREMENT]
…
PRIMARY KEY (имя_столбца)
KEY (имя_индекса|имя_столбца)
INDEX (имя_индекса|имя_столбца)
)
Слайд 6
NOT NULL|NULL – запрещает|разрешает в таблице пустые ячейки
в данном столбце
AUTO_INCREMENT – устанавливает столбец, как поле с
автонумерацией
PRIMARY KEY – описывает первичный ключ
KEY– описывает внешний ключ
INDEX – описывает индекс
Слайд 7
Первичный ключ (primary key, PK) – это уникальный
индекс, который применяется для уникальной идентификации записей таблицы. Никакие
из двух записей таблицы не могут иметь одинаковых значений первичного ключа.
Внешний ключ (foreign key, FK) является ссылкой на первичный ключ, устанавливая однозначную логическую связь между записями таблиц. Важная часть механизма обеспечения ссылочной целостности данных.
Слайд 8
Типы данных
Числовые типы
TINYINT – 1 байт;
SMALLINT – 2
байта;
MEDIUMINT – 3 байт;
INT – 4 байта;
BIGINT – 8
байт;
DECIMAL – с фиксированной точкой;
FLOAT – с плавающей точкой.
Слайд 9
Символьные типы
CHAR – строка символов фиксированной длины;
VARCHAR –
строка символов переменной длины.
Типы даты и времени
DATE – дата;
TIME
– время;
DATETIME и другие.
Слайд 10
Пример создания таблицы student
в базе данных stud
CREATE
TABLE `stud`.`student` (
`id_stud` INT(3) NOT NULL AUTO_INCREMENT ,
`fam` VARCHAR(30)
NOT NULL ,
`name` VARCHAR(30) NOT NULL ,
`age` INT(2) NOT NULL , `id_group` INT(3) NOT NULL ,
PRIMARY KEY (`id_stud`),
INDEX (`id_group`)) ENGINE = InnoDB;
Слайд 11
Модификация таблицы
Оператор ALTER TABLE – используется для добавления,
изменения или удаления столбцов в таблице.
Синтаксис оператора
ALTER TABLE имя_таблицы
спецификация
Слайд 12
Спецификация оператора ALTER TABLE
Слайд 13
Спецификация оператора ALTER TABLE
Слайд 14
Удаление таблицы
Оператор DROP TABLE позволяет удалить одну или
несколько таблиц из базы данных.
Синтаксис оператора
DROP TABLE имя_таблицы1, имя_таблицы2,…;
Слайд 15
Операторы манипуляции данными
(MySQL запросы)
Добавление записей в таблицу
Оператор INSERT
используется для вставки одной записи или несколько записей в
таблицу
Синтаксис оператора
INSERT INTO имя_таблицы
(имя_столбца1, имя_столбца2, … )
VALUES
(значение1, значение2, … ),
…;
Слайд 16
Пример
INSERT INTO proizvod
(id, name)
VALUES
(14, 'Acer');
Слайд 17
Удаление записей из таблицы
Оператор DELETE используется для удаления
одной записи или нескольких записей из таблицы в MySQL.
Синтаксис
оператора
DELETE FROM имя_таблицы
[WHERE условие];
Пример
DELETE FROM proizvod
WHERE name = 'Acer';
Слайд 18
Обновление записей в таблице
Оператор UPDATE используется для обновления
существующих записей в таблице в базе данных MySQL.
Синтаксис оператора
UPDATE
имя_таблицы
SET имя_столбца1 = значение1,
имя_столбца2 = значение2,
…
[WHERE условие];
Слайд 19
Пример 1 Обновление одного столбца
UPDATE proizvod
SET name =
'Acer'
WHERE id = 12;
Пример 2 Обновление нескольких столбцов
UPDATE customers
SET
state = 'Nevada',
customer_rep = 23
WHERE customer_id > 200;
Слайд 20
Пример 3 Обновление нескольких таблиц
UPDATE customers, suppliers
SET customers.city
= suppliers.city
WHERE customers.customer_id = suppliers.supplier_id;
Слайд 21
Выборка записей из таблиц
Оператор SELECT используется для извлечения
записей из одной или нескольких таблиц.
Синтаксис оператора
SELECT имя_столбца
FROM имя_таблицы
[WHERE
условие];
Символ * используется для выбора всех столбцов из таблицы.
Слайд 22
Необязательные операторы
Оператор ORDER BY используется в SELECT для
сортировки записей в результирующем наборе.
Синтаксис оператора
ORDER BY имя_столбца [
ASC | DESC ];
ASC – сортирует результирующий набор в порядке возрастания (по умолчанию, если атрибут не указан);
DESC – сортирует результирующий набор в порядке убывания.
Слайд 23
Оператор GROUP BY используется в SELECT предложении для
сбора данных по нескольким записям и группировки результатов по
одному или нескольким столбцам.
Синтаксис оператора
GROUP BY имя_столбца1, имя_столбца2, …;
Слайд 24
Использование функций в запросах
Функция SUM – определяет сумму
значений поля.
Функция COUNT – определяет количество записей.
Функция MIN –
определяет минимальное значение.
Функция MAX – определяет максимальное значение.
Функция AVG – определяет среднее значение.
Слайд 25
Пример 1 Выборка всех полей из одной таблицы
SELECT
*
FROM order_details
WHERE quantity >= 100
ORDER BY quantity DESC;
Слайд 26
Пример 2 Выборка отдельных полей из одной таблицы
SELECT
order_id, quantity, unit_price
FROM order_details
WHERE quantity < 300
ORDER BY quantity
ASC, unit_price DESC;
Слайд 27
Пример 3 Выборка полей из нескольких таблиц
SELECT order_details.order_id,
customers.customer_name
FROM customers
INNER JOIN order_details
ON customers.customer_id = order_details.customer_id
ORDER BY order_details.order_id;
В
SELECT указывается имя_таблицы.имя_столбца
Оператор JOINS используется для извлечения данных из нескольких таблиц.
Слайд 30
Операторы сравнения MySQL
=, , , !=, >, >=,
Слайд 31
Использование PhpMyAdmin для взаимодействия с базой данных MySQL
Слайд 32
Библиотека php_mysqli.dll предоставляет современные методы доступа к базе
данных MySQL
Установка соединения
1. $db = mysqli_connect(, , ,
<База данных>);
2. $db = new mysqli(<Имя хоста>, <Имя пользователя>, <Пароль>, <База данных>);
Слайд 33
Пример
if (@$db = mysqli_connect("localhost", "root", "123456", "tests")) {
//
Выполняем работу с базой данных
}
else {
echo "Не удалось установить
подключение к базе данных";
}
@ - подавляет вывод ошибки функции
Слайд 34
Функция mysqli_connect_errno() проверяет отсутствие ошибок при подключении
@$db
= new mysqli("localhost", "root", "123456", "tests");
if (!mysqli_connect_errno()) {
// Выполняем
работу с базой данных
}
else {
echo "Не удалось установить подключение к базе данных";
}
Слайд 35
Закрытие соединения
Процедурный стиль
Функция mysqli_close():
mysqli_close();
Объектный стиль
Используется метод close():
->close();
Слайд 36
Процедурный стиль
if (@$db = mysqli_connect("localhost", "root", "123456", "tests"))
{
// Выполняем работу с базой данных
mysqli_close($db); // Закрываем соединение
}
else
{
echo "Не удалось установить подключение к базе данных";
}
Слайд 37
Объектный стиль
@$db = new mysqli("localhost", "root", "123456", "tests");
if
(!mysqli_connect_errno()) {
// Выполняем работу с базой данных
$db->close(); // Закрываем
соединение
}
else {
echo "Не удалось установить подключение к базе данных";
}
Слайд 38
Выбор базы данных
Функция mysqli_select_db() служит для выбора базы
данных уже после подключения
Формат
mysqli_select_db(, );
Слайд 39
Пример
if (@$db = mysqli_connect("localhost", "root", "123456")) {
mysqli_select_db($db, "tests");
//
Выполняем работу с базой данных
mysqli_close($db);
}
else {
echo "Не удалось установить
подключение к базе данных";
}
Слайд 40
При объектном стиле используется метод select_db().
Формат:
->select_db(
базы данных>);
Слайд 41
Пример
@$db = new mysqli("localhost", "root", "123456");
if (!mysqli_connect_errno()) {
$db->select_db("tests");
//
Выполняем работу с базой данных
$db->close();
}
else {
echo "Не удалось установить
подключение к базе данных";
}
Слайд 42
Выполнение запроса к базе данных
Выполнить запрос к базе
данных в процедурном стиле позволяет функция mysqli_query().
Функция имеет
следующий формат:
mysqli_query(<Идентификатор>, );
Слайд 43
Для удаления идентификатора результата и освобождения используемых ресурсов
применяется функция mysqli_free_result().
Формат:
mysqli_free_result();
Слайд 44
Выполнить запрос к базе данных при объектном стиле
позволяет метод query().
Формат:
->query();
Метод возвращает экземпляр результата.
Для
удаления экземпляра результата применяется метод close().
Формат:
<Экземпляр результата>->close();
Слайд 45
Обработка результата запроса
Процедурный стиль
mysqli_num_rows() возвращает количество записей
в результате
mysqli_field_count() возвращает количество полей в результате последнего
SQL-запроса
mysqli_fetch_array(<Идентификатор результата>, [<Флаг>]) возвращает результат в виде списка и (или) ассоциативного массива
Слайд 46
Параметр Флаг может принимать следующие значения:
MYSQLI_BOTH – результат
в виде списка и ассоциативного массива (значение по умолчанию);
MYSQLI_NUM
– результат в виде списка;
MYSQLI_ASSOC – результат в виде ассоциативного массива.
mysqli_fetch_row(<Идентификатор результата>) возвращает результат в виде списка
mysqli_fetch_assoc(<Идентификатор результата>) возвращает результат в виде ассоциативного массива
Слайд 47
mysqli_fetch_object() возвращает результат в виде объекта
mysqli_data_seek(,
) перемещает указатель результата на выбранную строку. Нумерация начинается
с нуля
Слайд 48
Объектный стиль
num_rows возвращает количество записей в результате
field_count
возвращает количество полей в результате
fetch_array([]) возвращает результат в виде
списка и (или) ассоциативного массива в зависимости от значения необязательного параметра <Флаг>.
Слайд 49
Параметр Флаг может принимать следующие значения:
MYSQLI_BOTH – результат
в виде списка и ассоциативного массива (значение по умолчанию);
MYSQLI_NUM –
результат в виде списка;
MYSQLI_ASSOC – результат в виде ассоциативного массива