Лекция 1 Где взять Mysql? 2 Языки запросов 3



Скачать 119.06 Kb.
Дата19.04.2013
Размер119.06 Kb.
ТипДокументы

Основы SQL, лекция 1

Где взять MySQL? 2

Языки запросов 3

Язык SQL и его синтаксис 4

Типы данных 5

Числа 5

Строки 5

Другие 5

Основные команды 6

Базы данных 6

Создание 6

Удаление 6

Смена текущей базы данных в консоли MySQL 6

Таблицы 7

Создание 7

Простые модификации 7

Удаление 7

Строки 8

Добавление 8

Модификация 8

Удаление 8

Выборка 9

WHERE 9

ORDER BY 9

LIMIT 10

GROUP BY 10

HAVING 11

Функции 12

SUM 12

COUNT, COUNT(DISTINCT) 12

AVG, MIN, MAX 12

Источники 13

Где взять MySQL?

MySQL — свободно-распространяемая СУБД, доступная для множества платформ. Бесплатная версия — MySQL Community Server. Доступна для свободного скачивания на www.mysql.com.

  1. Windows: http://dev.mysql.com/downloads/mysql/5.0.html#win32

  2. GNU/Linux:

    1. почти во всех дистрибутивах есть свои готовые пакеты для установки — для инсталляции MySQL лучше всего воспользоваться родными средствами системы (лучше — релиз 5.0, но можно и 4.x);

    2. пакеты: http://dev.mysql.com/downloads/mysql/5.0.html#linux

    3. исходники: http://dev.mysql.com/downloads/mysql/5.0.
      html#source


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

Операции, выполняемые над отношениями, можно разделить на две группы:

  • операции над множествами (объединение, пересечение, разность, деление и декартово произведение)

  • операции над отношениями (проекция, соединение, выбор).

В реляционных СУБД для выполнения операций над отношениями используются две группы языков, имеющие в качестве своей математической основы теоретические языки запросов, предложенные Э.Коддом:

  • реляционная алгебра;

  • реляционное исчисление.

В реляционной алгебре операнды и результаты всех действий являются отношениями. Языки реляционной алгебры являются процедурными, так как отношение, являющееся результатом запроса к реляционной БД, вычисляется при выполнении последовательности реляционных операторов, применяемым к отношениям. Операторы состоят из операндов, в роли которых выступают отношения, и реляционных операций. Результатом реляционной операции является отношение.

Языки исчислений, в отличие от реляционной алгебры, являются непроцедурными (описательными, или декларативными) и позволяют выражать запросы с помощью предиката первого порядка (высказывания в виде функции), которому должны удовлетворять кортежи или домены отношений. Запрос к БД, выполненный с использованием подобного языка, содержит лишь информацию о желаемом результате. Для этих языков характерно наличие наборов правил для записи запросов. В частности, к языкам этой группы относится SQL.

Язык SQL и его синтаксис

