Основные DDL операторы для работы с таблицами
К основным DDL операторам для работы с таблицами можно отнести:
- CREATE TABLE - оператор, позволяющий создать таблицу
- CREATE TABLE AS - оператор, позволяющий создать таблицу из определения и данных другой таблицы
- ALTER TABLE - оператор, позволяющий переименовать таблицу, добавить, изменить или удалить столбцы в таблице
- DROP TABLE - оператор, позволяющий удалить таблицу
CREATE TABLE
Синтаксис CREATE TABLE в Oracle выглядит следующим образом:
CREATE TABLE table_name
(
column1 datatype [ NULL | NOT NULL ]
, column2 datatype [ NULL | NOT NULL ]
...
, column_n datatype [ NULL | NOT NULL ]
);
где table_name
имя таблицы, которую мы хотим создать, column1, column2, ... column_n
- столбцы, которые мы создаем в таблице. Каждый столбец должен иметь тип данных. Столбец должен быть определен либо как "NULL" либо "NOT NULL", если это значение не указывается, то по умолчанию устанавливается "NULL".
Пример создания таблицы:
create table MANUFACTURER
(
ID_MAN INTEGER not null
, MAN_OWNER VARCHAR2(100 CHAR)
, MAN_NAME VARCHAR2(100 CHAR) not null
, INN VARCHAR2(12 CHAR) not null
, OKPO VARCHAR2(10 CHAR)
, OKVED VARCHAR2(6 CHAR)
, OKATO VARCHAR2(10 CHAR)
, OKOHX VARCHAR2(6 CHAR)
, REG_ADDRESS VARCHAR2(200 CHAR) not null
, POST VARCHAR2(200 CHAR)
, PHONE VARCHAR2(20 CHAR)
, E_MAIL VARCHAR2(200 CHAR)
, FAX VARCHAR2(20 CHAR)
, POSITION VARCHAR2(40 CHAR)
, DESCRIPTION VARCHAR2(1000 CHAR)
, NOTE VARCHAR2(500 CHAR)
, constraint PK_MANUFACTURER primary key (ID_MAN)
);
ALTER TABLE
Оператор ALTER TABLE используется для добавления, изменения или удаления столбца в таблице, также используется для переименования таблиц.
Добавить столбец в таблицу
Синтаксис ALTER TABLE для добавления столбца в таблицу Oracle:
ALTER TABLE table_name
ADD column_name column-definition;
Например:
ALTER TABLE MANUFACTURER
ADD NOTE2 VARCHAR2(500 CHAR);
Добавление нескольких столбцов в таблицу
Синтаксис ALTER TABLE для добавления несколько столбцов в существующую таблицу Oracle:
ALTER TABLE table_name
ADD ( column_1 column-definition
, column_2 column-definition
...
, column_n column_definition
);
Например:
ALTER TABLE MANUFACTURER
ADD( NOTE2 VARCHAR2(500 CHAR)
, NOTE3 VARCHAR2(300 CHAR)
, NOTE4 NUMBER(12,4)
);