Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Типы данных в языке SQL, операторы языка SQL для создания, удаления и модификации таблиц.Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте Типы данных SQL разделяются на три группы: Типы данных SQL строковые
Типы данных SQL с плавающей точкой (дробные числа) и целые числа
Типы данных SQL — Дата и время
Создание таблицы в базе данных производится командой CREATE TABLE. Синтаксис: CREATE TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_statement]tbl_name - Задает имя таблицы, которая будет создана в текущей базе данных. Если никакая база данных на момен вызова команды CREATE TABLE не была принята текущей, то возникнет ошибка выполнения команды. IF NOT EXISTS - Если указан этот параметр и производится попытка создать таблицу с дублирующим именем (т.е. таблица с таким именем в текущей БД уже есть), то таблица создана не будет и сообщение об ошибке не появиться. В противном случае таблица также создана не будет, но команда вызовет ошибку. create_definition - Определяет внутреннюю структуру создаваемой таблицы (названия и типы полей, ключи, индексы и т.д.) Возможные синтаксисы create_definition: col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [PRIMARY KEY] [reference_definition] или PRIMARY KEY (index_col_name,...) Или KEY [index_name] (index_col_name,...) Или INDEX [index_name] (index_col_name,...) или UNIQUE [INDEX] [index_name] (index_col_name,...) или [CONSTRAINT symbol] FOREIGN KEY [index_name] (index_col_name,...) [reference_definition] col_name - Задает имя столбца в создаваемой таблице. Type - Задает тип данных для столбца col_name. Возможные значения параметра type: § INT[(length)] [UNSIGNED] [ZEROFILL] § BIGINT[(length)] [UNSIGNED] [ZEROFILL] § DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL] § FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL] § DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL] § CHAR(length) [BINARY] § VARCHAR(length) [BINARY] § DATE § DATETIME § BLOB § И др. [NOT NULL | NULL] -Указывавет, может ли данных столбец содержать значение NULL или нет. Если не указано, то по умолчанию принимается NULL (т.е. может содержать NULL). [DEFAULT default_value] - Задает значение по умолчанию для данного столбца. При вставке новой записи в таблицу командой INSERT если значение для поля col_name явно указано не было, то устанавливается значение default_value. [AUTO_INCREMENT] - При вставке новой записи в таблицу поле с этим атрибутом автоматически получит числовое значение, на 1 больше самого большого значения для этого поля в текущий момент времени. Данная возможность обычно используется для генерирования уникальных идентификаторов строк. Столбец, для которого применяется атрибут AUTO_INCREMENT, должен иметь целочисленный тип. В таблице может быть только один столбец с атрибутом AUTO_INCREMENT. Так же этот столбец должен быть проиндексирован. Отсчет последовательности чисел для AUTO_INCREMENT начинается с 1. Это могут быть только положительные числа. Следующий пример создает таблицу users с 3 полями, где первое поле - уникальный идентификатор записи, второе поле - имя пользователя, а третье поле - его возраст: create table Water_Area( id int auto_increment, name varchar(70), constraint pk_Water_Area primary key nonclustered(id)) go create table Station( id int, id_Water_Area int not null, name varchar(20) not null, Latitude float(4) null, Longitude float(4) null, coordinates varchar(40) null, coordinates_modern varchar(30) null, comment varchar(70) null constraint pk_Station primary key nonclustered(id)) go Удаление таблицы. Для удаления таблицы служит команда DROP TABLE. DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...] [RESTRICT | CASCADE] tbl_name - Имя удаляемой таблицы. IF EXISTS – Если указан этот параметр, то при попытке удаления несущестующей таблицы ошибки не возникнет. В противном случае возникнет ошибка выполнения команды. RESTRICT и CASCADE Не несут никакой функциональности. Оставлены для упрощения переноса программы. Пример. Drop table Station Go Модификация таблиц. Для модификации служит команда Alter Table. Синтаксис: ALTER TABLE TableName1ADD | ALTER [COLUMN] FieldName1FieldType [(nFieldWidth [, nPrecision])][NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]][DEFAULT eExpression1][PRIMARY KEY | UNIQUE][REFERENCES TableName2 [TAG TagName1]][NOCPTRANS] |[DROP [COLUMN] FieldName]Команда ALTER TABLE изменяет определение таблицы одним из следующих способов: -добавляет столбец -добавляет ограничение целостности -переопределяет столбец (тип данных, размер, умалчиваемое значение) -удаляет столбец -модифицирует характеристики памяти или иные параметры -включает, выключает или удаляет ограничение целостности или триггер. Пример. alter table Station add unique(id_Water_Area, name) go alter table Station add constraint fk_Station_Relation_Water_Area foreign key (id_Water_Area) references Water_Area (id) on delete cascade
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2017-01-25; просмотров: 1317; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.007 с.) |