Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
теория2.doc
Скачиваний:
7
Добавлен:
01.03.2025
Размер:
651 Кб
Скачать
☆

Запросы на создание таблиц

Синтаксис:

CREATE TABLE имя_таблицы

(

имя_поля1 тип_поля1 ограничения_для_поля1,

имя_поля2 тип_поля2 ограничения_для_поля2,

. . .

имя_поля_n тип_поля_n ограничения_для_поля_n,

ограничения для таблицы

)

Основные типы данных

  • char(длина) - строка длиной до 8000 байт

  • datetime - дата и время

  • float – вещественное значение

  • Int - целое значение

  • money – денежный тип

Пример:

CREATE TABLE zakazchiki

(

Nzakazchika int PRIMARY KEY,

FIO char(30) NOT NULL,

Adres char(15)

)

Запросы на удаление таблиц

Синтаксис:

DROP TABLE имя_таблицы

Пример:

DROP TABLE Zakazchiki

Запросы на изменение таблиц

- Добавление поля

Синтаксис:

ALTER TABLE имя_таблицы ADD имя_поля тип_поля ограничения

Пример:

ALTER TABLE Zakazchiki ADD Telefon char(10)

----------------------------------------------------------------------------------------

- Удаление поля

Синтаксис:

ALTER TABLE имя_таблицы DROP COLUMN имя_поля

Пример:

ALTER TABLE Zakazchiki DROP COLUMN Adres

----------------------------------------------------------------------------------------

- Изменение поля

Синтаксис:

ALTER TABLE имя_таблицы ALTER COLUMN имя_поля тип_поля ограничения

Пример:

ALTER TABLE Zakazchiki ALTER COLUMN FIO char(35)

Запросы на добавление новых записей (строк)

Синтаксис:

INSERT INTO имя_таблицы (список_полей_через_запятую)

VALUES (список_значений_через_запятую)

Примеры:

  • INSERT INTO Zakazchiki (Nzakazchika, FIO)

VALUES (4, «Петров П.П.»)

  • INSERT INTO Zakazchiki

VALUES (4, «Петров П.П.», «М»)

Синтаксис:

INSERT INTO имя_таблицы (список_полей_через_запятую)

SELECT список_полей_через_запятую

FROM список_таблиц_через_запятую

WHERE условие_отбора_строк

Пример:

  • INSERT INTO MyTable (PriKey, Description)

SELECT ForeignKey, Description

FROM SomeView

Запросы на удаление записей (строк)

Синтаксис:

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

или

DELETE FROM имя_таблицы

WHERE условие_отбора_строк

Пример:

DELETE FROM Zakazchiki

WHERE Adres=”М”

Запросы на изменение записей (строк)

Синтаксис:

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

SET имя_поля=новое_значение_поля

WHERE условие_отбора_строк

Пример:

UPDATE Zakazchiki

SET Adres=”Санкт-Петербург”

WHERE Adres=”СПб”

Ограничения

  1. CHECK (логическое выражение)

CREATE TABLE jobs

(

job_id int,

job_desc char(50) NOT NULL,

min_lvl int NOT NULL

CHECK (min_lvl >= 10),

max_lvl int NOT NULL

CHECK (max_lvl <= 250),

CHECK (min_lvl<= max_lvl)

)

CHECK (emp_id LIKE

'[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]' OR

emp_id LIKE '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]')

  1. PRIMARY KEY

CREATE TABLE jobs

(

job_id int PRIMARY KEY,

job_desc char(50) NOT NULL,

min_lvl tinyint NOT NULL

CHECK (min_lvl >= 10),

max_lvl tinyint NOT NULL

CHECK (max_lvl <= 250),

CHECK (min_lvl< max_lvl)

)

CREATE TABLE jobs

(

job_id int,

job_desc char(50) NOT NULL,

min_lvl tinyint NOT NULL

CHECK (min_lvl >= 10),

max_lvl tinyint NOT NULL

CHECK (max_lvl <= 250),

CHECK (min_lvl< max_lvl)

PRIMARY KEY (job_id,…)

)

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

  1. NULL | NOT NULL

CREATE TABLE jobs

(

job_id int PRIMARY KEY,

job_desc char(50) NOT NULL,

min_lvl tinyint NOT NULL

CHECK (min_lvl >= 10),

max_lvl tinyint NOT NULL

CHECK (max_lvl <= 250),

CHECK (min_lvl< max_lvl)

)

  1. UNIQUE

5) FOREIGN KEY...REFERENCES

job_id int NOT NULL

REFERENCES jobs(job_id) //ограничение уровня поля

или

FOREIGN KEY (job_id) REFERENCES jobs(job_id) //ограничение уровня таблицы