Заказы:
Код клиента 117А, дата последнего заказа 20 декабря 1999 г., заказанный товар - салфетки, код товара - 661.
5-й час Манипуляция данными
На этом уроке вы ознакомитесь с той частью SQL, которая называется языком манипуляций данными (Data Manipulation Language - DML). DML является частью SQL, используемой при изменении данных и таблиц в реляционных базах данных
Основными на этом уроке будут следующие темы.
• Обзор языка манипуляций данными
• Инструкции по манипуляции данными в таблицах
• Концепции, лежащие в основе размещения данных в таблицах
• Удаление данных из таблиц
• Изменение данных в таблицах
Обзор возможностей манипуляции данными
Язык манипуляций данными (DML) является частью SQL, обеспечивающей пользователю базы данных возможность вносить реальные изменения в данные реляционной базы данных. С помощью DML пользователь может пополнять таблицы новыми данными, обновлять уже имеющиеся данные и удалять их из таблиц. С помощью команд DML можно также выполнять и некоторые типы запросов.
В SQL имеется три основных команды DML.
INSERT UPDATE DELETE
Команда SELECT, которую тоже можно использовать с командами DML, будет обсуждаться подробно в ходе урока 7, "Знакомство с запросами".
Заполнение таблиц новыми данными
Заполнение таблицы данными - это процесс ввода новых данных в таблицу либо вручную с помощью отдельных команд, либо автоматически с помощью программ или каким-либо иным способом.
То, какие данные и в каком количестве можно будет при этом вводить в таблицу, зависит от многих факторов, основными из которых являются ограничения, заданные при определении таблицы, физические размеры таблицы, типы данных ее столбцов, ширина столбцов, требования целостности в виде ключей и внешних ключей. В следующих разделах мы обсудим особенности процесса ввода данных в таблицы, рассмотрев ряд соответствующих рекомендаций и предостережений.
Не забывайте, что операторы SQL могут использовать как символы нижнего регистра, так и символы верхнего. Вследствие способа хранения операторов в базе данных, они от выбора регистра букв не зависят. В следующих примерах буквы нижнего и верхнего регистров используются только для того, чтобы показать, что это не влияет на результат.
Ввод данных в таблицу
Чтобы ввести новые данные в таблицу, используйте оператор INSERT. Как ясно из показанного ниже его базового вида, оператор INSERT имеет несколько опций.
insert into имя схемы.имя таблицы
VALUES ('значение!', 'значение2', [ NULL ] );
Согласно представленному здесь синтаксису оператора INSERT, в список VALUES вы должны поместить значения для всех столбцов соответствующей таблицы. Значения в списке разделяются запятыми. Символьные значения и значения дат должны быть заключены в кавычки. Для числовых значений и пустых значений, задаваемых ключевым словом NULL, кавычки не нужны. Должны быть указаны значения для всех столбцов таблицы.
В следующем примере новая запись вводится в таблицу PRODUCTS_TBL.
Структура таблицы:
products_tbl
Имя столбца Null? Тип данных
PROD_ID NOT NULL VARCHAR2(10)
PROD_DESC NOT NULL VARCHAR2(25)
COST NOT NULL NUMBER(6,2)
Пример использования оператора INSERT:
INSERT INTO PRODUCTSJTBL
VALUES ('7725','КОЖАНЫЕ ПЕРЧАТКИ',24.99);
1 строка создана.
В этом примере вводятся три значения в таблицу с тремя столбцами. Порядок вводимых значений соответствует порядку столбцов в таблице. Первые два значения заключены в кавычки, поскольку тип данных соответствующих столбцов является символьным. Третье значение, ассоциированное со столбцом COST, имеет числовой тип данных и поэтому не требует кавычек, хотя их можно использовать и в этом случае.
|
Имя столбца
|
Null?
|
Тип данных
|
|
|
PROD ID PROD DESC COST
|
NOT NULL
NOT NULL
NOT NULL
|
VARCHAR2 (10)
VARCHAR2 (25)
NUMBER (6, 2)
|
|
В данном примере не было указано имя схемы или владельца таблицы. Имя схемы не требуется, если вы вошли в базу данных как пользователь, являющийся владельцем соответствующей таблицы.
Ввод данных в определенные столбцы таблицы
Имеется возможность ввести данные не во все, а только в определенные столбцы, например, если нужно ввести всю информацию о служащем, кроме номера его пейджера. В этом случае в операторе INSERT вместе со списком значений VALUES нужно указать и список соответствующих им столбцов.
INSERT INTO EMPLOYEE_TBL
(EMP_ID, LAST_NAME, FIRST_NAME, MIDDLE_NAME, ADDRESS, CITY, STATE, ZIP, PHONE) VALUES
('123456789','SMITH', 'JOHN', 'JAY', •12 BEACON ST', •INDIANAPOLIS', 'IN', '46222', '3172996868');
Читать дальше