Введение в Transact-SQL и SQL Query Аnalyzer
В этой лекции вы познакомитесь с основными понятиями языков SQL (Structured Query Language, язык структурированных запросов) и T-SQL (Transact-SQL); также будет рассказано о различиях между этими двумя языками. Будут рассмотрены составные части SQL – язык DDL (data definition language, язык определения данных) и DML (data manipulation language, язык манипулирования данными), для каждого из этих языков будут даны примеры. Также мы кратко рассмотрим новые свойства T-SQL, имеющиеся в Microsoft SQL Server 2000. Вы узнаете, как применять различные утилиты SQL Server, в том числе утилиту командной строки T-SQL и SQL Server Query Analyzer, что позволит вам создавать объекты базы данных и управлять этими объектами. Вы также научитесь создавать сценарии, содержащие операторы T-SQL.
Что такое SQL
SQL – это язык программирования и запросов к базам данных, он применяется для осуществления доступа к данным, для запросов к реляционным СУБД, для управления базами данных и их обновления. Стандарт SQL утвержден как Американским Национальным Институтом Стандартов (ANSI, American National Standards Institute), так и Международной организацией по стандартизации (ISO, International Organization for Standardization). ANSI – это организация промышленных и деловых групп, разрабатывающая стандарты для торговли и коммуникации в Соединенных Штатах. ANSI также является членом ISO и IEC (Международной электротехнической комиссии, International Electrotechnical Commission). ANSI публикует стандарты США, которые соответствуют международным стандартам. В 1992 году ISO и IEC опубликовали международный стандарт на SQL, который принято называть SQL-92. ANSI опубликовал в Соединенных Штатах соответствующий стандарт, ANSI SQL-92, который иногда называют ANSI SQL. Хотя разные реляционные СУБД применяют несколько различающиеся версии SQL, но большинство из них соответствуют стандарту SQL-92, определенному ANSI.
Язык SQL содержит операторы, относящиеся к одному из двух основных языков программирования в составе SQL: DDL и DML, о которых мы расскажем вам в последующих разделах.
DDL
Язык DDL (data definition language, язык определения данных) применяется для определения объектов баз данных (таких как базы данных, таблиц и представления) и для управления этими объектами. (Про представления (views) будет рассказано в "Создание и использование представлений" .) Операторы языка DDL обычно включают в себя команды CREATE, ALTER и DROP для каждого из объектов, с которым производится работа. Например, для первоначального создания таблицы, для изменения ее свойств (скажем, для создания или для удаления колонок) и для уничтожения таблицы соответственно применяются операторы CREATE TABLE, ALTER TABLE и DROP TABLE ; мы расскажем об этих операторах в нескольких следующих разделах.
Оператор CREATE TABLE
Давайте в качестве примера применим DDL для создания в базе данных MyDB таблицы с именем Customer_Data (Сведения_о_заказчиках). Эту таблицу Customer_Data обработки мы будем использовать и в других примерах, приведенных в этой лекции. Как уже говорилось, для создания таблицы применяется оператор CREATE TABLE. Наша таблица-пример будет задана как имеющая четыре колонки, при помощи следующих операторов:
Use MyDB CREATE TABLE Customer_Data (customer_id smallint, first_name char(20), last_name char(20), phone char(10)) GO
Эти операторы создают структуру таблицы Customer_Data. Таблица Customer_Data останется пустой до тех пор, пока в нее не будут введены данные или она не будет заполнена при помощи массового копирования. (Более подробно о создании таблиц см. "Создание таблиц баз данных" .)
Оператор ALTER TABLE
Оператор ALTER TABLE применяется для изменения определения или атрибутов таблицы. В нашем примере оператор ALTER TABLE применяется для добавления в существующую таблицу Customer_Data колонки middle_initial:
ALTER TABLE Customer_Data ADD middle_initial char(1) GO
Теперь определение таблицы содержит не четыре колонки, как было первоначально, а пять колонок. (Более подробно о применении оператора ALTER TABLE см. "Управление таблицами с помощью T-SQL и Enterprise Manager" .)
Оператор DROP TABLE
Оператор DROP TABLE применяется для уничтожения определений таблиц и всех данных, индексов, триггеров, ограничений и специальных разрешений, относящихся к удаляемым таблицам. Для уничтожения нашей таблицы Customer_Data применяется команда:
DROP TABLE Customer_Data GO
(Подробно об операторе DROP TABLE см. "Управление таблицами с помощью T-SQL и Enterprise Manager" .)
DML
Язык DML (data manipulation language, язык манипулирования данными) применяется для манипулирования данными, содержащимися в объектах базы данных, для чего применяются такие операторы, как SELECT, INSERT, UPDATE и DELETE. При помощи этих операторов можно соответственно выбирать строки с данными, вставлять новые строки, изменять имеющиеся строки и удалять ненужные строки. Ниже даны простые примеры применения этих операторов. (Более сложные примеры см. в "Извлечение данных при помощи Transact-SQL" и "Расширенное описание T-SQL" .)