Для добавления столбцов в таблицу используется оператор ALTER TABLE — ADD COLUMN. ALTER TABLE имя_таблицы ADD COLUMN имя_столбца тип Давайте добавим столбец role в таблицу users


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
SQL

-

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

Предположим͕ мы решили͕ что нашему форуму нужны модераторы͘ Для этого в таблицу
users

надо добавить столбец с ролью пользователя͘ Для добавления столбцов в таблицу
используется оператор

ALTER

TABLE

-

ADD

COLUMN
͘ Его синтаксис следующий͗



ALTER

TABLE

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

COLUMN

имя_столбца тип͖

Давайте добавим столбец
role

в таблицу
users
:



ALTER TABLE users ADD COLUMN role varchar(20);

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





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

FIRST

-

новый столбец будет первым͕ и
AFTER

-

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


Давайте добавим еще два столбца͗ один
-

kol

-

кол
ичество оставленных сообщений͕ а
другой
-

rating

-

рейтинг пользователя͘
Оба столбца вставим после поля password͗



ALTER TABLE users ADD COLUMN kol int(10) AFTER password,


ADD COLUMN rating varchar(20) AFTER kol;





Теперь надо назначить роль модератора какому
-
нибудь пользователю͕ пусть это будет
sergey

с
id
=1͘ Для обновления уж существующих данных служит опера
тор

UPDATE
͘ Его
синтаксис следующий͗



UPDATE

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

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


WHERE

условие͖

Давайте сделаем Сергея модератором͗



UPDATE users SET role='модератор'


WHERE id_user=1;





Изменять данные можно и сразу в нескольких строках и во всей таблице͘ Напри
мер͕ мы
решили давать рейтинг в зависимости от количества оставленных пользователем
сообщений͘ Давайте в нашу таблицу сначала внесем значения столбца
kol

так͕ как мы уже
умеем͗





А теперь давайте зададим рейтинг Профи тем͕ у кого количество сообщений бол
ьше 30͗



UPDATE users SET rating='Профи'


WHERE ko�l30;





Данные изменились в двух строках͕ согласно заданному условию͘ Понятно͕ что
если в
запросе опустить условие͕ то данные будут обновлены во всех строках таблицы͘


Предположим͕ что нам не нравится название Рейтинг у нашего столбца͕ и мы хотим
переименовать столбец в Репутация
-

reputation
͘ Для изменения имени существующего
столбца ис
пользуется оператор

CHANGE
͘ Его синтаксис следующий͗



ALTER

TABLE

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

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

Давайте поменяем
rating

на
reputation
:



ALTER TABLE users CHANGE rating reputation varchar(20);





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

MODIFY
͘ Его синтаксис следующий͗



ALTER

TABLE

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

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

Последнее͕ что мы сегодня рассмотрим
-

оператор

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



DELETE

FROM

имя_таблицы


WHERE

у
словие͖

Давайте из таблицы сообщений удалим те записи͕ которые оставлял пользователь
valera

(
id
=2):



DELETE FROM posts


WHERE id_author='2';





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

пользователя͕ который оставлял
сообщения͕ то нам это не удастся͘





Сначала надо удалить его сообщения͕ а уж потом и его самого͘


Давайте подведем промежуточный итог͘ Мы умеем создавать таблицы и связывать их
между собой͕ обновлять͕ редактировать и удалять данные и извлекать данные различным
образом͘ В принципе
-

это можно назвать базовыми знаниями
SQL
͘ Далее мы будем
изучать встроен
ные функции и расширенные возможности
MySQL
.




Приложенные файлы

  • pdf 7066436
    Размер файла: 440 kB Загрузок: 0

Добавить комментарий