Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в Веб программирование.doc
Скачиваний:
81
Добавлен:
07.11.2018
Размер:
4.42 Mб
Скачать

MySql – сервер: бд1; бд2; бд3; бд4;

Под БД понимается совокупность взаимосвязанных таблиц, объединенных общим управлением. Перед началом работы с MySql надо: спроектировать БД; спроектировать структуру таблиц БД; создать таблицы БД; создать БД.

Каждая таблица состоит из записей. В MySql используются следующие типы полей записей:

Целые числа: INT(-2147483648..2147483647), TINYINT(-128..127), SMALLINT, MEDIUMINT, BIGINT;

Вещественные числа: DOUBLE, REAL(синоним DOUBLE), FLOAT, DECIMAL (числовая строка), NUMERIC;

Строки: VARCHAR (1..255), TINYTEXT (1..255), TEXT(1..65535); MEDIUMTEXT,

LONGTEXT;

Блочно-бинарные данные: BLOB(до 65535 символов), TINYBLOB(до 255 символов), MEDIUMBLOB, LONGBLOB: при поиске, в отличие от TEXT, учитывается нижний и верхний регистр символов;

Дата и время: DATE(гггг-мм-дд), TIME(чч:мм:сс), DATETIME(гггг-мм-дд чч:мм:сс ), TIMESTAMP.

К полям могут присоединяться модификаторы primary key, auto_increment, Default.

Создание БД и таблиц может быть выполнено вручную, например c помощью приложения phpmyadmin, входящего в состав MySql. Набирается www.localhost/phpmyadmin и выполняются действия по созданию БД и таблиц.

Другой способ создание БД и таблиц состоит в использовании команд языка SQL, являющегося частью MySql.

Язык запросов sql

Язык запросов SQL – основной язык для работы с реляционнми базами данных, построенными в соответствии с правилами реляционной алгебры. Состав языка SQL следующий:

Язык манипулирования данными состоящий из команд: SELECT (выбрать), INSERT (вставить), UPDATE (обновить), DELETE (удалить).

Язык определения данных используемый для создания и изменения структуры БД и ее составных частей – таблиц, индексов, представлений (виртуальных таблиц). Основными его командами являются: CREATE DATABASE (создать базу данных), CREATE TABLE (создать таблицу), CREATE INDEX (создать индекс), ALTER DATABASE (модифицировать базу данных), ALTER TABLE (модифицировать таблицу), ALTER INDEX (модифицировать индекс), DROP DATABASE (удалить базу данных), DROP TABLE (удалить таблицу), DROP INDEX (удалить индекс).

Язык управления данными (управления доступом) состоит из двух основных команд: GRANT (дать права), REVOKE (забрать права).

Наиболее важной и часто используемой командой языка манипулирования данными SQL является команда SELECT. Формат команды SELECT в языке SQL:

SELECT поля FROM таблицы WHERE условие;

Базовыми операциями команды SELECT являются: выборка, проекция, соединение, объединение.

Операция выборки позволяет получить все строки либо часть строк таблицы.

SELECT * FROM Student; – Получить все строки таблицы Student

SELECT * FROM Student WHERE Kurs=2; – Получить подмножество строк таблицы, удовлетворяющих условию Kurs=2. Точка с запятой является стандартным признаком конца команды, который вставляется автоматически.

Операция проекции позволяет выделить подмножество столбцов таблицы.

SELECT StudName FROM Student WHERE Kurs=2; – Получить имена студентов второго курса.

Операция соединения позволяет соединять строки из более чем одной таблицы:

SELECT StudName, Exammark FROM Students, Exams WHERE Students.Stud_Id =Exams.Stud_Id – Получить список студентов и экзаменационных оценок.

Операция объединения позволяет объединять результаты отдельных запросов. Предложение UNION объединяет вывод двух или более SQL-запросов.

SELECT name FROM employee WHERE country = "Беларусь" UNION SELECT contact_nаме, FROM customer WHERE country = "Беларусь"; – Получить список работников и заказчиков, проживающих в Беларуси.

Условия отбора. Директива WHERE содержит условия отбора (предикат). Запрос возвращает только строки, для которых предикат имеет значение true. Типы предикатов, используемых в предложении WHERE:

Сравнение: = (равно); <> (не равно); != (не равно); > (больше); < (меньше); >= (больше или равно); <= (меньше или равно); BETWEEN, IN , LIKE, CONTAINING, IS NULL, EXIST, ANY, ALL.

Предикат BETWEEN задает диапазон значений, для которого истинно значение выражения. Например:

SELECT StudName, Stipend FROM Student WHERE Stipend BETWEEN 120 AND 200 – получить список студентов стипендия которых больше 120 и меньше 200.

Тот же запрос с использованием операторов сравнения будет выглядеть следующим образом:

SELECT StudName, Stipend FROM Student WHERE Stipend>=120000 AND Stipend<=200000

Предикат IN (NOT IN) проверяет, входит ли заданное значение, предшествующее ключевому слову “IN”, в указанный в скобках список. Например:

SELECT name FROM employee WHERE job_code IN ("VP", "Admin", "Finan") – получить список сотрудников, занимающих должности “вице-президент”, “администратор”, “финансовый директор”.

Предикат LIKE проверяет, соответствует ли данное символьное значение строке с указанной маской. В качестве маски используются все разрешенные символы (с учетом верхнего и нижнего регистров), а также специальные символы: % – замещает любое количество символов, _ – замещает только один символ. Например:

SELECT StudName FROM Student WHERE StudName LIKE "Ф%" – получить список студентов, фамилии которых начинаются с буквы ‘Ф’.

Предикат CONTAINING аналогичен предикату LIKE, однако он не чувствителен к регистру букв.

Предикат IS NULL принимает значение true только тогда, когда выражение слева от “IS NULL” имеет значение null (пусто, не определено).

Логические операторы. К логическим операторам относятся NOT, AND, OR. В одном предикате логические операторы выполняются в указанном порядке.

Преобразование типов. В SQL имеется возможность преобразовать значение к другому типу для выполнения операций сравнения. Для этого используется функция CAST.

Изменение порядка выводимых строк. Порядок выводимых строк может быть изменен с помощью предложения ORDER BY в конце SQL-запроса. Это предложение имеет вид: ORDER BY [ASC | DESC]

Способом по умолчанию является упорядочивание “по возрастанию” (ASC). Если указано “DESC”, упорядочивание производится “по убыванию”. Например:

SELECT StudName, Stipend FROM Student ORDER BY StudName – получить список в алфавитном порядке.