- •Пояснительная записка
- •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.
2.4 Команды работы с таблицами
Прежде чем рассмотреть примеры изменения структуры таблицы, создадим таблицу, с которой мы будем работать.
Пример 7. Создадим таблицу study в базе данных studentzaot.
Таблица должна содержать следующие данные о студентах:
код студента kod, (целое число, беззнаковое, пустые значения недопустимы, значения вводятся автоматически. Является первичным ключом);
фамилия студента fam, (символьное, постоянной длины в 15 символов. По полю создается индекс);
имя студента im, (символьное, постоянной длины в 15 символов,);
пол pol (принимает одно из двух значений списка: «Ж» -женский, «М» - мужской, пустые значения недопустимы );
дата рождения data (тип ДАТА, пустые значения недопустимы);
средний балл аттестата srbal (вещественное, с одной цифрой до запятой и одной цифрой после запятой).
SQL-запрос для создания таблицы приведен в листинге 7.
Листинг 7. Создание таблицы study в базе данных
USE studentzaot;
CREATE TABLE study
(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;
Команда добавления записей в таблицу
Можно назвать несколько методов добавления информации в базы данных. Можно добавить записи в таблицы вручную с помощью оператора INSERT. Можно добавлять записи прямо из текстового файла путем копирования в буфер. А можно готовый файл с исходными данными загрузить в таблицу с помощью оператора LOAD DATA. В этом разделе демонстрируется метод с использованием команды INSERT.
Команда INSERT вводит значения в записи таблицы.
insert INTO имя_таблицы VALUES (значения полей 1строки), (значения полей 2строки), (...), (значения полей последней строки);
Примечание. Список VALUES должен содержать значения всех полей одной записи таблицы. (Обычно это порядок следования названий столбцов, заданный в операторе CREATE TABLE). Если вы не знаете порядка следования столбцов, воспользуйтесь программой mysqladmin для просмотра перечня полей таблицы.
Вводить строковые значения и значения типа "дата" можно как в одинарных, так и двойных кавычках. Числовые поля задаются без использования кавычек.
Для того чтобы вставить в таблицу study из листинга 7 несколько записей с информацией о студентах, можно воспользоваться командой insert (листинг 8).
Листинг 8. Оператор insert
INSERT INTO study VALUES
(0,'Иванов','Михаил','M','1990-01-05',7.8),
(0,'Горовой','Максим','M','1991-01-03',5.2),
(0,'Максимова','Екатерина','Ж','1990-01-03',9.0);
Обратите внимание! Хотя первичный ключ(kod) в таблице study объявлен как AUTO_INCREMENT (автоматически нумеруемый системой), но при вводе записей командой INSERT значение первичного ключа вы должны явно задавать, равным нулю.
Порядок добавления столбцов можно задавать самостоятельно, воспользовавшись следующей формой оператора insert:
insert INTO имя_таблицы (имя_столбцаi, имя_столбцаj) VALUES (значение_столбцаi, значение_столбцаj);
Например, запись в таблицу study можно осуществить при помощи SQL- запроса, представленного в листинге 9. Столбцы, не перечисленные в списке столбцов, получают значение по умолчанию. Так, первичный ключ получает значение null, которое интерпретируется для полей с атрибутом AUTO_INCREMENT генерацией уникального числа.
Листинг 9. Определение порядка добавления столбцов
INSERT INTO study (fam, pol, srbal) VALUES ('Смирнова','Ж',8.5);
MySQL позволяет задавать значения полей в операторе insert в форме имя_столбца=значение:
INSERT INTO имя_таблицы SET имя_столбцаi= значение, имя_столбцаj=значение;
Пример такого оператора приведен в листинге 10.
Листинг 10. Альтернативная форма оператора insert
INSERT INTO study SET fam='Смирнова', pol='Ж';
Для полей, не получивших значения, будут выставлены значения по умолчанию.