SQL (англ. Structured Query Language — язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. На SQL создается линейная последовательность операторов языка. Операторы состоят из:

  • имен операций и функций;

  • имен таблиц и их столбцов;

  • зарезервированных ключевых слов и специальных символов;

  • логических, арифметических и строковых выражений.

Общий вид простого оператора в SQL:

ГЛАГОЛ параметры;

Пример:

SELECT `id` FROM `mytable`;

Выражения в SQL не зависят от регистра, не требуют обязательного наличия кавычек при обозначении названий и игнорируют дополнительные разделители (пробел, табуляция, переход на новую строку), однако существует общепринятый стиль «правильного» оформления выражений:

INSERT INTO `news` (`id`, `post_date`) VALUES (42, '2008-06-01 04:13:15');

Закомментированная строка в SQL обозначается двойным дефисом в начале строки. Пример:
-- Структура таблицы `mytable`

В MySQL работает и классическое (из Си) обозначение для многострочных комментариев:

/*

Время создания: Сен 02 2008 г., 21:33

Версия сервера: 5.0.54

Версия PHP: 5.2.6RC1-pl1-gentoo

*/

Типы данных

Числа

Целые:

  • TINYINT — 1 байт, -128..127 (0..255);

  • SMALLINT — 2 байта, -32768..32767 (0..65535);

  • MEDIUMINT — 3 байта, -8388608..8388607 (0..2^24-1);

  • INT — 4 байта, -2147483648..2147483647 (0..2^32-1);

  • BIGINT — 8 байт, 0..2^64.


Дробные:


  • FLOAT (4 байта);

  • DOUBLE (8 байт) — вдвое большая точность после запятой.

Строки

  • CHAR — дополняет до заданной «ширины»;

  • VARCHAR — использует необходимый минимум памяти;

  • BLOB , TINYBLOB, MEDIUMBLOB, LONGBLOB — бинарные данные;

  • TEXT , TINYTEXT, MEDIUMTEXT, LONGTEXT — текстовые данные;

  • ENUM — одно из значений;

  • SET — ноль или более значений.

Другие

  • булев: BOOL, BOOLEAN;

  • уникальный автоматически увеличившийся идентификатор: SERIAL(== BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE);

  • дата и время: DATETIME, DATE, TIMESTAMP, TIME, YEAR.

Типы данных в документации MySQL: http://dev.mysql.com/doc/refman/5.1/en/data-types.html

Основные команды

Базы данных

Создание
Создание базы данных в MySQL создается простой командой:
CREATE DATABASE `database_name`;
Вместо database_name указывается название базы данных, которая будет создана. Несмотря на то, что современная версия MySQL позволяет создавать БД с кириллическими и специальными символами в названии, принято использовать латинские буквы, цифры и «_».
Удаление

DROP DATABASE `database_name`;

Смена текущей базы данных в консоли MySQL
USE `database_name`;
Таблицы

Создание
В простейшем случае создание таблицы в БД выглядит так:
CREATE TABLE `table_name` (

описание полей таблицы

);
Здесь mytable — название таблицы, а описание полей таблицы задано в следующем виде:
`название_первого_поля` его_тип параметры,

`название_второго_поля` его_тип,

`название_третьего_поля` его_тип параметры
Пример:
CREATE TABLE `news` (

`id` mediumint(8) unsigned NOT NULL auto_increment,

`posted` timestamp NOT NULL,

`content` text,

);
Простые модификации


  1. Переименование:


ALTER TABLE `table_name` RENAME TO `table_name2`;


  1. Добавление/удаление столбца:


ALTER TABLE `table_name`

ADD COLUMN `new_column` описание_столбца

[ FIRST | AFTER `after_column` ];
ALTER TABLE `table_name`

DROP COLUMN `very_bad_column`;


  1. Модификация столбца:


ALTER TABLE `table_name`

MODIFY COLUMN `bad_column` описание_столбца;
Удаление
DELETE TABLE `table_name`;

Строки

Добавление

INSERT INTO `table_name`

[ (`field1`, `field2`, ..., `fieldN`) ]

VALUES ('value1', 'value2', ..., `valueN`);

Модификация

UPDATE `table_name`

SET `field1`='value1', `field2`='value2', ..., `fieldN`='valueN'

[ WHERE условие ];

Удаление

DELETE FROM `table_name` [ WHERE условие ];

Выборка

SELECT `field1`, `field2`, ..., `fieldN`

FROM `table1`, `table2`, ..., `tableN`

[ WHERE условие ];

Пример:

SELECT * FROM `table_name`;

+------+------+

| num | id |

+------+------+

| 1 | 1 |

| 1 | 2 |

| 3 | 2 |

| 1 | 7 |

| 2 | 1 |

| 1 | 42 |

+------+------+

WHERE

Условный оператор. Используется для исключения строк.

Пример:

SELECT * FROM `table_name`

WHERE `num` = 1 AND ( `id` > 5 OR `id` < 2 );

+------+------+

| num | id |

+------+------+

| 1 | 1 |

| 1 | 7 |

| 1 | 42 |

+------+------+

ORDER BY

Определяет порядок сортировки выбранных строк.
Пример:

SELECT `field1`, `field2`, ..., `fieldN`

FROM `table1`, `table2`, ..., `tableN`

[ WHERE условие ]

[ ORDER BY `field1`, `field2`, ..., `fieldN` [ ASC | DESC ] ];

Пример:

SELECT * FROM `table_name`

ORDER BY `num` ASC, `id` DESC;

+------+------+

| num | id |

+------+------+

| 1 | 42 |

| 1 | 7 |

| 1 | 2 |

| 1 | 1 |

| 2 | 1 |

| 3 | 2 |

+------+------+

LIMIT

Позволяет ограничивать выборку заданным количеством строк. Добавляется в самый конец запроса SELECT.

Пример:

SELECT * FROM `table_name`

LIMIT 2;

+------+------+

| num | id |

+------+------+

| 1 | 1 |

| 1 | 2 |

+------+------+

GROUP BY

Позволяет группировать строки таблицы, выбранной по SELECT. Группировка осуществляется по значениям заданных столбцов. При этом каждое значение должно быть единственным для группы, строки с дублирующими значениями будут отброшены.

Пример:

SELECT * FROM `table_name`

GROUP BY `num`;

+------+------+

| num | id |

+------+------+

| 1 | 1 |

| 2 | 1 |

| 3 | 2 |

+------+------+

HAVING

Аналог WHERE для GROUP BY. Используется для исключения групп.

Пример:

SELECT * FROM `table_name`

GROUP BY `id`

HAVING `id` > 1;

+------+------+

| num | id |

+------+------+

| 1 | 2 |

| 1 | 7 |

| 1 | 42 |

+------+------+

Функции

SUM

Функция суммирования.

Пример:

SELECT SUM(`num`), SUM(`id`) FROM `table_name`;

+------------+-----------+

| SUM(`num`) | SUM(`id`) |

+------------+-----------+

| 9 | 55 |

+------------+-----------+

COUNT, COUNT(DISTINCT)

Функция подсчета количества строк. С DISTINCT — не считает повторяющиеся.

Пример:

SELECT COUNT(`num`), COUNT(DISTINCT `id`) FROM `table_name`;

+--------------+-----------------------+

| COUNT(`num`) | COUNT(DISTINCT `num`) |

+--------------+-----------------------+

| 6 | 3 |

+--------------+-----------------------+

AVG, MIN, MAX

Функции подсчета среднего, минимального и максимального значения.

Пример:

SELECT AVG(`num`), MIN(`num`), MAX(`num`) FROM `table_name`;

+------------+------------+------------+

| AVG(`num`) | MIN(`num`) | MAX(`num`) |

+------------+------------+------------+

| 1.5000 | 1 | 3 |

+------------+------------+------------+

Источники

  1. http://ru.wikipedia.org/wiki/SQL

  2. «Базы данных: учебник для высших учебных заведений», Хомоненко А.Д., Цыганков В.М., Мальцев М.Г., 2004 г.

  3. «Основы языка SQL», Федорук В.Г. // http://www.opennet.ru/docs/RUS/sql/

  4. MySQL 5.1 Reference Manual. // http://dev.mysql.com/doc/refman/5.1/en/

Похожие:

Лекция 1 Где взять Mysql? 2 Языки запросов 3 iconУрок первый mysql и php вывод информации с базы данных и их способы
Вами будем рассматривать в этом и в дальнейших моих уроках которые будут связаны не только с работой в базе данных с помощью запросов...
Лекция 1 Где взять Mysql? 2 Языки запросов 3 iconЛабораторная работа №5 Mysql query Analyzer новый инструмент для анализа запросов в Mysql enterprise Теория
В частности, sql query Analyzer показывает какие статистические данные пропущены, тем самым, заставляя оптимизатор запроса давать...
Лекция 1 Где взять Mysql? 2 Языки запросов 3 iconУстановка сервера Mysql
Распаковываем архив с установочным файлом, устанавливаем его на компьютер где будет храниться база данных. После установки сервера...
Лекция 1 Где взять Mysql? 2 Языки запросов 3 iconЛабораторная работа №3. Основы работы с субд mysql задание: Изучить основные характеристики субд mysql
Где user name – Ваше имя пользователя заданное при установке сервера, обычно используется имя root
Лекция 1 Где взять Mysql? 2 Языки запросов 3 iconПусть зазвучат региональные языки и языки меньшинств Хартия в поддержку языков
Договор защищает и поддерживает те языки, которым угрожает маргинализация в странах, где они традиционно присутствуют
Лекция 1 Где взять Mysql? 2 Языки запросов 3 iconEnglish. 11 М. З. Биболетовой
Какие самые популярные и наиболее распространенные в мире языки? Где взять видео с примерами различных акцентов английского языка?...
Лекция 1 Где взять Mysql? 2 Языки запросов 3 iconИнструкция установка программы Бизнес-среда «КонтролЪ» на сервере баз данных MySql
Скачав, запустите файл mysql-essential 45-win32. msi. В процессе установки выбирайте следующие опции
Лекция 1 Где взять Mysql? 2 Языки запросов 3 iconТехническое задание на разработку программы "al updater"
Для подключения к Mysql должы использоваться файлы: libMysql dll, Mysql pas, Mysqlclasses pas, предоставленные
Лекция 1 Где взять Mysql? 2 Языки запросов 3 iconЯзыки программирования. Лекция 2
Си либо к императивно-объектным языкам. Императивные языки расширены объектной парадигмой – C++, Java, C#, Delfi и многие другие....
Лекция 1 Где взять Mysql? 2 Языки запросов 3 iconЛекция игрушек «Desperados: Взять живым или мертвым»
«Desperados: Взять живым или мертвым» локализованная и изданная фирмой «1С» версия игры от компании Spellbound
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org