Работа с базами данных в СУБД MySQL
Методы выполнения основных действий с базами данных в среде MySQL. Синтаксис основных SQL-инструкций для создания и сопровождения реляционной базы данных. Демонстрация примеров управления привилегиями пользователей по работе с табличными данными.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 21.04.2014 |
Размер файла | 683,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
Учебное пособие для вузов
Работа с базами данных в СУБД MySQL
Санкт-Петербург - 2009
Оглавление
- Введение
- 1. Типы данных MySQL
- 1.1 Числовые типы данных
- 1.2 Текстовые типы данных
- 1.3 Типы даты и времени
- 2. Создание базы данных taxi
- 2.1 Запись данных в таблицы
- 3. Запросы к базе данных
- 4. Утилиты MySQL
- 4.1 Утилита командной строки mysql
- 4.2 Утилита mysqldump
- 5. Запросы с указанием критерия отбора данных
- 6. Группировка данных и агрегатные функции
- 7. Запросы к двум и более таблицам
- 8. Команды обновления и удаления данных в таблицах
- 9. Изменение структуры таблицы
- 10. Создание индексов
- 11. Вложенные запросы
- 11.1 Табличные вложенные запросы
- 12. Привилегии в MySQL
- 13. Транзакции
- Список литературы
- Краткие справочные сведения по MySQL
- Введение
- реляционный база табличный пользователь
- В данном пособии описаны методы выполнения основных действий с базами данных в среде MySQL. Рассмотрен синтаксис основных SQL-инструкций для создания и сопровождения реляционной базы данных. Приведены примеры управления привилегиями пользователей по работе с табличными данными. Для отладки и демонстрации примеров был использован сервер MySQL версии 5.0.1.
- В приложении приведен список ключевых слов и выражений для сервера MySQL, что может быть использовано в качестве справочного пособия.
- При написании учебного пособия в качестве базового источника сведений была выбрана книга [ 1 ] , т.к. в данной книге, по мнению авторов, необходимый для изучения материал представлен, во-первых, достаточно полно и, во-вторых, без излишнего нагромождения несущественных для первого ознакомления деталей.
- 1. Типы данных MySQL
- Перед созданием базы данных необходимо точно определить, какие типы данных будут использованы.
- Все типы данных, с которыми работает MySQL, можно разбить на три группы: числовые, текстовые и даты-времени. Рассмотрим эти типы данных по порядку.
- 1.1 Числовые типы данных
- Числовые типы столбцов используются для хранения чисел, все числовые типы можно разбить на два подтипа: для хранения точных чисел и чисел с плавающей точкой. Все числовые типы характеризуются длиной хранимых чисел, а типы с плавающей точкой еще и числом десятичных разрядов. Эти значения указываются после объявления типа столбца, например, FLOAT(10, 2). В примере указано, что запись числа содержит 10 символов и два знака после десятичного разделителя.
- Объявление числовых типов можно заканчивать ключевыми словами ZEROFILL и (или) USIGNED. Ключевое слово USIGNED означает, что столбец содержит только положительные числа или нули. ZEROFILL означает, что число будет отображено с ведущими нулями.
- Типы данных NUMERIC и DECIMAL (DEC) идентичны. Эти типы данных используются для хранения чисел с плавающей точкой. Обычно их используют для хранения денежных значений.
- Тип данных INTEGER можно сократить до INT. Это означает целое число в заданном диапазоне. Для хранения этого типа данных отводится 4 байта, что соответствует числам от -2 147 483 648 до 2 147 483 647. Также существует несколько вариантов типа INTEGER.
- Тип данных TINYINT используется для однобайтных чисел от -128 до 127. Для хранения двухбайтных чисел (от -32 768 до 32 767) используется тип данных SMALLINT, а для хранения самых больших целых чисел (от -263 до 263-1) используется тип BIGINT .
- Числа с плавающей точкой имеют либо тип FLOAT (четырехбайтные числа в диапазоне от -3.4 * 10 38 до 3.4 * 1038 ), либо тип DOUBLE (восьмибайтные числа в диапазоне от -10 -308 до 10308 )
- 1.2 Текстовые типы данных
- В типах данных char и varchar хранятся данные, состоящие из следующих компонентов:
- - знаки в верхнем и нижнем регистре, например a, b и C.
- - цифры, например 1, 2 и 3.
- - специальные знаки, например символы @, & !.
- Тип CHAR используется для хранения строк фиксированной длины. После ключевого слова CHAR обычно указывается длина строки, например, CHAR(50). Если длина строки не указана, то считается, что длина равна одному символу. Максимальная длина поля данного типа равняется 255 символам. Если число переданных в строку символов меньше указанной длины, то строка будет дополнена пробелами, если больше, то обрезана. При возврате значения пробелы будут удалены из строки.
- Тип VARCHAR предназначен для хранения строк переменной длины. Как и в предыдущем типе данных задается максимальная длина строки, например, VARCHAR(30). При этом, более длинные строки, переданные в этот столбец, будут обрезаны.
- Разница двух описанных типов заключается в том, что по строкам с фиксированной длиной выборка идет намного быстрее. И если важна скорость работы с базой данных, то предпочтительно выбирать именно тип CHAR.
- Тип полей TEXT используется для хранения более длинных фрагментов текста, чем допускается предыдущими типами. Тип BLOB означает большой двоичный объект. Эти два типа одинаковы за исключением того, что в типе BLOB сравнение строк идет с учетом регистра символов, а в типе TEXT без учета регистра. Оба типа имеют переменную длину и оба имеют некоторые вариации:
- - TINYTEXT и TINYBLOB могут хранить до 255 символов;
- - TEXT и BLOB могут хранить до 64 килобайт информации;
- - MEDIUMTEXT и MEDIUMBLOB могут хранить до 16 мегабайт;
- - LONGTEXT и LONGBLOB могут хранить до 4 гигабайт.
- Тип ENUM позволяет перечислить набор возможных значений для ввода в поле и хранит только одно значение из представленного списка. Например, ENUM(`m`,`a`,`z`) . Если не указать, какое значение используется в поле по умолчанию, то будет использовано первое значение списка.
- Тип SET аналогичен типу ENUM, но позволяет хранить несколько значений из списка значений в поле.
- 1.3 Типы даты и времени
- Тип DATE применяется для хранения дат в формате ( гггг-мм-дд ), а тип TIME применяется для хранения времени в формате (чч:мм:сс).
- Тип DATETIME объединяет два предыдущих типа и имеет формат (гггг-мм-дд чч:мм:сс ) .
- Поле типа TIMESTAMP обычно используется для хранения даты и времени, когда была создана или изменена соответствующая строка.
- Поле типа YEAR содержит значение года. Возможны две длины: YEAR(2) и YEAR(4) для двух, и четырех цифр года соответственно. При использовании YEAR(2) диапазон дат принимается с 1970 по 2069 годы.
- 2. Создание базы данных taxi
- Создадим базу данных для фирмы, предлагающей услуги такси. В фирме на нескольких автомобилях работает посменно несколько водителей. В базе данных будут храниться сведения о водителях, данные об автомобилях и расписание их работы с указанием фамилий водителей.
- База данных taxi создается командой CREATE DATABASE:
- При правильном вводе сервер выдает сообщение «Query OK, 1 row affected»
- Затем нужно сообщить серверу о том, что вы собираетесь работать с базой данных “taxi”. Это делается командой
- mysql>USE taxi;
- которую нужно подавать каждый раз перед работой с базой данных “taxi”.
- Таблицы создаются командой CREATE TABLE. При создании нужно указать не только имя таблицы, но и ее полное определение, состоящее из определений отдельных полей (столбцов таблицы).
- Создадим таблицу cars, которая будет содержать следующие поля:
- model - название модели автомобиля;
- madein - года выпуска автомобиля;
- reg _number - государственный регистрационный номер;
- color - цвет автомобиля.
- Необходимо помнить, что названия баз данных, таблиц и полей должны задаваться одним словом (без использования символов-разделителей).
- Кроме того, нам понадобится столбец id, однозначно идентифицирующий запись об автомобиле - первичный ключ. Значения этого поля не должны повторяться и не могут быть пустыми, желательно, чтобы эти значения были целыми числами, увеличивающимися на единицу в каждой новой записи.
- mysql>CREATE TABLE cars (
- model CHAR(50) NON NULL,
- madein YEAR(4) NOT NULL,
- reg_number CHAR(12) NOT NULL,
- color CHAR(15) NOT NULL,
- id SMALLINT AUTO_INCREMENT,
- PRIMARY KEY(id)
- Атрибут NOT NULL означает, что все строки таблицы должны иметь значение в этом столбце. Если NOT NULL не указано, поле в отдельных записях может не заполняться (т.е. иметь значение NULL).
- Ключевое выражение PRIMARY KEY после имени столбца определяет, что этот столбец является первичным ключом для таблицы. Данные в этом столбце должны быть уникальными.
- AUTO_INCREMENT - атрибут, используемый для создания столбца с уникальными значениями. Если при вставке строк оставлять такое поле пустым, MySQL автоматически генерирует уникальное значение идентификатора. Это значение будет на единицу больше максимального значения, уже существующего в столбце. В каждой таблице может быть не больше одного такого поля.
- MySQL использует следующий алгоритм для инициализации счетчика в столбце id, имеющем атрибут AUTO_INCREMENT: после запуска сервера MySQL при первом запросе на добавление данных в таблицу cars сервер высчитывает максимальное значение в столбце id. Полученное значение увеличивается на единицу, заносится в новую запись и в счетчик. Если таблица была пуста, то счетчик устанавливается в единицу.
- Таблица drivers содержит столбцы для хранения имени (name), отчества (second_name), фамилии (family_name) водителя, даты его рождения (birth), домашнего адреса (address) и даты поступления на работу (startdate).
- mysql>CREATE TABLE drivers (
- name CHAR(30) NOT NULL,
- second_name CHAR(30),
- family_name CHAR(30) NOT NULL,
- birth DATE NOT NULL,
- address CHAR(150) NOT NULL DEFAULT `unknown',
- startdate DATE NOT NULL DEFAULT `2002-01-01',
- id SMALLINT AUTO_INCREMENT,
- PRIMARY KEY (id)
- Кроме того, при создании таблицы для некоторых полей могут применяться дополнительные ключевые слова, уточняющие диапазон возможных значений.
- Ключевое слово UNSIGNED может применяться после указания целочисленного типа и означает, что значение в поле может быть либо положительным, либо нулевым.
- После ключевого слова DEFAULT указывается значение по умолчанию для данного столбца. Например: DEFAULT `no description'.
- Таблица timetable содержит следующие поля: дату поездки (use_on), номер машины (car_number) и идентификатор водителя (driver_number).
- mysql>CREATE TABLE timetable (
- use_on DATE DEFAULT NULL,
- car_number SMALLINT,
- driver_number SMALLINT,
- id SMALLINT AUTO_INCREMENT,
- PRIMARY KEY(id),
- INDEX (car_number),
- INDEX (driver_number),
- FOREIGN KEY (car_number) REFERENCES cars (id),
- FOREIGN KEY (driver_number) REFERENCES drivers (id)
- MySQL поддерживает ссылочную целостность базы с помощью ограничения внешнего ключа FOREIGN KEY. Назначение этого ключа - проверять соответствие значений в столбцах родительского и внешнего ключей. Эти столбцы должны иметь одинаковый тип данных, и только те значения, которые встречаются в родительском ключе, могут использоваться во внешнем ключе. Родительский ключ должен содержать неповторяющиеся значения и не содержать значения NULL.
- Последние два столбца таблицы timetable являются внешними ключами, и MySQL 5 требует, чтобы перед созданием внешних ключей на этих столбцах были созданы индексы.
- Индекс формируется из значений одного или нескольких столбцов таблицы и позволяет ускорить поиск нужных строк по заданным значениям в поле. Для ускорения выполнения запросов индексы обычно создаются на тех столбцах таблицы, которые часто используются в запросах.
- После создания таблиц можно посмотреть их список и структуру командой
- mysql>SHOW TABLES;
- Можно просмотреть структуру таблицы командой
- mysql>DESCRIBE table_name;
- Здесь table_name - имя таблицы. Эта команда позволит просмотреть типы данных столбцов и дополнительные атрибуты, указанные при создании таблицы.
- Например, просмотрим структуру таблицы cars.
- 2.1 Запись данных в таблицы
- Для внесения данных в базу данных используется оператор insert. Самый простой вариант - внесение данных во все поля таблицы:
- mysql>INSERT INTO cars VALUES
- ('Volga', '2003', 'A786YC78', 'white', '1' );
- mysql>INSERT INTO cars VALUES
- ->('Volga', '2002 ' , 'A788YC78', 'yellow', `2' );
- mysql>INSERT INTO cars VALUES
- ->('Volkswagen', '2003', 'A789YC78', 'red', '3' );
- Аналогично можно добавлять данные только в избранные поля, при этом нужно указать имена полей явно:
- mysql>INSERT INTO cars (model, madein, reg_number, color) VALUES
- ->('Renault', '2005' , 'A790YC78', 'white');
- Добавим еще несколько записей в таблицы:
- mysql>INSERT INTO drivers VALUES (
- ->'Stanislav', 'Petrovitch', 'Nikolaev',
- ->'1970-01-22', 'Nevsky prospect 11, flat 54', '2004-02-25', 1);
- mysql>INSERT INTO drivers (name, second_name, family_name, birth,
- ->address, startdate)
- ->VALUES ('Fedor', 'Sergeevitch', 'Sentsov',
- ->'1960-11-02', 'Moskovsky prospect 92, flat 112', '2003-12-30');
- mysql>INSERT INTO timetable VALUES ('2008-11-25', 3,1,1),
- ->('2008-11-30', 2,2,2), ('2008-12-01', 2,2,3);
- Последняя запись обычно делается диспетчером автопарка каждый день утром. Чтобы упростить его работу, можно использовать встроенную в MySQL функцию curdate(), которая возвращает текущую дату как раз в нужном формате:
- mysql> INSERT INTO timetable VALUES (curdate(), 2,2,4);
- Если вы попытаетесь оставить пустыми поля, отмеченные not null и не имеющие значения по умолчанию, то сервер MySQL выдаст сообщение об ошибке и не выполнит команду.
- Кроме того, сервер MySQL 5 проверяет связи между таблицами при вводе записей. То есть нельзя ввести в поле, являющееся внешним ключом, значение, отсутствующее в связанной таблице.
- 3. Запросы к базе данных
- На языке баз данных команды, адресованные базе, называются инструкциями либо запросами. Результаты выполнения запроса обычно выводятся на экран.
- В запросах часто используется команда select, которая позволяет извлечь нужную информацию из одной или нескольких таблиц.
- Для диалога с сервером баз данных запустим клиентскую программу MySQL Command Line Client, а затем подадим команду выбора базы данных:
- mysql>USE taxi
- Теперь запрашиваем данные о модели и цвете автомобилей автопарка:
- mysql>SELECT model, color FROM cars;
- Результат запроса представлен ниже:
- SELECT -- ключевое слово, которое сообщает серверу баз данных о запросе, на извлечение данных;
- model, color -- список столбцов, которые выбираются из таблицы и помещаются в результирующую выборку в памяти;
- FROM - ключевое слово, за которым следует список таблиц, где находится извлекаемая информация.
- Если данных в таблице немного, то можно запросить их все:
- mysql>SELECT * FROM table_name;
- Здесь символ звездочки означает, что следует выбрать значения из всех столбцов. Но чаще запрашивают значения отдельных полей, поскольку обработка такого запроса требует меньших ресурсов.
- Например, запросим все данные из таблицы cars:
- Выясним, какие водители работали за то время, пока ведется учет с помощью базы. Нам нужен только список водителей из таблицы timetable, без повторов.
- distinct -- параметр в запросе select, дающий возможность исключить повторяющиеся данные из результатов запроса.
- mysql>SELECT DISTINCT driver_number FROM timetable;
- Результат запроса будет таким:
- Результат получился действительно без повторений, но ненаглядный -- указаны номера, а не фамилии водителей. Но фамилии находятся в другой таблице. Как выбрать данные из двух и более таблиц, мы узнаем, рассмотрев способы объединения таблиц.
- 4. Утилиты MySQL
- Интерфейс MySQL Command line client, с которым мы работали в предыдущем разделе, удобен, но не позволяет использовать функциональность утилиты mysql полностью. Кроме того, в состав MySQL входит еще ряд полезных утилит, с одной из которых, mysqldump, необходимо познакомиться даже начинающим.
- 4.1 Утилита командной строки mysql
- Утилита mysql может работать в двух режимах: интерактивном и пакетном. Клиентская утилита mysql запускается в интерактивном режиме в DOS-окне, когда в меню выбирается пункт Command line client. До MySQL 5 в комплекте поставки сервера не было такой возможности запуска mysql, и приходилось заходить следующим способом: щелкаем по кнопке Пуск, выбираем пункт меню Выполнить и в появившемся окне Запуск программы набираем cmd. Появляется DOS-окно со строкой, содержащей имя текущего каталога, -- это приглашение ввести команду.
- Утилиты предназначены для работы с сервером и при запуске потребуют указать имя пользователя, под которым мы хотим подключиться к серверу, и пароль. При конфигурировании сервера MySQL мы указали пароль для суперпользователя root, теперь следует им снова пора воспользоваться. Обычно для получения доступа к серверу MySQL необходимо сообщить клиентской программе имя хоста, с которым вы хотите соединиться. Например, утилиту mysql можно запустить следующим образом:
- > mysql -h host_name -u user_name -pyour_pas
- Здесь ключ -h указывает на то, что дальше последует имя хоста, к которому мы хотим подключиться. По умолчанию подключение осуществляется к серверу localhost. Ключ -u означает, что за ним следует имя пользователя, осуществляющего соединение, а после ключа -p указывается пароль. Обратите внимание на то, что пробела перед паролем нет.
- Формат вызова утилиты mysql в нашем случае будет таким:
- > mysql -u root -p
- После ключа -p не указан пароль. Мы знаем, что он нужен, но не хотим вводить его сразу, а дождемся приглашения (нажмем Enter) и введем так, чтобы информация осталась конфиденциальной (набираемый пароль отображается на экране звездочками. После ввода пароля мы должны увидеть приветствие и приглашение командной строки уже самой утилиты mysql:
- Завершение сеанса работы происходит по команде mysql>quit
- Существует возможность повтора ранее поданных команд: щелчками по кнопкам со стрелками вверх и вниз.
- Для работы с утилитой в пакетном режиме следует написать сценарий, состоящий из последовательности команд SQL, которые предстоит исполнить для создания базы и таблиц, входящих в базу. Сценарии принято хранить в файлах с расширением «sql». При исправлении ошибок в сценарии вы запускаете его несколько раз, но уже при повторном запуске получаете сообщение о том, что нельзя создать уже существующую таблицу. Значит, следует предварять создание таблицы командой:
- mysql> DROP TABLE IF EXISTS table_name;
- Тогда сценарий создания и заполнения таблицы cars будет выглядеть так:
- use taxi;
- DROP TABLE IF EXISTS cars;
- CREATE TABLE cars (
- model CHAR(50) NON NULL,
- madein YEAR(4) NOT NULL,
- reg_number CHAR(12) NOT NULL,
- color CHAR(15) NOT NULL,
- id SMALLINT AUTO_INCREMENT,
- PRIMARY KEY(id)
- INSERT INTO cars VALUES
- ('Volga', '2003', 'A786YC78', 'white', '1' ) ,
- ('Volga', '2002 ', 'A788YC78', 'yellow', `2' ) ,
- (Volkswagen', '2003', 'A789YC78', 'red', '3' );
- Скрипт создается в любом текстовом редакторе.После завершения написания скрипта, его можно воспроизвести в сервере MySQL следующим образом:
- >mysql -u root -p < c:\temp\taxi.sql
Не забудьте указать путь к вашему скрипт-файлу, как показано в примере.
Здесь taxi.sql - это созданный скрипт-файл.
4.2 Утилита mysqldump
Утилита mysqldump позволяет получить дамп ("моментальный снимок") содержимого базы данных или совокупности баз для создания резервной копии или пересылки данных на другой SQL-сервер баз данных. Дамп будет содержать набор команд SQL для создания и заполнения таблиц. Для создания дампа подается команда
mysqldump -u root -p taxi > c:\temp\script.sql
script.sql - название файла, в котором содержатся все SQL-инструкции созданной базы данных. В данном примере файл сохранен в папке temp на диске C.
Дамп базы данных taxi:
5. Запросы с указанием критерия отбора данных
Таблицы бывают очень большими, а нас могут интересовать только определенные строки, SQL дает возможность устанавливать критерии для отбора нужных строк. Предложение where позволяет определить критерий отбора строк. Операции, используемые в предложении where, даны в таблице ниже:
Оператор |
Название |
Описание |
|
= |
Равенство |
Проверяет равенство двух значений |
|
> |
Больше |
Проверяет, что левое значение больше правого |
|
< |
Меньше |
Проверяет, что левое значение меньше правого |
|
>= |
Больше или равно |
Проверяет, что левое значение не меньше правого |
|
<= |
Меньше или равно |
Проверяет, что левое значение не больше правого |
|
! = или <> |
Не равно |
Проверяет, что два значения не равны |
|
IS NOT NULL |
Проверяет, что в поле записано значение |
||
IS NULL |
Проверяет, что в поле отсутствует значение |
||
BETWEEN |
Величина между |
Проверяет, что значение принадлежит указанному диапазону |
|
IN |
Значение содержится |
Проверяет, что значение содержится в указанном множестве |
|
NOT IN |
Значение не содержится |
Проверяет, что значение не содержится в указанном множестве |
|
LIKE |
Соответствие |
Проверяет соответствие значения образцу |
|
NOT LIKE |
Не соответствие |
Проверяет несоответствие значения образцу |
Ниже рассмотрены несколько примеров использования предложения WHERE .
Узнаем, какого цвета имеются автомобили "Волга":
SELECT color FROM cars WHERE model = ' Volga';
Узнаем, когда выходил на работу водитель с учетным номером 1:
mysql>SELECT use_on FROM timetable WHERE driver_number = 1;
Определим номера всех автомобилей "Волга" желтого цвета:
mysql> SELECT reg_number FROM cars
-> WHERE model = 'Volga' AND color = 'yellow';
Оператор in определяет принадлежность значения поля заданному множеству значений. Например, чтобы определить номерные знаки автомобилей "Волга" и "Volkswagen", подайте команду
mysql> SELECT reg__number FROM cars WHERE model
IN ('Volga', 'Volkswagen');
Оператор between задает границы, в которые должно попасть значение, чтобы условие запроса выполнялось. За словом BETWEEN пишется начальное значение, затем ключевое слово and и конечное значение. Например, выясним, кто из водителей устроился на работу в период с 1 января 2001 г. по 1 января 2004 г.:
mysql> SELECT family_name FROM drivers
-> WHERE startdate BETWEEN '2001-01-01' AND '2004-01-01';
Оператор LIKE использует простой механизм соответствия . Образец
может состоять из обычного текста и знака процента (%) для указания совпадения с произвольной текстовой строкой. В MySQL соответствия не чувствительны к регистру. Например, шаблон ' Fed%' соответствует любой строке, которая начинается с ' Fed' или с `fed'.
mysql>SELECT * FROM drivers WHERE name LIKE 'Fed%;
6. Группировка данных и агрегатные функции
Группировка и агрегирование данных совершаются с помощью функций, определенных в MySQL. Опишем некоторые из них:
AVG (столбец) - средняя величина значений в указанном столбце
COUNT (столбец) - число ненулевых значений в указанном столбце. Если перед именем столбца указать DISTINCT , то выдается только количество неодинаковых значений;
MIN (столбец) - минимальное значение в столбце;
MAX (столбец) - максимальное значение в столбце;
SUM (столбец) - сумма значений в столбце.
Агрегатные функции можно использовать в запросе SELECT в качестве информации для вывода. Например, чтобы определить количество водителей в автопарке, можно подать запрос
mysql>SELECT COUNT (id) FROM drivers;
Чтобы узнать, сколько водителей работало за отчетное время, следует подать команду
mysql>SELECT COUNT (DISTINCT driver_number) FROM timetable;
Функция COUNT(*) определит число строк в таблице, но если указать COUNT(field) - определить число значений в поле field, то значения NULL в этом поле учтены не будут.
Предложение GROUP BY позволяет группировать записи, вошедшие в результаты запроса. Это дает возможность объединять поля и агрегатные функции в одном предложении SELECT.
Подсчитаем, сколько автомобилей имеется в таксопарке, сгруппировав данные по моделям:
mysql>SELECT model, COUNT(model) FROM cars GROUP by model;
Каждая группа состоит из строк с одинаковым значением поля model. результат этого запроса представлен ниже:
Таблицы - это неупорядоченные наборы данных, и выборка из них не обязательно получается в какой-то определенной последовательности. Для изменения порядка вывода результирующих данных используется конструкция ORDER BY.
Упорядочим сведения о водителях по дате рождения:
mysql>SELECT * FROM drivers ORDER BY birth;
В полученной выборке список откроют старшие водители. Если требуется упорядочить данные по убыванию, следует использовать ключевое слово DESC (от англ. Descending - по убыванию):
mysql>SELECT * FROM drivers ORDER BY birth DESC;
Конструкция LIMIT служит для указания, сколько строк результата следует отображать. Если нужно найти двух самых пожилых водителей, то можно применить команду
mysql>SELECT * FROM drivers ORDER BY birth LIMIT 2;
Можно также использовать два параметра: номер строки, с которой следует начать, и количество строк.
mysql>SELECT family_name From drivers LIMIT 2, 3 ;
Последний запрос можно интерпретировать так: "Выбрать фамилии водителей и в результате отобразить три строки, начиная со строки 2". Нумерация строк начинается с нуля.
7. Запросы к двум и более таблицам
Рассмотрим запрос, при котором нужно выбрать данные из двух таблиц. Например, требуется узнать фамилию водителя, который позавчера водил синюю машину. Для получения ответа требуется извлечь сведения из трех таблиц. Поэтому придется оперировать именами столбцов из разных таблиц. Следует учесть, что полное имя столбца состоит из имени базы данных, имени таблицы и собственно имени столбца, например, taxi. cars . color.
Часто имена таблиц заменяют короткими псевдонимами (alias), указывая их в запросе после ключевого слова from. Псевдонимы для таблиц являются стандартной частью языка SQL и обычно состоят из одной буквы. Задать псевдоним можно с помощью ключевого слова as:
mysql> SELECT color FROM cars AS c;
Псевдонимы удобно использовать в случае, когда имя результирующего столбца слишком длинное или выводятся данные из двух таблиц, в которых есть одноименные столбцы.
Между таблицами существуют связи по определенным столбцам. Столбец cars.id связывает таблицу cars с таблицей timetable через столбец timetable.car_number. Аналогично строится связь между таблицей drivers и timetable.
Объединение осуществляется по столбцам, образующим связь. При этом выбираются одинаковые значения полей, по которым осуществляется связь между таблицами:
timetable. car_number=cars . id
timetable. driver_number=drivers . id
Определим дату (данные из столбца timetable.use_on) и фамилию водителя (drivers.famiiy_name), который водил машину определенного цвета (cars .color):
mysql> SELECT t.use_on, d.family_name, c.color
-> FROM timetable AS t, cars AS c, drivers AS d
-> WHERE t.car_number=c.id AND t.driver_number=d.id;
Выборка данных происходит из таблиц timetable, cars и drivers, для которых определены псевдонимы, сокращающие запись запроса и облегчающие его редактирование. Выбираются только те строки из таблиц timetable и cars, в которых указан одинаковый учетный номер автомобиля. А из таблиц timetable и drivers выбираются те строки, в которых значения учетного номера водителя одинаковы.
8. Команды обновления и удаления данных в таблицах
Если необходимо изменить значение поля, то следует использовать команду update. В команде нужно указать имя таблицы и использовать предложение set, определяющее требуемое изменение. Например, исправим дату выпуска автомобиля "Renault":
mysql>UPDATE cars SET madein='2004' WHERE model='Renault';
Можно изменить значения поля во всем столбце, например, при переоценке товаров. Увеличим цены на все товары на 10% с учетом инфляции:
mysql>UPDATE goods SET price = price * 1.1;
Удалить целые строки из таблицы можно с помощью команды delete. Удалим некоторые строки из таблицы cars в связи с продажей старых машин, изготовленных до 2006 г.:
mysql>DELETE FROM cars where madein<=2005;
Можно удалить и все записи из таблицы командой
mysql>DELETE FROM cars;
При этом счетчик автомобилей в столбце id не сбрасывается, и при вставке новых данных MySQL автоматически присвоит новой записи следующий номер.
Чтобы очистить таблицу и одновременно сбросить счетчик, нужно использовать команду
mysql>TRUNCATE cars;
Удалить таблицу можно командой drop table:
mysql>DROP TABLE timetable;
При этом нужно иметь права на удаление, а также учитывать, что удалить таблицу, имеющую первичный ключ, по которому осуществляется связь с другой таблицей, MySQL не позволит, пока не удалена таблица с соответствующим внешним ключом. Удалить можно и всю базу целиком командой
mysql>DROP DATABASE taxi;
9. Изменение структуры таблицы
Оператор alter table используется для изменения структуры таблицы. Преобразования, осуществляемые с помощью этого оператора, представлены ниже:
Синтаксис |
Описание |
|
ADD [COLUMN] column_description [FIRST | AFTER column] |
Добавить новый столбец в указанное место |
|
ADD INDEX [index] (column, . . ) |
Добавить индекс в указанный столбец (столбцы) таблицы |
|
ADD PRIMARY KEY (column, . . ) |
Сделать указанный столбец(столбцы) первичным ключом таблицы |
|
ALTER [COLUMN] column {SET DEFAULT value DROP DEFAULT} |
Добавить или удалить значение по умолчанию для определенного столбца |
|
CHANGE [COLUMN] column new_column_description |
Изменить столбец с именем column так, чтобы он получил указанное описание. Это можно использовать для изменения имени столбца, поскольку column_description включает имя |
|
MODIFY [COLUMN] column_description |
Аналогично CHANGE. Используется для изменения типов столбцов, но не имен |
|
DROP [COLUMN] column |
Удалить указанный столбец |
|
DROP PRIMARY KEY |
Удалить первичный индекс (не столбец) |
|
DROP INDEX index |
Удалить указанный индекс |
|
RENAME table tbl to new_tbl |
Переименовать таблицу |
Допустим, мы решили добавить телефонный номер водителей в базу, чтобы легче было связаться с ними. Добавим новый столбец в таблицу командой alter table:
mysql> ALTER TABLE drivers ADD COLUMN phone_number BIGINT;
В данном примере столбец добавляется в конец таблицы, но можно было бы добавить ключевое слово first, тогда столбец стал бы первым, а можно указать after birth, поместив его тем самым после указанного столбца birth.
Допустим, вы обнаружили, что в поле для указания адреса вводимые данные не помещаются, т. к. адрес длиннее 150 выделенных для него символов. Изменим определение столбца:
mysql> ALTER TABLE drivers MODIFY address char(200);
10. Создание индексов
Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному значению путем последовательного просмотра таблицы строка за строкой может занимать много времени. Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы и, таким образом, позволяет находить нужную строку по заданному значению в соответствующем столбце (столбцах).
Для ускорения выполнения запросов индексы обычно создаются на тех столбцах таблицы, которые часто используются в запросах. Для одной таблицы может быть создано несколько индексов.
Когда столбец помечается как ключ, создается индекс. Индекс хранит список значений ключа и указатели на записи, содержащие эти значения. При создании индекса таблица уже должна содержать столбцы, по которым создается индекс.
В базе таксопарка в таблице cars первичным ключом является учетный номер машины. Запросы же к базе могут быть основаны на поиске по государственному регистрационному номеру. Чтобы повысить скорость выполнения таких запросов, следует создать индекс по столбцу reg_number, в котором записан регистрационный номер автомобиля:
mysql>CREATE INDEX nomer ON cars(reg_number);
При создании индекса на сервере формируется упорядоченный список значений этого поля, который MySQL использует при выполнении запросов. Если для создания индекса используется несколько полей, то значения второго поля упорядочиваются внутри одинаковых значений первого, третьего - внутри одинаковых значений второго и т.д.
Имя индекса должно быть уникальным в базе данных. После создания индекса MySQL использует индекс для поиска данных автоматически, т.е. в запросах не требуется указывать индекс каким-либо образом.
11. Вложенные запросы
Вложенный запрос создает результирующую таблицу, данные которой используются внешним запросом. Вложенный запрос помещается в скобках после выражения WHERE.
Создадим вложенный запрос с целью выяснить, на каком автомобиле работал определенный водитель 25 ноября 2008 года:
mysql> SELECT model, reg_number FROM cars
-> WHERE id = ( SELECT car_number
->FROM timetable
->WHERE date = `2008-11-25' AND driver_number=1);
Сначала выполняется команда SELECT внутри скобок. MyQSL получает результат вложенного запроса и использует его в условии в выражении WHERE во внешнем запросе SELECT. При этом результаты внутреннего запроса не отображаются. Конструкция запроса в приведенном примере подразумевает, что результат внутреннего запроса должен представлять собой единственное значение. В противном случае в результате выполнения этого запроса появится сообщение об ошибке: “Error 1241: Subquery returns more than 1 row”. Вложенные запросы могут содержать команды SELECT, INSERT и UPDATE, а также SET.
11.1 Табличные вложенные запросы
В случае, когда результатом вложенного запроса является не одно значение, а таблица, синтаксис запроса изменяется.
Например, определим, на каких автомобилях работали водители 25 и 30 ноября 2008:
SELECT model, reg_number
FROM cars
WHERE id IN
(SELECT car_number FROM timetable
WHERE use_on = `2008-11-25'),
(SELECT car_number FROM timetable
WHERE use_on = `2008-11-30')
Внешний запрос выбирает модель и регистрационный номер тех автомобилей, учетные номера которых указаны в таблице timetable в записях, относящихся к 25 и 30 ноября 2008 года. Перечень условий для выражения IN пишется через запятую и помещается во внешние скобки. Сначала выполняются вложенные запросы, результаты которых формируют набор значений для выражения IN.
12. Привилегии в MySQL
При подключении к серверу MySQL пользователь указывает имя и пароль, а сервер проверяет, имеет ли клиент право получить доступ к серверу, и в случае успеха наделяет пользователя соответствующими привилегиями. Данные о привилегиях пользователей хранятся в системной базе mysql.
Проверка пользователя осуществляется по трем полям таблицы user (host, user и password) базы mysql. Сервер устанавливает соединение только в том случае, если находит в таблице user запись, в которой имя пользователя и пароль совпадают с введенными значениями.
Посмотреть, в каком виде хранятся пароли в таблице user можно при помощи следующих команд:
mysql>USE mysql
mysql>SELECT password FROM user;
Ознакомиться со всеми таблицами базы mysql можно подав команду
mysql>show tables;
После установления соединения сервер начинает сеанс работы с пользователем. Для каждого поступающего запроса сервер проверяет, имеется ли у пользователя достаточно привилегий для выполнения запроса. Информация о привилегиях находится в таблицах -- user, db, host, tables_priv или columns_priv.
Список привилегий представлен ниже:
Привилегия |
К чему применяется |
|
ALTER |
Таблицы |
|
DELETE |
Таблицы |
|
INDEX |
Таблицы |
|
INSERT |
Таблицы |
|
SELECT |
Таблицы |
|
UPDATE |
Таблицы |
|
CREATE |
Базы данных, таблицы или индексы |
|
DROP |
Базы данных или таблицы |
|
GRANT |
Базы данных или таблицы |
|
SHOW DATABASES |
Администрирование сервера |
|
SHUTDOWN |
Администрирование сервера |
Сервер MySQL считывает содержимое этих таблиц во время запуска и в случаях, когда изменения в привилегиях вступают в силу.
Привилегии SELECT, INSERT, UPDATE И DELETE позволяют выполнять операции над строками таблиц баз данных. Привилегия index обеспечивает создание или уничтожение индексов. Привилегия alter позволяет использовать команду alter table. Привилегии create и drop позволяют создавать новые или уничтожать существующие базы данных и таблицы. Привилегия GRANT gram позволяет вам предоставлять другим пользователям привилегии, которыми обладаете вы сами.
Остальные привилегии используются для администрирования SQL - сервера.. Команда shutdown завершает работу сервера.
При запуске сервера MySQL все сведения о привилегиях пользователей загружаются в память, и с этого момента привилегии вступают в силу.
Команды grant и revoke позволяют системным администраторам создавать пользователей MySQL а также предоставлять права пользователям или лишать их прав на четырех уровнях.
· Глобальный уровень.
Глобальные привилегии применяются ко всем базам данных на указанном сервере. Эти привилегии хранятся в таблице mysql.user.
· Уровень базы данных.
Привилегии базы данных применяются ко всем таблицам указанной базы данных. Эти привилегии хранятся в таблицах mysql .db и mysql .host.
· Уровень таблицы.
Привилегии таблицы применяются ко всем столбцам указанной таблицы.
Эти привилегии хранятся в таблице mysql. tables_priv.
· Уровень столбца.
Привилегии столбца применяются к отдельным столбцам указанной таблицы. Эти привилегии хранятся в таблице mysql .columns_priv.
Команда grant позволяет добавлять новых пользователей сервера:
mysql> GRANT SELECT, INSERT ON taxi.* TO Mike@localhost
IDENTIFIED BY 'secret';
Эта команда дает права insert и select на базу taxi (на все таблицы - это задается символом звездочки) пользователю Mike, который подключается локально (localhost), причем, при подключении к серверу пользователь должен указать пароль 'secret'. Пароль хранится на сервере в зашифрованном виде.
mysql> GRANT ALL PRIVILEGES ON *.* TO Ann@"%"
->IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
Здесь Anna получает все права (all privileges) на все таблицы всех баз сервера (* . *), причем подключаться она может как локально, так и удаленно через сеть (это указано символом % после Anna@). Вдобавок Anna может передавать свои права другим пользователям (with grant option), т. е. сама может подавать команду grant и создавать новых пользователей системы.
mysql> GRANT USAGE ON *.* TO dummy@localhost
IDENTIFIED BY `password';
Пользователь dummy, созданный в этом примере, может подсоединяться к серверу, но только с локального компьютера. Привилегия USAGE означает, что у пользователя отсутствуют все другие привилегии. Такое может потребоваться, когда человек принят на работу, но обязанности его еще не определены. Предполагается, что относящиеся к базам данных привилегии будут назначены позже. Не удастся создать пользователя с пустым паролем -- система не позволяет это из соображений безопасности.
Команда REVOKE позволяет администратору лишать пользователей прав:
REVOKE SELECT (use_on) ON taxi.timetable FROM Mike @ localhost;
Пользователь Mike не может просматривать значения поля use_on в таблице timetable.
Команда set может устанавливать различные опции, влияющие на работу сервера или клиента. Пароль для пользователя root также можно задать с помощью этой команды:
mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password') ;
Пользователи могут работать и непосредственно с таблицами назначения привилегий:
mysql> USE mysql;
Mysql> UPDATE user SET Password=PASSWORD('new_password')
-> WHERE user='root';
После этого следует подать команду, заставляющую сервер перечитать таблицы привилегий -- тогда они вступят в силу:
mysql> FLUSH PRIVILEGES;
Если пароль задается при помощи оператора grant. . .identified by, нет необходимости использовать функцию password (). Эта команда самостоятельно производит шифрацию пароля, поэтому пароль следует указывать в простом текстовом виде, например, таким образом:
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
Изменения, которые вносятся в таблицы назначения привилегий при помощи команд grant, revoke или set password, учитываются сервером сразу после выполнения этих инструкций.
13. Транзакции
В реляционных базах данных защита целостности данных реализована через механизмы транзакций и блокировки таблиц.
Транзакция - группа операций, которая может быть выполнена либо полностью успешно, с обеспечением целостности данных и независимо от параллельно выполняющихся других транзакций, либо не выполнена вообще, и тогда она не должна произвести вообще никакого эффекта. Транзакция похожа на беспосадочный перелет через океан тем, что она не может быть выполнена наполовину. Если видим, что не долететь, то поворачиваем назад. Сервер изолирует одновременные потоки друг от друга, ограничивая их доступ к модифицируемым данным. Сервер пытается выполнять транзакции так, будто они происходят последовательно, а не параллельно.
В конце транзакции происходит либо ее отмена, либо подтверждение. Отмена транзакции называется откатом (rollback). Подтверждение транзакции называется фиксацией (commit). Фиксация транзакции регистрируется в специальных журнальных файлах, информация из которых считывается при сбоях в работе компьютера и используется для восстановления состояния базы данных до сбоя.
В MySQL можно создавать базы данных на основе таблиц нескольких типов. Транзакции применимы лишь к некоторым типам таблиц.
В MySQL 3 по умолчанию создаются таблицы типа MYISAM, в которых обеспечение целостности данных при одновременных запросах происходит за счет блокировки таблиц целиком в случае необходимости.
В MySQL 5 по умолчанию создаются таблицы типа InnoDB (при работе в Windows), в которых реализован механизм транзакций.
Чтобы создать таблицу типа InnoDB, можно указать ENGINE = InnoDB или
TYPE = InnoDB в SQL-запросе на создание таблицы:
mysql>CREATE TABLE customers (a INT, b CHAR (20), INDEX (a))
->ENGINE=InnoDB;
mysql>CREATE TABLE customers (a INT, b CHAR (20), INDEX (a))
->TYPE=InnoDB;
По умолчанию каждый клиент соединяется с сервером MySQL в режиме autocommit, в котором автоматически фиксируется каждый одиночный SQL-запрос клиента. Для того чтобы использовать транзакции, состоящие из нескольких запросов, нужно подать команду
mysql>SET AUTOCOMMIT = 0;
а затем использовать команды COMMIT или ROLLBACK для фиксации или отмены транзакции. Следующие два примера демонстрируют фиксацию и отмену транзакций:
Вставка данных о Париже прошла успешно, в этом можно убедиться, запросив выборку из таблицы до отката. Но в результате отката эти данные не были зафиксированы в базе и не были сохранены, что и показывает последняя выборка. То есть мы можем посмотреть какой эффект произведет то или иное действие, а потом отменить его - произвести откат.
Список литературы
1. Бенкен Е.С.
PHP, MySQL, XML: программирование для Интернета: 2-е изд. перераб. и доп. - СПб.: БВХ-Петербург, 2008. - 352 с.: ил. + CD-ROM
2. Кузнецов М.В., Симдянов И.В.
MySQL на примерах. - СПб.: БВХ-Петербург, 2007. - 592с.: ил. +CD-ROM
3. Сайт www.mysql.ru.
Краткие справочные сведения по MySQL
AUTO_INCREMENT - атрибут, используемый для создания поля с уникальными значениями. В каждой таблице может быть не больше одного такого поля.
CREATE DATABASE name (name - имя создаваемой базы) - создание базы данных.
CREATE TABLE name - команда для создания таблиц. Указывается не только название создаваемой таблицы, но и ее полное определение, состоящее из определений отдельных полей; (name - имя создаваемой таблицы).
DEFAULT - после этого ключевого слова указывается значение по умолчанию для данного поля.
DELETE - команда удаления записей из таблицы. DELETE FROM table_name; (table_name - имя таблицы).
DESCRIBE table_name - команда просмотра структуры таблицы; (table_name - имя таблицы).
DISTINCT - параметр в запросе SELECT, дающий возможность исключить повторяющиеся данные из результатов запроса.
FOREIGN KEY - внешний ключ. Назначение этого ключа - проверять соответствие значений в столбцах родительского и внешнего ключей. Необходимо, чтобы перед созданием внешних ключей на этих столбцах были созданы индексы. Индекс (INDEX) формируется из значений одного или нескольких столбцов таблицы и позволяет ускорить поиск нужной строки по заданному значению. Для ускорения запросов индексы обычно создаются на тех столбцах таблицы, которые часто используются в запросах.
FROM - ключевое слово, которое должно быть в каждом запросе. За ним следуют имена таблиц, используемых в качестве источника информации.
GRANT - команда, позволяющая создавать пользователей сервера а также предоставлять права пользователям.
INSERT - оператор, предназначенный для внесения данных в таблицы.
Два способа ввода данных:
1) внесение данных во все поля таблицы.
INSERT INTO table_name VALUES (`', '', `'…)
Каждое значение в кавычках (`');
2) добавление данных только в избранные поля, при этом нужно указать имена полей явно.
INSERT INTO table_name (имя поля 1,…,…)VALUES (`', '', `'…)
NOT NULL - атрибут означающий, что все строки таблицы должны иметь значение в этом столбце. Если этот атрибут не указан, то поле может содержать пустое значение (NULL).
ORDER BY - конструкция, используемая для сортировки полей результата. ORDER BY name_pole DESC - сортировка по убыванию значений в указанном поле. LIMIT - служит для указания, сколько строк результата следует отображать.
REVOKE - команда, позволяющая лишать пользователя привилегий.
SELECT - ключевое слово в запросе на извлечение данных.
SHOW TABLES - команда просмотра списка таблиц в базе.
UPDATE - команда изменения значений поля. UPDATE имя_таблицы SET имя_поля = `новое_значение' WHERE имя_поля = `старое значение' .
USE database_name - команда, при помощи которой выполняется выбор базы данных для выполнения дальнейших действий над ней; (database_name - имя базы данных).
WHERE - предложение, позволяющее задать критерий отбора строк.
Знаки операций сравнения для конструкции WHERE:
Оператор |
Название |
Описание |
|
= |
Равенство |
Проверяется, равенство двух значений |
|
> |
Больше |
Проверяется, что левое значение больше правого |
|
< |
Меньше |
Проверяется, что левое значение меньше правого |
|
>= |
Больше или равно |
Проверяется, что левое значение не меньше правого |
|
<= |
Меньше или равно |
Проверяется, что левое значение не больше правого |
|
! = или <> |
Не равно |
Проверяется неравенство двух значений |
|
IS NOT NULL |
Проверяется наличие значения в поле |
||
IS NULL |
Проверяется, отсутствие значения в поле |
||
BETWEEN |
Величина между |
Проверяется, попадание значения в заданный диапазон |
|
IN |
Значение содержится |
Проверяется, попадание значения в заданное множество |
|
NOT IN |
Значение не содержится |
Проверяется, отсутствие значения в заданном множестве |
|
LIKE |
Соответствие |
Проверяется, соответствие значения образцу |
|
NOT LIKE |
Не соответствие |
Проверяется, несоответствие значения образцу |
|
REGEXP |
Регулярное выражение |
Проверяется соответствие значения регулярному выражению |
Агрегатные Функции
AVG (имя_поля) - выдает среднее значение в указанном столбце.
COUNT (имя_поля) - при указании столбца выдает число ненулевых значений в этом столбце. Если перед именем столбца указать DISTINCT, то выдается только количество различных значений.
COUNT(*) - выдает число строк в таблице, но если указать COUNT(name_pole) - подсчитать число значений в заданном поле, в котором есть значения NULL, то пустые значения учтены не будут (Name_pole - имя поля).
MAX (имя_поля) - максимальное значение в столбце.
MIN (имя_поля) - минимальное значение в столбце.
SUM (имя_поля) - сумма значений в столбце.
Размещено на Allbest.ru
Подобные документы
Система управления базами данных (СУБД) MySQL. Установка, настройка и запуск MySQL. Окончательная настройка нового MySQL сервера. Основные утилиты и журнальные файлы. Работа с виртуальными хостами. Синтаксис для создания таблиц и управление данными.
реферат [3,5 M], добавлен 24.06.2019Программные средства, которые помогают манипулировать и управлять данными. Приемы создания и редактирования баз данных в СУБД MySQL. Способы и средства доступа и манипулирования данными. Создание, удаление, редактирование таблиц данных и их элементов.
практическая работа [1,2 M], добавлен 14.03.2013Общая характеристика системы управления базами данных MySQL, ее основные особенности и возможности, касающиеся обеспечения целостности данных. Реализация ограничений семантической и ссылочной целостности в СУБД MySQL на примере фрагмента ИС "Салон магии".
курсовая работа [981,0 K], добавлен 14.10.2012Системы управления базами данных. Состав СУБД. Языки программирования. Проектирование базы данных на СУБД MySQL. Работа с XAMPP Control Panel. База данных " Детский сад". Вывод данных из таблицы "Ребенок", "Группы", "Классы" и "Направление занятий".
курсовая работа [1,9 M], добавлен 13.12.2016Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.
реферат [46,4 K], добавлен 01.11.2009Система управления базами данных MySQL. Управление БД MySQL при помощи инструмента phpmyadmin. Принципы учета товарно-материальных ценностей. Спецификация оборудования, необходимого для нормального функционирования базы данных учета. Создание скрипта.
дипломная работа [1,4 M], добавлен 16.08.2015Программные продукты компании Microsoft: Access, Visual FoxPro7.0, dBASE. Возможности интеграции, совместной работы и использования данных. Системы управления базами данных (СУБД), их основные функции и компоненты. Работа с данными в режиме таблицы.
курсовая работа [805,5 K], добавлен 15.12.2010Функции, позволяющие работать с базой данных MySQL средствами РНР. Соединение с сервером и его разрыв. Создание и выбор базы данных. Доступ к отдельному полю записи. Комплексное использование информационных функций. Запросы, отправляемые серверу MySQL.
лекция [3,5 M], добавлен 27.04.2009Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.
реферат [57,1 K], добавлен 20.12.2010Основные понятия базы данных и систем управления базами данных. Типы данных, с которыми работают базы Microsoft Access. Классификация СУБД и их основные характеристики. Постреляционные базы данных. Тенденции в мире современных информационных систем.
курсовая работа [46,7 K], добавлен 28.01.2014