Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемЭдуард Зыбин
1 1. СУБД MySQL 2. Язык обработки данных SQL
2 Сервер данных MySQL и его возможности MySQL это популярный сервер данных, применяемый при создании Web-сайтов.
3 MySQL весьма быстрый и нетребовательный к ресурсам компьютера сервер данных. Возможностей MySQL вполне хватает для создания Web-сайтов. MySQL распространяется бесплатно, более того его исходные тексты открыты для изучения и доработки. MySQL прекрасно работает в связке с РНР, технологии создания активных серверных Web-страниц.
4 MySQL поддерживает запросы SQL, одновременный доступ нескольких пользователей к базам данных, индексы, права, множество типов данных и пр.
5 Можно давать отдельные права на выполнение разных видов запросов SQL. Атрибут прав SELECT дает пользователю возможность извлекать данные из таблицы. Права на добавление записей дает атрибут INSERT, на изменение UPDATE, а на удаление DELETE. Также можно дать права на создание, изменение и удаление таблиц и индексов, выполнение служебных операций и пр.
6 Можно также задать интернет-адрес компьютера, с которого данный пользователь может подключаться к серверу. Фактически интернет-адрес компьютера в MySQL является частью имени пользователя, которое в этом случае записывается вот то есть как адрес электронной почты.
7 Например: Пользователь root имеет право подключаться к серверу данных только с локального компьютера (localhost).
8 Пользователь remote_user может подключиться к серверу только с компьютера dev.domain.ru и ни с какого другого (даже локального).
9 Если нужно дать пользователю возможность подключаться с любого компьютера, нужно будет вместо интернет-адреса подставить шаблон %, задающий любой интернет-адрес. Например: Пользователь travelling_user может подключаться к серверу с любого компьютера и локального, и удаленного.
10 Шаблон % можно использовать и вместо имени пользователя; тогда он будет задавать любого пользователя. Так, если написать localhost то с локального компьютера к серверу сможет подключиться любой пользователь (с любым именем, даже если оно явно не записано в списке пользователей). А если записать то к серверу сможет подключиться любой пользователь с любого компьютера (такому пользователю будет нужно дать минимальные права).
11 Схема взаимодействия клиента данных с сервером : 1. Клиент данных формирует запрос на языке SQL. 2. Клиент данных передает сформированный запрос клиентской части сервера данных, установленной на клиентском компьютере. 3. Клиентская часть "упаковывает" принятый запрос в сетевые пакеты и передает его серверу данных. 4. Сервер данных принимает запрос, расшифровывает его, выполняет и отсылает результат обратно. 5. Клиентская часть сервера данных принимает результат, "распаковывает" его и возвращает клиенту данных. 6. Клиент данных принимает результат и выводит его на экран либо предпринимает какие-то действия (например, сообщает пользователю об ошибке).
12 Язык обработки данных SQL
13 SQL - информационно-логический язык, предназначенный для описания хранимых данных, для извлечения хранимых данных и для модификации данных.
14 Запросы SQL можно разделить на три группы: Запросы управления данными (запросы выборки данных, добавления, изменения и удаления записей). Запросы определения данных (запросы создания, изменения и удаления баз данных, таблиц, индексов, связей и пр.). Служебные запросы. Выполняют различные технические задачи: сбор статистики использования баз данных, резервное копирование и пр.
15 Компоненты SQL язык определения данных (ЯОД) DDL – Data Definition Language язык манипулирования данными (ЯМД) DML – Data Manipulation Language язык управления данными (ЯУД) DCL – Data Control Language CREATE ALTER DROP SELECT INSERT UPDATE DELETE GRANT REVOKE DENY
16 Создание БД Create - позволяет создавать базы данных и таблицы CREATE mydb; - создание пустой БД mydb
17 Создание таблиц Базовые таблицы создаются с помощью предложения CREATE TABLE: CREATE TABLE имя_таблицы (описание_поля_1, [описание_поля_2] [,…]);
18 Описание поля таблицы имя_поля тип_данных [ограничения] где имя_поля – имя поля (столбца) таблицы; тип_данных – спецификация одного из типов данных
19 Ограничения: NOT NULL – запрещает пустые ячейки в данном поле DEFAULT по_умолч – определяет значение по умолчанию UNIQUE – значение в поле должно быть уникальным PRIMARY KEY – указывает, что поле является первичным ключом UNSIGNED - запрещает числовым полям принимать отрицательные значения AUTO_INCREMENT - превращает обычное целочисленное поле в поле счетчика и др.
20 Некоторые типы данных, поддерживаемые MySQL
21 Некоторые типы данных, поддерживаемые MySQL (продолжение)
22 Описание таблицы items
23 Описание таблицы categories
24 Таблица items Таблица categories dateauthornamecatid Кирсанов, Д.Цвет в веб-дизайне Семенов И.К вопросу об эффективности поиска конкретики в Интернете Олифер, Н.Сетевые операционные системы Андреев А.Исследование активности рынка интернет-ссылок в Рунете 1 namefilecatid Интернетда 1 Системанет 5 Офисда 2 Программированиеда 3 Интернетнет 4
25 CREATE TABLE categories ( id smallint UNSIGNED AUTO_INCREMENT, name varchar( 15 ) NOT NULL, file bool NOT NULL, PRIMARY KEY ( id ) )
26 CREATE TABLE items (id smallint UNSIGNED AUTO_INCREMENT, autor varchar(40) NOT NULL, name varchar(80) NOT NULL, added date NOT NULL, href varchar(255), catid smallint NOT NULL, PRIMARY KEY (id))
27 Удаление таблиц и баз данных DROP TABLE имя_таблицы;
28 Изменение записей таблицы
29 Добавление записи INSERT INTO ( ) VALUES ( );
30 Пример: INSERT INTO items (name, author) VALUES ("Цвет в веб-дизайне", "Кирсанов, Д.");
31 UPDATE SET =, =... WHERE ; Изменение записи
32 Например UPDATE categories SET name="Internet" WHERE id=1;
33 DELETE FROM WHERE ; Удаление записи
34 Пример: DELETE FROM categories WHERE id=3;
35 SELECT [DISTINCT] * | FROM ; Если вместо списка полей подставить знак звездочка (*), будут выбраны все поля. Простейший запрос выборки данных
36 Примеры SELECT * FROM items; SELECT name FROM categories;
37 Список значений поля name таблицы categories, возвращенных запросом SQL SELECT name FROM categories;
38 Если указано ключевое слово DISTINCT, то возвращаются только уникальные строки. Например, запрос: SELECT DISTINCT name FROM categories; вернет результат Вместо двух строк «Интернет» получили одну.
39 Сортировка данных Для задания порядка сортировки служит дополнительные ключевые слова ORDER BY, которые ставятся в конец запроса:... ORDER BY
40 Критерии сортировки имеют такой вид: [DESC]
41 Поля, по которым должна вестись сортировка записей, перечисляются через запятую после ключевого слова ORDER BY, которое, в свою очередь, ставится в конце запроса перед знаком точки с запятой. Правила сортировки: 1. Сначала записи сортируются по полю, указанному первым в списке. 2. Если для некоторых записей значения этого поля одинаковы, то записи далее сортируются по полю, указанному вторым в списке. 3. Если для каких-то записей значения и этого поля одинаковы, то они будут отсортированы по полю, указанному третьим в списке. 4. И т.д.
42 По умолчанию записи сортируются, так, чтобы значения поля выстроились по возрастанию. Если нужно отсортировать их по убыванию значений данного поля, нужно после имени этого поля поставить ключевое слово DESC.
43 Примеры: SELECT * FROM items ORDER BY author; SELECT file, name FROM categories ORDER BY file, name DESC;
45 Фильтрация данных Для фильтрации используется ключевое слово WHERE. Это слово ставится между ключевыми словами FROM и ORDER BY:... WHERE...
46 Сами критерии фильтрации имеют вид:
47 Оператор сравнения задает равенство или неравенство заданного значения и значения поля. Например: id = 3 имя поля оператор сравнения заданное значение
48 Доступные в стандарте SQL операторы сравнения
49 SELECT * FROM items WHERE author="Кирсанов, Д."; SELECT * FROM items WHERE author<>"Андреев, А."; "Андреев, А.";">
50 Строковые величины, являющиеся частью критериев в запросах SQL, должны заключаться в кавычки!
51 SELECT * FROM items WHERE author="Кирсанов, Д." OR author="Андреев, А."; SELECT id FROM categories WHERE name="Интернет" AND file=true; Логические операторы OR и AND
52 SELECT * FROM categories WHERE NOT id = 3; Логический оператор NOT (НЕ)
53 Логические операторы можно комбинировать SELECT * FROM items WHERE NOT (author="Кирсанов, Д." OR author="Андреев, А."); SELECT * FROM items WHERE NOT author="Кирсанов, Д." OR author="Андреев, А.";
54 Задание связей между таблицами Чтобы связать две таблицы и получить из них данные, используется ключевое слово WHERE. SELECT items.author, items.name, categories.name FROM items, categories WHERE items.catid=categories.id;
55 SELECT items.author, items.name, categories.name FROM items, categories WHERE items.catid=categories.id;
56 authorname Кирсанов, Д.Цвет в веб-дизайне Интернет Семенов И.К вопросу об эффективности поиска конкретики в Интернете Интернет Олифер, Н.Сетевые операционные системы Система Андреев А.Исследование активности рынка интернет-ссылок в Рунете Интернет
57 SELECT items.author, items.name, categories.name FROM items, categories WHERE items.catid=categories.id AND categories.file=false ORDER BY categories.name, items.name;
58 Псевдонимы полей Язык SQL предоставляет возможность дать полю другое имя (так называемый псевдоним). Псевдоним создается с помощью ключевого слова AS: SELECT... AS,...
59 SELECT items.author, items.name AS item_name, categories.name AS cat_name FROM items, categories WHERE items.catid=categories.id AND categories.file=false ORDER BY categories.name, items.name;
60 Агрегатные функции SQL Группировка это объединение записей в группы по какому-либо критерию, называемому критерием группировки. Выполняется группировка с помощью ключевого слова GROUP BY, после которого записываются сами критерии группировки: GROUP BY Ставится перед ключевыми словами ORDER BY.
61 Поля, по которым ведется группировка записей, должны быть первыми в списке полей ключевого слова SELECT и располагаться в том же порядке, в котором они перечислены после ключевого слова GROUP BY. Поля, по которым ведется группировка записей, должны быть первыми в списке полей ключевого слова ORDER BY и, опять же, располагаться в том же порядке, в котором они перечислены после ключевого слова GROUP BY.
62 Нужно получить количество статей в каждой категории. SELECT categories.name, COUNT(items.name) AS item_count FROM items, categories WHERE items.catid=categories.id AND categories.file=false GROUP BY categories.name ORDER BY categories.name;
63 Результат:
64 Агрегатные функции в языке SQL
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.