Язык запросов SQL Создание, изменение и удаление таблиц:
Я уже расказал практически все основы языка SQL. Теперь, с каждым разом материал становится всё сложнее и сложнее, хотя я стараюсь преподнести его как можно проще. Вот таким образом мы подобрались к вопросу создания изменения и удаления таблиц с помощью SQL.
Для создания таблицы используется команда CREATE TABLE, которая создаёт пустую таблицу. После этой команды нужно определить столбцы, их типы и размер.
Обрати внимание, что <Размер> я показал в квадратных скобках, потому что не все типы данных требуют указания размера поля.
Давай посмотрим, какие бывают типы данных:
CHAR или CHARACTER - Cтроковое поле. В качестве размера используется длина строки.
DEC или DECIMAL - Десятичное число, т.е. число с дробной частью. Размер состоит из двух частей - точность и масштаб. Эти параметры нужно указывать через запятую. Точность показывает сколько значащих цифр имеет число. Масштаб показывает количество знаков после запятой. Если масштаб равен нулю, то число становится эквивалентом целого.
NUMERIC - Такое же как DECIMAL. Разница только в том, что максимальное десятичное не может превышать аргумента точности.
FLOAT - Опять число с плавоющей точной, только в этом случае размер указывается одним числом, которое указывает на минимальную точность.
REAL - то же, что и FLOAT, только размер не указывается, а берётся из системы поумолчанию.
DOUBLE - то же, что и REAL, только размер побольше (чаще всего в два раза).
INT или INTEGER - целое число. Размер указывать не надо, он подставляется автоматически.
SMALLINT - то же, что и INTEGER, только его размер меньше. В большинстве случаев, если точность INTEGER равна 2 байтам, то точность SMALLINT равна 1 байту.
Сразу врываемся в реальный пример:
CREATE TABLE NovayaTablica
(id integer,
name char (10),
city char (10),
Metr declmal);
Этот запрос создаёт таблицу с именем NovayaTablica и четырмя полями.
Теперь я хочу открыть один маленький секрет. Когда ты работаешь с такими базами, как Access, то ты можешь использовать в качестве имён таблиц или полей русские слова. А самое главное, что эти слова мугут включать пробелы, например, ты можешь назвать таблицу как "Новая таблицы". Как же тогда обратится из запроса к такой таблице? Все названия включающие в себя пробелы должны заключатся в квадратные скобки.
Обрати внимание, что все составные имена заключены в квадратные скобки. При работе с запросом, ты так же должен использовать такие скобки:
Select *
From [Новая таблица]
WHERE
Идентификатор=10 and
[Место расположения] LIKE 'Москва';
Всё прекрасно, но не все базы данных позволяют использовать русские и составные имена.
Теперь поговорим о создании индексов. В общем виде это выглядит так:
CREATE INDEX <Имя индекса> ON <Имя таблицы>
(<Имя поля> [,<Имя поля>]...);
А вот и реальный пример:
CREATE INDEX NewIndex ON NewTable (name);
Здесь создаётся новый индекс с именем NewIndex в таблице NewTable для name. Если ты захочешь создать уникальный индекс, то ты должен написать так:
CREATE UNIQUE INDEX NewIndex ON NewTable (name);
При создании простых индексов ты можешь указать в скобках несколько полей, например:
CREATE INDEX NewIndex ON NewTable (name, city);
Это создаст составной индекс и проиндексирует таблицу сразу по двум полям name и city. ПОМНИ: При создании уникальных индексов такого делать нельзя. Поле должно быть одно.
Теперь поговорим о добавлении новых столбцов. Для этого существует команда ALTER TABLE. Вот так она выглядит в общем виде:
ALTER TABLE <Имя таблицы> ADD <Имя поля> <Тип> <Размер>;
Например:
ALTER TABLE Справочник ADD [Новое поле] INTEGER
Итак, мы так долго старались, а теперь одним махом уничтожим всё, что тут натворили. Для удаления полей используй:
ALTER TABLE [Имя таблицы] DROP [Имя поля]
А для удаления таблиц используется команда DROP TABLE:
DROP TABLE < Имя таблицы >;
Вот и всё, что я хотел тебе сегодня расказать. Удачи!!!