Заполним таблицу «Клиенты»
INSERT INTO Клиенты VALUES (NULL, 'Петров И.И.', '1234567', 'Москва, ул. Пахарей 17-5'), (NULL, 'Иванов П.П.', '8901234', 'Москва, ул. Слесарей 22-1д-2'), (NULL, 'Сумкин Ф.Б.', '5678901', 'МО, Химки, ул. Улицы 42-123'), (NULL, 'Сидоров С.М.', '4145252', 'Москва, ул. Бауманская 212-2'), (NULL, 'Пушкин С.А.', '9982989', 'Магадан, ул. Пушкина 12-44');
Допустим, мы не хотим, чтобы в нашу таблицу могли ввести второго человека с такой же фамилией и инициалами. Для этого Модифицируем таблицу «Клиенты», введя уникальный индекс, который запретит вводить повторяющиеся значения по столбцу «ФИО Клиента». Для начала удалим уже существующий НЕуникальный индекс.
ALTER TABLE Клиенты DROP INDEX `ixClient`; Добавим уникальный индекс, накладывающий ограничение на столбец «ФИО Клиента»: ALTER TABLE Клиенты ADD CONSTRAINT `ixName` UNIQUE INDEX (`ФИО Клиента`); Теперь, если попробовать ввести повторяющееся значение фамилии, то команда не пройдет. INSERT INTO Клиенты VALUES (NULL, 'Петров И.И.', '4440102', 'Москва, ул. Сезам 1-5'); Предположим, у нас есть список фамилий, которые необходимо ввести и среди этого списка могут встречаться повторяющиеся. В этом случае ни одна из фамилий списка не будет введена. Одна единственная повторяющаяся фамилия отменит всю команду. Чтобы этого не происходило, и все фамилии благополучно записались в БД проигнорировав повтор, нужно использовать команду IGNORE. (Повторенная фамилия записана не будет, зато запишутся все остальные.) INSERT IGNORE INTO Клиенты VALUES (NULL, 'Петров Т.П.', '4440102', 'Москва, ул. Сезам 1-5'), (NULL, 'Сидорова А.К.', '4145252', 'Москва, ул. Бауманская 212-2'), (NULL, 'Пушкин С.А.', '9982989', 'Магадан, ул. Пушкина 12-44'); Проверим правильность заполнения. SELECT * FROM Клиенты; Как мы видим, второй «Пушкин С.А.» записан не был. Исправим инициалы первого (и единственного в нашей БД) Пушкина оператором UPDATE:
UPDATE Клиенты -- Обновить таблицу клиенты SET `ФИО Клиента`= 'Пушкин А.С.' -- Установить «Пушкин А.С» в столбце «ФИО Клиента» WHERE `ФИО Клиента` = 'Пушкин С.А.'; -- У тех строк, где «ФИО Клиента» равняется «Пушкин С.А.» Можно было сделать то же самое, и другим способом: UPDATE Клиенты -- Обновить таблицу клиенты SET `ФИО Клиента`= 'Пушкин А.С.' -- Установить «Пушкин А.С» в столбце «ФИО Клиента» WHERE `Код клиента` = 5; -- У тех строк, где «Код Клиента» равняется 5
Теперь удалим последнего Клиента из Таблицы. DELETE FROM Клиенты WHERE `Код Клиента` = 8; *Чтобы удалить ВСЕ строки из таблицы следует написать «DELETE FROM Клиенты;»
Читайте также: INSERT: Добавление информации в таблицу Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|