
[ Основы SQL-управления базами данных и таблицами. ]
Date: 28.07.01
INTRO
В предыдущей статье по SQL я рассматривал средства управления данными в
таблицах данных. Как я уже понял, я слегка забежал вперёд, не показав самых
основ SQL-управления базами данных и таблицами. Исправляю свою ошибку.
GUI MUST DIE
Всё описанное ниже можно проделать и в графическом интерфейсе.Например, в
MS SQL Server2000. Создавать, переименовывать и удалять таблицы и базы данных
можно при помощи утилиты под названием Enterprise Menager. Разабраться в нём
сможет и ребёнок. Но в большинстве случаев графический интерфейс не
доступен. Поэтому я покажу как манипулировать таблицами и базами данных
посредством запроса.
CREATE
Для создания таблиц используется комманда CREATE TABLE. Её формат имеет
вид:
CREATE TABLE
( <Имя столбца> <Тип> (<Размер>)
Естественно, что столбцов может быть и больше, они разделяются запятой. Хочу
заметить, что размер для некоторых типов данных не указывается. Ниже я указал
самые основные типы данных, которые можно указывать в запросе:
CHAR:Cтроковое поле. В качестве размера используется длина строки.
NUMERIC:Числовое поле.
FLOAT:Число с плавоющей точной.
REAL:то же FLOAT, только размер не указывается, а берётся из системы
поумолчанию.
INT:Целое число.
Теперь рассмотрим пример создания таблицы:
CREATE TABLE Tab
(num integer,
name char (10),
place char (10));
Этот запрос создаёт таблицу Tab с столбцами NUM,NAME,PLACE.
ADD
Иногда бывает нужным, добавить к созданной таблице ещё один
столбец. Делается это при помощи команды ALTER TABLE. Чтобы было понятнее,
рассмотрим сразу пример:
ALTER TABLE Tab ADD Nal INTEGER
Здесь я добавля. столбец NAL типа INTEGER.Т.е. сам синтаксис выглядит так:
ALTER TABLE <Имя таблицы> ADD <Имя поля> <Тип> <Размер>;
INDEX
Теперь рассмотрим создание индекса в таблице.Формат следующий:
CREATE INDEX <Имя индекса> ON <Имя таблицы>
(<Имя поля> [,<Имя поля>]...);
Сразу рассмотрим пример:
CREATE INDEX Ind ON Tab (kol);
По этому запросу я создаю новый индекс Ind в столбце kol в таблице Tab.
CRASH & DESTROY
Ну а теперь самое интересное=].Удаление.rm тут не прокатит=].Для удаления
полей используется комманда DROP в сочетании с ALTER TABLE.Сразу приведу
синтаксис и пример:
ALTER TABLE [Имя таблицы] DROP [Имя поля]
Пример:
ALTER TABLE Tab DROP Nal; --Здесь я удалил столбец, который создал выше.
Для удаления таблицы используется просто команда DROP.А точнее, всё, над
чем я трудился выше, улетучивается одним простым запросом:
DROP TABLE Tab;
OUTRO
Всё, можно считать, что свою ошибку я исправил. Некоторые могут подумать,
зачем мне эта ерунда, ведь если есть удобный и приятный графический
интерфейс. Признаться, в каком-то смысле они правы, но бывают(и не редко)
такие ситуации, в которых ты НИКАК не сможешь воспользоваться GUI. Вот
тогда-то и поможет эта, на первый взгляд, не нужная инфа.
Знание SQL-запросов поможет Вам реализовать уязвимости
класса SQL Source Injection, описание которых будет приведено на нашем сайте
в ближайшее время.
Удачи!
{dr}{NerVe}     [KODSWEB]
!!! Статья является собственностью команды KODSWEB !!!
!!! Любое распространение без нашего разрешения строго запрешено !!!
|