Редактирование, обновление и удаление данных

Предположим, что форуму нужны модераторы. Для этого в таблицу users надо добавить столбец с ролью пользователя. Для добавления столбцов в таблицу используется оператор ALTERTABLE–ADDCOLUMN. Его синтаксис следующий:

ALTERTABLEимя_таблицыADDCOLUMNимя_столбца тип;

Добавим столбец role в таблицу users:

ALTER TABLE users ADD COLUMN role varchar(20);

Столбец появится в конце таблицы:

Для того чтобы указать местоположение столбца используются ключевые слова:

FIRST– новый столбец будет первым;

AFTER– указывает после какого столбца поместить новый.

Добавим еще два столбца: kol– количество оставленных сообщений иrating– рейтинг пользователя. Обастолбцавставимпослеполяpassword:

ALTERTABLEusersADDCOLUMNkolint(10) AFTERpassword,

ADDCOLUMNratingvarchar(20) AFTERkol;

Теперь надо назначить роль модератора какому-нибудь пользователю, пусть это будет sergey с id=1. Для обновления уже существующих данных служит оператор UPDATE. Его синтаксис следующий:

UPDATEимя_таблицыSETимя_столбца=значение_столбца

WHERE условие;

Для данного примера:

UPDATEusersSETrole='модератор' WHEREid_user=1;

Изменять данные можно и сразу в нескольких строках и во всей таблице.

Например, рейтинг дается в зависимости от количества оставленных пользователем сообщений.

Сначала внесем в таблицу значения столбца kol:

Зададим рейтинг «Профи» тем, у кого количество сообщений больше 30:UPDATEusersSETrating='Профи' WHEREkol > 30;

Данные изменились в двух строках, согласно заданному условию. Если в запросе опустить условие, то данные будут обновлены во всех строках таблицы.

Теперь предположим, что необходимо переименовать столбец «Рейтинг» в «Репутация»–reputation. Для изменения имени существующего столбца используется оператор CHANGE. Его синтаксис следующий:

ALTERTABLEимя_таблицы

CHANGEстарое_имя_столбцановое_имя_столбца тип;

Дляданногопримера:

ALTERTABLEusersCHANGEratingreputationvarchar(20);

Обратите внимание, что тип столбца надо указывать даже, если он не меняется.

Если понадобится изменить только тип столбца, то используем оператор MODIFY. Его синтаксис следующий:

ALTERTABLEимя_таблицы

MODIFYимя_столбцановый_тип;

Оператор DELETE позволяет удалять строки из таблицы. Его синтаксис следующий:

DELETEFROMимя_таблицыWHERE условие;

Удалимиз таблицы сообщений те записи, которые оставлял пользователь valera (id=2):

DELETEFROMpostsWHEREid_author='2';

Если опустить условие, то из таблицы будут удалены все данные. Следует помнить, что данные СУБД даст удалить только в том случае, если они не являются внешними ключами для данных из других таблиц (поддержка целостности БД).

Например, если мы захотим удалить из таблицы users пользователя, который оставлял сообщения, то нам это не удастся. Сначала надо удалить его сообщения, а уж потом и его самого.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: