→ Пошук по сайту       Увійти / Зареєструватися
Знання SQL - язык запросов

DDL: Операторы создания схемы базы данных

При описании команд предполагается, что: текст, набранный строчными буквами (например, CREATE TABLE) является обязательным текст, набранный прописными буквами и заключенный в угловые скобки (например, <имя_базы_данных>) обозначает переменную, вводимую пользователем в квадратные скобки (например, [NOT NULL]) заключается необязательная часть команды взаимоисключающие элементы команды разделяются вертикальной чертой (например, UNIQUE | PRIMARY KEY).

Операторы базы данных

Создание базы данных:

 CREATE DATABASE <имя_базы_данных>

Удаление базы данных:

DROP DATABASE <имя_базы_данных>

Создание и удаление таблиц

Создание таблицы:

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

   (<имя_столбца> <тип_столбца>

   [NOT NULL]

   [UNIQUE | PRIMARY KEY]

   [REFERENCES <имя_мастер_таблицы>

   <имя_столбца>]]

   , ...)
Пользователь обязан указать имя таблицы и список столбцов. Для каждого столбца обязательно указываются его имя и тип (см. таблицу в предыдущем разделе), а также опционально могут быть указаны параметры NOT NULL - в этом случае элементы столбца всегда должны иметь определенное значение (не NULL) один из взаимоисключающих параметров UNIQUE - значение каждого элемента столбца должно быть уникальным или PRIMARY KEY - столбец является первичным ключом.

REFERENCES <имя_мастер_таблицы> [<имя_столбца>] - эта конструкция определяет, что данный столбец является внешним ключом и указывает на ту мастер_таблицу, на ключ который он ссылается.
Контроль за выполнением указанных условий осуществляет СУБД.

Пример: создание базы данных publications:

  
CREATE DATABASE publications;

  CREATE TABLE authors (au_id INT PRIMARY KEY,
    author VARCHAR(25) NOT NULL);

  CREATE TABLE publishers (pub_id INT PRIMARY KEY,
    publisher VARCHAR(255) NOT NULL, url VARCHAR(255));

  CREATE TABLE titles (title_id INT PRIMARY KEY, 
     title VARCHAR(255) NOT NULL, yearpub INT,
     pub_id INT REFERENCES publishers(pub_id));

  CREATE TABLE titleautors (au_id INT REFERENCES authors(au_id),
     title_id INT REFERENCES titles(title_id));

  CREATE TABLE wwwsites (site_id INT PRIMARY KEY, 
      site VARCHAR(255) NOT NULL, url VARCHAR(255));

  CREATE TABLE wwwsiteauthors (au_id INT REFERENCES authors(au_id),
      site_id INT REFERENCES wwwsites(site_id));

Удаление таблицы:

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

Модификация таблицы:

Добавить столбцы

ALTER TABLE <имя_таблицы> ADD
  (<имя_столбца> <тип_столбца>
  [NOT NULL]
  [UNIQUE | PRIMARY KEY] 
[REFERENCES <имя_мастер_таблицы> [<имя_столбца>]] ,...)

Удалить столбцы

ALTER TABLE <имя_таблицы> DROP (<имя_столбца>,...)

Модификация типа столбцов

ALTER TABLE <имя_таблицы> MODIFY
   <имя_столбца> <тип_столбца>
   [NOT NULL]
   [UNIQUE | PRIMARY KEY]
   [REFERENCES <имя_мастер_таблицы> <имя_столбца>]]
   ,...)

загрузка...
Сторінки, близькі за змістом