my sql 0
DESCRIPTION
MySQLTRANSCRIPT
![Page 1: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/1.jpg)
![Page 2: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/2.jpg)
На сегодняшний день СУБД MySQL является одной из
самых известных, надежных и быстрых из всего
семейства существующих СУБД. Одной из причин являются правила ее распространения —
распространяется бесплатно под лицензией *GNU GPL и
вместе со своими исходными текстами, другая причина –
это то, что MySQL относительно быстрая
СУБД.
![Page 3: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/3.jpg)
Принцип работы СУБД MySQL аналогичен
принципу работы любой СУБД, использующей SQL (Structured Query
Language, язык структурированных запросов) в качестве
командного языка для создания/удаления баз
данных, таблиц, для пополнения таблиц
данными, для осуществления выборки
данных.
![Page 4: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/4.jpg)
База данных, которую сервер MуSQL
использует для хранения внутренней
информации о пользователях, по умолчанию имеет имя mуsql. В этой
базе данных определены таблицы
для хранения информации
пользовательских учетных записей.
Содержание БД mysql в таблице 1.1.
![Page 5: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/5.jpg)
Ниже приведено описание важных характеристик программного обеспечения MySQL.
Внутренние характеристики и переносимость Написан на C и C++. Протестирован на множестве различных
компиляторов. Работает на различных платформах. Для обеспечения переносимости используется GNU Automake,
Autoconf и Libtool. API для C, C++, Eiffel, Java, Perl, PHP, Python, Ruby и Tcl Полностью многопоточный с использованием потоков ядра. Это
означает, что, если такая возможность обеспечивается, можно легко организовать работу с несколькими процессорами.
Очень быстрые дисковые таблицы на основе В-деревьев со сжатием индексов.
Очень быстрая базирующаяся на потоках система распределения памяти.
Очень быстрые соединения, использующие оптимизированный метод однопроходного мультисоединения (one-sweep multi-join).
Хеш-таблицы в памяти, используемые как временные таблицы. SQL-функции реализованы при помощи хорошо
оптимизированной библиотеки классов, поэтому они выполняются настолько быстро, насколько это возможно. Обычно после инициализации запроса распределения памяти не происходит вообще.
![Page 6: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/6.jpg)
Типы столбцов Большое количество: целочисленные со знаком/беззнаковые, длиной в 1, 2, 3, 4 и
8 байтов, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET и ENUM.
С записями фиксированной и переменной длины. Все столбцы имеют значения по умолчанию. С помощью INSERT можно вставить
подмножество столбцов таблицы; столбцы, для которых явно не заданы значения, устанавливаются в значения по умолчанию.
Команды и функции Полная поддержка операторов и функций в SELECT- и WHERE- частях запросов.
Полная поддержка для операторов SQL GROUP BY и ORDER BY с выражениями SQL. Поддержка групповых функций (COUNT(), COUNT(DISTINCT ...), AVG(), STD(), SUM(), MAX() и MIN()).
Поддержка LEFT OUTER JOIN и RIGHT OUTER JOIN с синтаксисом ANSI SQL и ODBC.
Разрешены псевдонимы для таблиц и столбцов в соответствии со стандартом SQL92.
DELETE, INSERT, REPLACE, and UPDATE возвращают число строк, которые были изменены. Вместо этого можно задать возвращение совпавших строк. Для этого следует установить флаг при соединении с сервером.
Команду SHOW, которая является специфической для MySQL, можно использовать для получения информации о базах данных, таблицах и индексах. Чтобы выяснить, как оптимизатор выполняет запрос, можно применять команду EXPLAIN.
Имена функций не конфликтуют с именами таблиц и столбцов. Например, ABS является корректным именем столбца. Для вызова функции существует только одно ограничение: между именем функции и следующей за ним открывающей скобкой `(' не должно быть пробелов.
В одном и том же запросе могут указываться таблицы из различных баз данных (с версии 3.22).
![Page 7: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/7.jpg)
Свойства MySQL сервера: Многопоточность. Поддержка нескольких одновременных
запросов. Оптимизация связей с присоединением многих данных за один
проход. Записи фиксированной и переменной длины. Гибкая система привилегий и паролей. До 16 ключей в таблице. Каждый ключ может иметь до 15 полей. Поддержка ключевых полей и специальных полей в операторе
CREATE. Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed),
строк переменной длины и меток времени. Интерфейс с языками C и perl. Основанная на потоках, быстрая система памяти. Утилита проверки и ремонта таблицы (isamchk). Все операции работы со строками не обращают внимания на
регистр символов в обрабатываемых строках. Псевдонимы применимы как к таблицам, так и к отдельным
колонкам в таблице. Все поля имеют значение по умолчанию. INSERT можно
использовать на любом подмножестве полей. Легкость управления таблицей, включая добавление и удаление
ключей и полей.
![Page 8: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/8.jpg)
SELECT (выбрать) данные из указанных столбцов и
(если необходимо) выполнить перед выводом их преобразование в соответствии с указанными выражениями и (или) функциями. Для исключения дубликатов и одновременного упорядочения перечня необходимо дополнить запрос ключевым словом DISTINCT .
FROM (из) перечисленных таблиц, в которых
расположены эти столбцы WHERE
(где) строки из указанных таблиц должны удовлетворять указанному перечню условий отбора строк . Кроме традиционных операторов сравнения (= | <> | < | <= | > | >=) в WHERE фразе используются условия BETWEEN (между), LIKE (похоже на), IN (принадлежит), IS NULL (не определено) и EXISTS (существует), которые могут предваряться оператором NOT (не). Критерий отбора строк формируется из одного или нескольких условий, соединенных логическими операторами:
AND - когда должны удовлетворяться оба
разделяемых с помощью AND условия;
OR - когда должно удовлетворяться одно из
разделяемых с помощью OR условий; AND NOT
- когда должно удовлетворяться первое условие и не должно второе;
OR NOT - когда или должно удовлетворяться
первое условие или не должно удовлетворяться второе,
причем существует приоритет AND над OR (сначала выполняются все операции AND и только после этого операции OR). Для получения желаемого результата WHERE условия должны быть введены в правильном порядке, который можно организовать введением скобок.
![Page 9: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/9.jpg)
GROUP BY (группируя по) указанному перечню
столбцов с тем, чтобы получить для каждой группы единственное
агрегированное значение, используя во фразе SELECT SQL-функции SUM (сумма), COUNT (количество), MIN
(минимальное значение), MAX (максимальное значение) или AVG
(среднее значение) HAVING
(имея) в результате лишь те группы, которые удовлетворяют указанному
перечню условий отбора групп ORDER BY
позволяет упорядочить результаты выбора данных. При этом
упорядочение можно производить в порядке возрастания - ASC
(ASCending) или убывания DESC (DESCending), а по умолчанию
принимается ASC.
Запросы удаления служат для удаления строк из таблицы
DELETE FROM базовая_таблица WHERE фраза
За процесс добавления записей в таблицу в mySQL отвечает команда
INSERT. Она имеет два варианта использования.
INSERT INTO базовая_таблица VALUES (значение1, значение2 …)
![Page 10: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/10.jpg)
Запросы из таблиц: Klient, Tovar, Osnovnaya
1.Вывести все товары, заканчивающиеся на in
![Page 11: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/11.jpg)
2. Вывести фирмы, которые купили топливо больше чем на 5000
![Page 12: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/12.jpg)
3. Вывести всех, кто покупал бензин на сумму больше 1000 во второй половине мая
![Page 13: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/13.jpg)
4. Вывести суммарные прибыли каждого вида топлива
![Page 14: My sql 0](https://reader036.vdocuments.site/reader036/viewer/2022070317/5561eddcd8b42ab1068b552b/html5/thumbnails/14.jpg)
MуSQL имеет развитую систему доступа к базам данных. Пользователю базы данных может быть предоставлен доступ ко всей
базе данных, отдельным таблицам и отдельным столбцам таблиц. Имеется
разграничение на действия, которые может производить пользователь с
записями. Для организации такой сложной (на первый взгляд) структуры доступа
используется несколько таблиц в специальной базе данных. На основании значений этих таблиц выстраивается
политика предоставления доступа.