
- •Пояснительная записка
- •1. Основные сведения о субд MySql
- •Справочная информация по субд MySql
- •Состав дистрибутива субд MySql
- •Основные преимущества субд MySql
- •Терминология субд
- •2. Основные приемы работы в субд MySql
- •Команды работы с базой данных
- •Команда создания базы данных
- •Команда просмотра списка баз данных
- •Команда активизации (выбора) базы данных
- •Создание таблиц в базе данных
- •Команда создания таблиц в базе данных
- •Типы данных в столбцах таблицы
- •Ключи и индексы
- •Примеры создания таблиц
- •Команды удаления таблиц и баз данных
- •Лабораторная работа № 1. Создание таблиц в базе данных
- •Создание структуры таблицы с помощью программы mysqladmin
- •Порядок действий по подключению к серверу баз данных MySql
- •Создание таблицы в базе данных MySql
- •2.4 Команды работы с таблицами
- •Команда добавления записей в таблицу
- •Команда удаления записей из таблицы
- •Команда выборки записей из таблицы
- •Команда обновления значений столбцов
- •Лабораторная работа № 3. Работа с таблицами базы данных
- •3. Приемы работы с sql-сервером средствами php
- •Принципы работы с базой данных через web-интерфейс
- •Основные рнр функции для работы с таблицами базы данных
- •Лабораторная работа №4. Работа с sql-сервером средствами php
- •Использование html-форм для передачи параметров в скрипты php
- •Реализация передачи параметров методом post
- •Лабораторная работа №5. Использование html-форм для передачи параметров в скрипты php
- •Задания для самостоятельной работы Создание проекта по работе с базами данных
- •Список рекомендуемой литературы
- •246029, Г. Гомель, просп. Октября, 50.
- •2 46029, Г. Гомель, просп. Октября, 50.
Ключи и индексы
MySQL таблица может иметь до 32 ключей и индексов, каждый из которых может иметь до 15 полей. Максимальная поддерживаемая длина ключа 120 байт. Обратите внимание, что длинные ключи могут привести к низкой эффективности.
Ключи могут иметь имена. В случае первичного ключа имя будет всегда PRIMARY KEY. Если имя ключа не задано в процессе создания таблицы, то заданное по умолчанию имя ключа – первое имя столбца с факультативным суффиксом (_2, _3 и т. д.), чтобы сделать это имя уникальным.
Примеры создания таблиц
Пример 4.
Создадим в базе данных postavka таблицу product, c четырьмя столбцами: kod (код продукта), name (наименование продукта), stoim (цена продукта), post (наименование поставщика). Столбец kod должен быть объявлен как первичный ключ (PRIMARY KEY), а столбцы name и post должны иметь индексы.
Можно воспользоваться командой CREATE TABLE , представленной в листинге 4:
Листинг 4. Команда создания таблицы product
USE postavka;
CREATE TABLE product
(kod INT NOT NULL AUTO_INCREMENT,
name CHAR(20) NOT NULL,
stoim FLOAT(5,1) NOT NULL,
post CHAR(25) NOT NULL,
PRIMARY KEY (kod),
INDEX (name),
INDEX (post))
TYPE=MyISAM DEFAULT CHARSET=cp1251;
Примечание. Таблица product создается в базе данных postavka. Если база с таким именем еще не создана, то перед командой USE придется написать команду создания базы данных: CREATE DATABASE postavka;
При создании ключа или индекса можно факультативно определить, что только первые N символов поля для использования под ключ или для создания индекса.
Пример 5. Для таблицы из предыдущего примера создадим индекс для поля name, в котором только первые пять символов из двадцати являются уникальными.
Напишем команду CREATE TABLE:
CREATE TABLE product
(kod INT NOT NULL AUTO_INCREMENT,
name CHAR(20),
stoim FLOAT(5,1),
post CHAR(25),
PRIMARY KEY(kod),
INDEX name_idx(name(5)))
TYPE=MyISAM DEFAULT CHARSET=cp1251;
Пример 6.
Создадим таблицу studyFAM (где FAM – фамилия студента, набранная по-английски; например studyIvanov) в базе данных studentzaot.
Таблица должна содержать следующие данные о студентах:
код студента kod, (целое число, беззнаковое, пустые значения недопустимы, значения вводятся автоматически. Является первичным ключом);
фамилия студента fam, (символьное, постоянной длины в 15 символов, пустые значения недопустимы; по полю создается индекс);
имя студента im, (символьное, постоянной длины в 15 символов, пустые значения недопустимы);
пол pol (принимает одно из двух значений списка: «Ж»-женский, «М» - мужской);
дата рождения data (тип ДАТА, пустые значения недопустимы);
средний балл аттестата srbal (вещественное, с одной цифрой до запятой и одной цифрой после запятой).
Напишем команду CREATE TABLE:
USE studentzaot;
CREATE TABLE studyFAM
(kod INT UNSIGNED NOT NULL AUTO_INCREMENT,
fam CHAR(15),
im CHAR(15),
pol ENUM('М','Ж')NOT NULL,
data DATE NOT NULL,
srbal FLOAT(3,1),
PRIMARY KEY(kod),
INDEX(fam))
TYPE=MyISAM;