Презентация Язык SQL. (Лекция 1) онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Язык SQL. (Лекция 1) абсолютно бесплатно. Урок-презентация на эту тему содержит всего 46 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Информатика » Язык SQL. (Лекция 1)
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:46 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:346.00 kB
- Просмотров:91
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
![История История Язык SQL](/documents_6/0c1df5c5a87cdedd50787c4864098520/img1.jpg)
Содержание слайда: История
История
Язык SQL (Structured Query Language - структурированный язык запросов) представляет собой стандартный высокоуровневый язык описания данных и манипулирования ими в системах управления базами данных (СУБД), построенных на основе реляционной модели данных.
В начале 1970-х годов компанией IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language — «структурированный английский язык запросов». Позже язык SEQUEL был переименован в SQL.
№3 слайд
![Стандартизация Стандартизация](/documents_6/0c1df5c5a87cdedd50787c4864098520/img2.jpg)
Содержание слайда: Стандартизация
Стандартизация
Целью стандартизации является переносимость приложений между различными СУБД.
Год Название Иное название Изменения
1986 SQL-86 SQL-87 Первый вариант стандарта, принятый институтом ANSI (Американский национальный институт стандартов) и одобренный ISO (Международная организация по стандартизации) в 1987 году.
1989 SQL-89 FIPS 127-1 (Federal Information Processing Standards, Федеральные Стандарты Обработки Информации) Немного доработанный вариант предыдущего стандарта.
1992 SQL-92 SQL2, FIPS 127-2 Значительные изменения (ISO 9075); уровень Entry Level (начальный (англ. entry), средний (англ. intermediate), полный (англ. full)) стандарта SQL-92 был принят как стандарт FIPS 127-2.
1999 SQL:1999 SQL3 Добавлена поддержка регулярных выражений рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.
№4 слайд
![Регулярные выражения англ.](/documents_6/0c1df5c5a87cdedd50787c4864098520/img3.jpg)
Содержание слайда: (Регуля́рные выраже́ния (англ. regular expressions)— это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.)
(Регуля́рные выраже́ния (англ. regular expressions)— это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.)
2003 SQL:2003 Введены расширения для работы с XML-данными (XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML)), оконные функции (применяемые для работы с OLAP-базами данных) (OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу) , генераторы последовательностей и основанные на них типы данных.
2006 SQL:2006 Функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery (XQuery — язык запросов, разработанный для обработки данных в формате XML).
№5 слайд
![SQL Улучшены возможности](/documents_6/0c1df5c5a87cdedd50787c4864098520/img4.jpg)
Содержание слайда: 2008 SQL:2008 Улучшены возможности оконных функций («окно» - набор строк, характеризуемых равенством значений списка выражений), устранены некоторые неоднозначности стандарта SQL:2003
2008 SQL:2008 Улучшены возможности оконных функций («окно» - набор строк, характеризуемых равенством значений списка выражений), устранены некоторые неоднозначности стандарта SQL:2003
В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже.
Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД (например, Oracle, Sybase, Microsoft, MySQL AB), вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.
№6 слайд
![SQL не является языком](/documents_6/0c1df5c5a87cdedd50787c4864098520/img5.jpg)
Содержание слайда: SQL не является языком программирования (то есть не предоставляет средств для автоматизации операций с данными).
SQL не является языком программирования (то есть не предоставляет средств для автоматизации операций с данными).
Вводимые разными производителями расширения касались в первую очередь процедурных расширений. Это хранимые процедуры (stored procedures) и процедурные языки-«надстройки».
Практически в каждой СУБД применяется свой процедурный язык. Стандарт для процедурных расширений представлен спецификацией SQL/PSM.
№7 слайд
![Процедурные расширения для](/documents_6/0c1df5c5a87cdedd50787c4864098520/img6.jpg)
Содержание слайда: Процедурные расширения для популярных СУБД :
Процедурные расширения для популярных СУБД :
СУБД Краткое название Расшифровка
InterBase/Firebird PSQL Procedural SQL
IBM DB2 SQL PL (англ.) SQL Procedural Language (расширяет SQL/PSM); также в DB2 хранимые процедуры могут писаться на обычных языках программирования: Си, Java и т. д.
MS SQL Server/Sybase ASE Transact-SQL Transact-SQL
MySQL SQL/PSM SQL/Persistent Stored Module
Oracle PL/SQL Procedural Language/SQL (основан на языке Ada)
PostgreSQL PL/pgSQL Procedural Language/ PostgreSQL Structured Query Language (очень похож на Oracle PL/SQL)
№8 слайд
![Реляционные СУБД Реляционные](/documents_6/0c1df5c5a87cdedd50787c4864098520/img7.jpg)
Содержание слайда: Реляционные СУБД
Реляционные СУБД
В настоящее время наибольшее распространение получили реляционные SQL СУБД двух групп:
мощные крупные коммерческие СУБД, ориентированные на хранение огромных объемов информации (от гигабайт);
мобильные компактные свободно распространяемые (в том числе и в исходных кодах) СУБД, использование которых оправдано и для БД объемом всего лишь в десятки килобайт.
№9 слайд
![Наиболее известными СУБД](/documents_6/0c1df5c5a87cdedd50787c4864098520/img8.jpg)
Содержание слайда: Наиболее известными СУБД первой группы являются:
Наиболее известными СУБД первой группы являются:
Sybase SQLserver фирмы Sybase, Inc.;
Oracle фирмы Oracle Corporation;
Ingres фирмы Computer Associates International;
Informix фирмы Informix Corporation.
К наиболее популярным СУБД второй группы относятся:
PostgreSQL организации PostgreSQL;
microSQL фирмы Hughes Technologies Pty. Ltd.;
mySQL фирмы T.C.X DataKonsult AB.
Все перечисленные выше СУБД построены по принципу "клиент-сервер", как это показано на рисунке ниже.
№11 слайд
![SQL-сервер реализует хранение](/documents_6/0c1df5c5a87cdedd50787c4864098520/img10.jpg)
Содержание слайда: SQL-сервер реализует хранение данных и манипулирование ими. Он принимает запросы на языке SQL от своих клиентов, выполняет их и возвращает результаты (чаще всего в виде вновь построенных таблиц) клиентам. Для общения с клиентами используется специальный протокол (как правило, реализованный в виде протокола прикладного уровня стека сетевых протоколов TCP/IP).
SQL-сервер реализует хранение данных и манипулирование ими. Он принимает запросы на языке SQL от своих клиентов, выполняет их и возвращает результаты (чаще всего в виде вновь построенных таблиц) клиентам. Для общения с клиентами используется специальный протокол (как правило, реализованный в виде протокола прикладного уровня стека сетевых протоколов TCP/IP).
Клиентскую часть СУБД составляют клиенты трех основных типов.
Интерактивные клиенты, обеспечивающие пользователю-человеку возможность общения с SQL-сервером непосредственно с помощью языка SQL.
№12 слайд
![ИПП-клиенты, обеспечивающие](/documents_6/0c1df5c5a87cdedd50787c4864098520/img11.jpg)
Содержание слайда: ИПП-клиенты, обеспечивающие интерфейс прикладного программирования (ИПП) прикладным программам, использующим средства SQL-сервера. Такой ИПП может быть средством общения прикладной программы с SQL-сервером на языке SQL или набором стандартных функций доступа к реляционной SQL БД без формирования символьных строк запросов (например, стандартный интерфейс ODBC). (ODBC (англ. Open Database Connectivity) — это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI). Стандарт CLI призван унифицировать программное взаимодействие с СУБД, сделать его независимым от поставщика СУБД и программно-аппаратной платформы.)
ИПП-клиенты, обеспечивающие интерфейс прикладного программирования (ИПП) прикладным программам, использующим средства SQL-сервера. Такой ИПП может быть средством общения прикладной программы с SQL-сервером на языке SQL или набором стандартных функций доступа к реляционной SQL БД без формирования символьных строк запросов (например, стандартный интерфейс ODBC). (ODBC (англ. Open Database Connectivity) — это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI). Стандарт CLI призван унифицировать программное взаимодействие с СУБД, сделать его независимым от поставщика СУБД и программно-аппаратной платформы.)
WWW-клиенты, встраиваемые в World Wide Web-сервера и обеспечивающие доступ к информационным возможностям SQL-сервера пользователям сети Internet по протоколу HTTP (протоколу передачи гипертекстовых документов).
№13 слайд
![Основы синтаксиса языка SQL](/documents_6/0c1df5c5a87cdedd50787c4864098520/img12.jpg)
Содержание слайда: Основы синтаксиса языка SQL
Основы синтаксиса языка SQL
Язык SQL представляет собой совокупность
операторов;
инструкций;
и вычисляемых функций.
"Программа" на языке SQL - простая линейная последовательность операторов языка SQL. Язык SQL в своем "чистом" виде операторов управления порядком выполнения запросов к БД (типа циклов, ветвлений, переходов) не имеет.
Операторы языка SQL строятся с применением:
зарезервированных ключевых слов;
идентификаторов (имен) таблиц и столбцов таблиц;
логических, арифметических и строковых выражений, используемых для формирования критериев поиска информации в БД и для вычисления значений ячеек результирующих таблиц;
идентификаторов (имен) операций и функций, используемых в выражениях.
№14 слайд
![В языке SQL не делается](/documents_6/0c1df5c5a87cdedd50787c4864098520/img13.jpg)
Содержание слайда: В языке SQL не делается различия между прописными (большими) и строчными (маленькими) буквами, т.е., например, строки "SELECT", "Select", "select" представляют собой одно и то же ключевое слово.
В языке SQL не делается различия между прописными (большими) и строчными (маленькими) буквами, т.е., например, строки "SELECT", "Select", "select" представляют собой одно и то же ключевое слово.
Но, согласно общепринятому стилю программирования, операторы (и другие зарезервированные слова) в SQL всегда следует писать прописными буквами.
Все ключевые слова, имена функций и, как правило, имена таблиц и столбцов записываются латинскими буквами.
Для конструирования имен таблиц и их столбцов допустимо использовать буквы, цифры и знак "_" (подчеркивание), но первым символом имени обязательно должна быть буква.
Запрещено использование ключевых слов и имен функций в качестве идентификаторов таблиц и имен столбцов.
№15 слайд
![Оператор начинается с](/documents_6/0c1df5c5a87cdedd50787c4864098520/img14.jpg)
Содержание слайда: Оператор начинается с ключевого слова-глагола (например, "CREATE" - создать, "UPDATE" - обновить, "SELECT" - выбрать и т.п.) и заканчивается знаком ";" (точка с запятой).
Оператор начинается с ключевого слова-глагола (например, "CREATE" - создать, "UPDATE" - обновить, "SELECT" - выбрать и т.п.) и заканчивается знаком ";" (точка с запятой).
Оператор записывается в свободном формате и может занимать несколько строк. Допустимыми разделителями лексических единиц в операторе являются:
один или несколько пробелов,
один или несколько символов табуляции,
один или несколько символов "новая строка".
Комментарии при использовании в различных СУБД в текстах "программ" на языке SQL могут помечаться следующими способами:
от двойного минуса ("--") до конца строки;
от символа "#" до конца строки;
между последовательностями "/*" и "*/" (стиль комментариев языка СИ).
№16 слайд
![Типы данных языка SQL Типы](/documents_6/0c1df5c5a87cdedd50787c4864098520/img15.jpg)
Содержание слайда: Типы данных языка SQL
Типы данных языка SQL
Типы данных, используемые в языке SQL для хранения информации в столбцах таблиц БД, весьма разнообразны. Но производители конкретных реляционных СУБД "улучшают" множество типов данных, регламентируемых стандартом, реализуя свои собственные версии и расширения.
Следующие типы данных являются стандартными.
INT[(len)] - целое число длиной 4 байта, представляемое при выводе максимально len цифрами;
SMALLINT[(len)] - целое число длиной 2 байта, представляемое при выводе максимально len цифрами;
FLOAT[(len,dec)] - действительное число, представляемое при выводе максимально len символами с dec цифрами после десятичной точки;
CHAR(size) - строка символов фиксированной длины размером size символов;
№17 слайд
![Типы данных языка SQL Типы](/documents_6/0c1df5c5a87cdedd50787c4864098520/img16.jpg)
Содержание слайда: Типы данных языка SQL
Типы данных языка SQL
VARCHAR(size) - строка символов переменной длины максимальным размером до size символов;
BLOB (Binary Large OBject) - массив произвольных (двоичных) байтов (максимальный размер зависит от реализации, обычно это 65535 байт); этот тип данных может использоваться, например, для хранения изображений;
DATE - астрономическая дата;
TIME - астрономическое время.
Символьные константы (типа CHAR и VARCHAR) записываются как последовательности символов, заключенные в одиночные апострофы.
№18 слайд
![TINYINT length UNSIGNED](/documents_6/0c1df5c5a87cdedd50787c4864098520/img17.jpg)
Содержание слайда: TINYINT[(length)] [UNSIGNED] [ZEROFILL]
TINYINT[(length)] [UNSIGNED] [ZEROFILL]
SMALLINT[(length)] [UNSIGNED] [ZEROFILL]
MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL]
INT[(length)] [UNSIGNED] [ZEROFILL]
INTEGER[(length)] [UNSIGNED] [ZEROFILL]
BIGINT[(length)] [UNSIGNED] [ZEROFILL]
REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]
DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]
FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]
DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL]
NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL]
CHAR(length) [BINARY]
VARCHAR(length) [BINARY]
DATE
TIME
TIMESTAMP
DATETIME
TINYBLOB
BLOB
MEDIUMBLOB
LONGBLOB
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
ENUM(value1,value2,value3,...)
SET(value1,value2,value3,...)
№19 слайд
![Десятичные константы типа](/documents_6/0c1df5c5a87cdedd50787c4864098520/img18.jpg)
Содержание слайда: Десятичные константы (типа FLOAT) могут записываться в "научной" нотации как последовательности следующих компонент:
Десятичные константы (типа FLOAT) могут записываться в "научной" нотации как последовательности следующих компонент:
знак числа;
десятичное число с точкой;
символ "е";
знак ("+" или "-") показателя степени;
целое число, играющее роль показателя степени числа 10.
Например, десятичное число -0,123 может быть записано как -12.3е-2.
Отличие типов данных CHAR и VARCHAR: для хранения в таблице строк символов типа CHAR используется точно size байт (хотя содержимое может быть значительно короче), а для строк типа VARCHAR незанятые символами строк ("пустые") байты в таблице не хранятся.
Величины len и dec (в отличие от size) не влияют на размер хранения данных в таблице, а только форматируют вывод данных из таблицы.
№20 слайд
![Тип данных BLOB](/documents_6/0c1df5c5a87cdedd50787c4864098520/img19.jpg)
Содержание слайда: Тип данных BLOB поддерживается непосредственно не всеми СУБД, однако каждая из них предлагает его аналог (например, BINARY или IMAGE).
Тип данных BLOB поддерживается непосредственно не всеми СУБД, однако каждая из них предлагает его аналог (например, BINARY или IMAGE).
Рекомендация. Разрабатывая мобильное приложение (рассчитанное на работу в среде различных СУБД), старайтесь без необходимости избегать использования необязательных возможностей в описании типов данных.
№21 слайд
![Язык SQL оперирует терминами,](/documents_6/0c1df5c5a87cdedd50787c4864098520/img20.jpg)
Содержание слайда: Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "колонки" или "столбцы".
Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории, например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "колонки" или "столбцы".
Стандарт языка SQL, хотя и основан на реляционной теории, но во многих местах отходит он нее. Например, отношение в реляционной модели данных не допускает наличия одинаковых кортежей, а таблицы в терминологии SQL могут иметь одинаковые строки. Имеются и другие отличия.
Язык SQL является реляционно полным. Это означает, что любой оператор реляционной алгебры может быть выражен подходящим оператором SQL.
Хотя SQL и задумывался как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.
№22 слайд
![В язык SQL в качестве](/documents_6/0c1df5c5a87cdedd50787c4864098520/img21.jpg)
Содержание слайда: В язык SQL в качестве составных частей входят:
В язык SQL в качестве составных частей входят:
Язык манипулирования данными (Data Manipulation Language, DML)
Язык определения данных (Data Definition Language, DDL)
Язык управления данными (Data Control Language, DCL)
Язык управления транзакциями (Transaction Control Language, TCL)
№23 слайд
![Операторы определения данных](/documents_6/0c1df5c5a87cdedd50787c4864098520/img22.jpg)
Содержание слайда: Операторы определения данных (Data Definition Language, DDL):
Операторы определения данных (Data Definition Language, DDL):
CREATE создать объект БД (саму базу DATABASE , таблицу TABLE, представление VIEW , индекс INDEX, триггер TRIGGER, процедуру PROCEDURE и т. д.);
ALTER изменить объект;
DROP удалить объект;
операторы манипулирования данными (Data Manipulation Language, DML):
SELECT выбрать данные, удовлетворяющие заданным условиям;
INSERT вставить (добавить) новые данные;
UPDATE изменить существующие данные;
DELETE удалить данные;
№24 слайд
![операторы определения доступа](/documents_6/0c1df5c5a87cdedd50787c4864098520/img23.jpg)
Содержание слайда: операторы определения доступа к данным (Data Control Language, DCL):
операторы определения доступа к данным (Data Control Language, DCL):
GRANT предоставить пользователю (группе) права на определенные операции с объектом;
REVOKE забрать ранее выданные права;
DENY задать запрет, имеющий приоритет над разрешением;
операторы управления транзакциями (Transaction Control Language, TCL):
COMMIT применяет транзакцию;
ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции;
SAVEPOINT делит транзакцию на более мелкие участки.
№25 слайд
![С точки зрения прикладного](/documents_6/0c1df5c5a87cdedd50787c4864098520/img24.jpg)
Содержание слайда: С точки зрения прикладного интерфейса существуют две формы SQL:
С точки зрения прикладного интерфейса существуют две формы SQL:
Интерактивный SQL
Встроенный или вложенный SQL.
Интерактивный SQL используется для непосредственного (оперативного) выполнения запросов пользователя к базе данных. При завершении ввода команды в этой форме SQL она поступает на выполнение, и вы сможете увидеть результат немедленно (если он вообще получится).
Встроенный SQL состоит из команд SQL, помещённых внутри программ, которые обычно написаны на другом языке (типа Си или Паскаля). Это делает эти программы более мощными и эффективными.
№26 слайд
![Динамический SQL Динамический](/documents_6/0c1df5c5a87cdedd50787c4864098520/img25.jpg)
Содержание слайда: Динамический SQL
Динамический SQL
Для упрощения создания интерактивных SQL-ориентированных систем во встроенный SQL были включены операторы, позволяющие во время выполнения транзакции откомпилировать и выполнить любой оператор SQL.
Оператор PREPARE вызывает динамическую компиляцию оператора SQL, текст которого содержится в указанной переменной символьной строке включающей программы. Текст может быть помещен в переменную при выполнении программы любым допустимым способом, например, введен с терминала.
Оператор DESCRIBE служит для получения информации об указанном операторе SQL, ранее подготовленном с помощью оператора PREPARE.
Для выполнения ранее подготовленного оператора SQL, не являющегося оператором выборки, служит оператор EXECUTE и т.д.
№27 слайд
![Операторы DDL Операторы DDL .](/documents_6/0c1df5c5a87cdedd50787c4864098520/img26.jpg)
Содержание слайда: Операторы DDL
Операторы DDL
1. Создание базы данных
CREATE DATABASE [IF NOT EXISTS] db_name;
2. Создание таблицы
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_statement]
tbl_name - имя таблицы,
TEMPORARY - параметр используется для создания временной таблицы,
create_definition - определяет внутреннюю структуру создаваемой таблицы (названия и типы полей, ключи, индексы и т.д.):
col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [PRIMARY KEY] [reference_definition],
PRIMARY KEY (index_col_name,...),
KEY [index_name] (index_col_name,...),
INDEX [index_name] (index_col_name,...),
UNIQUE [INDEX] [index_name] (index_col_name,...),
[CONSTRAINT symbol] FOREIGN KEY [index_name] (index_col_name,...) [reference_definition],
CHECK (expr).
№28 слайд
![CREATE TABLE имя табл CREATE](/documents_6/0c1df5c5a87cdedd50787c4864098520/img27.jpg)
Содержание слайда: CREATE TABLE имя_табл (
CREATE TABLE имя_табл (
имя_столбца тип_данных [NOT NULL ] [DEFAULT по_умолч] [PRIMARY KEY],
…
PRIMARY KEY имя_ключа (имя_столбца, ...),
KEY имя_ключа (имя_столбца, ...),
[CONSTRAINT имя_ограничения] FOREIGN KEY (имя_поля,…) REFERENCES имя_родительской_табл (имя_поля,…)
[ON DELETE CASCADE],
CHECK (имя_поля IN (знач,…) | имя_поля > знач |…)
);
№29 слайд
![Пример Пример CREATE TABLE P](/documents_6/0c1df5c5a87cdedd50787c4864098520/img28.jpg)
Содержание слайда: Пример
Пример
1) CREATE TABLE P(PNUM INT PRIMARY KEY,
PNAME VARCHAR(15) NOT NULL,
PSTATUS SMALLINT(3) NOT NULL);
2) CREATE TABLE D(DNUM INT PRIMARY KEY,
DNAME VARCHAR(15) NOT NULL,
DSTATUS SMALLINT(3) NOT NULL);
3) CREATE TABLE PD(PNUM INT NOT NULL,
DNUM INT NOT NULL,
VOLUME INT NOT NULL,
PRIMARY KEY PNUM_DNUM(PNUM, DNUM),
FOREIGN KEY (PNUM) REFERENCES P (PNUM),
FOREIGN KEY (DNUM) REFERENCES D (DNUM)
);
№30 слайд
![. Удаление таблицы . Удаление](/documents_6/0c1df5c5a87cdedd50787c4864098520/img29.jpg)
Содержание слайда: 3. Удаление таблицы
3. Удаление таблицы
DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...];
4. Изменение таблицы
ALTER TABLE tbl_name alter_specification [, alter_specification ...];
alter_specification:
ADD [COLUMN] (create_definition, create_definition,...)
ADD INDEX [index_name] (index_col_name,...)
ADD UNIQUE [index_name] (index_col_name,...)
CHANGE [COLUMN] old_col_name create_definition [FIRST | AFTER column_name]
DROP [COLUMN] col_name
DROP INDEX index_name
RENAME [TO] new_tbl_name
…
№33 слайд
![Примеры Примеры Вставка одной](/documents_6/0c1df5c5a87cdedd50787c4864098520/img32.jpg)
Содержание слайда: Примеры
Примеры
1) Вставка одной строки в таблицу
INSERT INTO P (PNUM, PNAME, PSTATUS)
VALUES (4, ‘Иванов’,3);
2) В таблицу TMP_TABLE вставляются данные о поставщиках из таблицы P, имеющих номера, большие 2
INSERT INTO TMP_TABLE (PNUM, PNAME)
SELECT PNUM, PNAME
FROM P
WHERE P.PNUM>2;
№34 слайд
![. Удаление строк из таблицы .](/documents_6/0c1df5c5a87cdedd50787c4864098520/img33.jpg)
Содержание слайда: 2. Удаление строк из таблицы
2. Удаление строк из таблицы
DELETE FROM table_name [WHERE where_definition]
[ORDER BY ...] [LIMIT rows]
LIMIT - задает максимальное количество строк (с начала таблицы), которые могут быть удалены за текущий запрос;
ORDER BY - задает имя поля, или имена полей через запятую, по которым происходит сортировка удаляемых записей.
Эта возможность актуальна при необходимости удалить только определенное количество записей, отсортированных по какому-либо свойству.
№36 слайд
![. Обновление записи в таблице](/documents_6/0c1df5c5a87cdedd50787c4864098520/img35.jpg)
Содержание слайда: 3. Обновление записи в таблице
3. Обновление записи в таблице
UPDATE tbl_name
SET col_name1=expr1 [, col_name2=expr2, ...]
[WHERE where_definition]
[LIMIT rows];
SET - после этого ключевого слова должен идти список полей таблицы, которые будут обновлены и непосредственно сами новые значения полей в виде: имя_поля='значение‘;
WHERE - задает условие отбора записей, подлежащих изменению;
LIMIT - задает максимальное количество строк, которые могут быть изменены.
№38 слайд
![. Поиск выборка записей .](/documents_6/0c1df5c5a87cdedd50787c4864098520/img37.jpg)
Содержание слайда: 4. Поиск (выборка) записей
4. Поиск (выборка) записей
SELECT [DISTINCT | ALL]
expression,...
[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[LIMIT [offset,] rows]
№39 слайд
![SELECT ALL DISTINCT в](/documents_6/0c1df5c5a87cdedd50787c4864098520/img38.jpg)
Содержание слайда: SELECT [ALL | DISTINCT] в_выражение, ...
SELECT [ALL | DISTINCT] в_выражение, ...
FROM имя_табл [син_табл], ...
[WHERE сложн_условие]
[GROUP BY полн_имя_столбца|ном_столбца, ...]
[HAVING сложн_условие]
[ORDER BY полн_имя_столбца|ном_столбца [ASC|DESC], ...] ;
Результатом работы оператора является выводимая на стандартный вывод вновь построенная таблица, для которой
количество и смысл столбцов определяется списком элементов в_выражение;
содержимое строк определяется содержимым исходных таблиц из списка FROM и критерием выборки, задаваемым сложн_условие.
№40 слайд
![син табл - необязательный](/documents_6/0c1df5c5a87cdedd50787c4864098520/img39.jpg)
Содержание слайда: син_табл - необязательный синоним имени таблицы, используемый для сокращения длины записи выражений и условий в операторе SELECT.
син_табл - необязательный синоним имени таблицы, используемый для сокращения длины записи выражений и условий в операторе SELECT.
полн_имя_столбца - полное имя столбца в виде
[имя_табл|син_табл.]имя_столбца
Конкретизирующий таблицу префикс в имени столбца необходим только для различения столбцов, имеющих одинаковое имя в разных таблицах из списка FROM.
ном_столбца - номер столбца результирующей таблицы.
Замечание. Подчеркнутый вариант ALL, ASC используется по умолчанию.
№41 слайд
![I. Отбор данных из одной](/documents_6/0c1df5c5a87cdedd50787c4864098520/img40.jpg)
Содержание слайда: I. Отбор данных из одной таблицы
I. Отбор данных из одной таблицы
1) Выбрать все данные из таблицы поставщиков
SELECT *
FROM P;
Замечание. Дубликаты строк автоматически не отбрасываются.
2) Выбрать все строки из таблицы поставщиков, удовлетворяющие некоторому условию
SELECT *
FROM P
WHERE P.PNUM > 2;
Замечание. В разделе WHERE можно использовать сложные логические выражения, использующие поля таблиц, константы, операции сравнения (>, <, = и т.д.), скобки, знаки логических операций AND, OR и NOT.
№42 слайд
![В разделе WHERE можно](/documents_6/0c1df5c5a87cdedd50787c4864098520/img41.jpg)
Содержание слайда: В разделе WHERE можно использовать предикаты сравнения, in, between, null, like и т.д.
В разделе WHERE можно использовать предикаты сравнения, in, between, null, like и т.д.
Примеры условий отбора строк
1) (PD.PNUM, PD.DNUM) = (1, 25) эквивалентно
PD.PNUM = 1 AND PD.DNUM = 25
2) P.PNUM IN (1, 2, 3, 5)
3) P.PNUM [NOT] BETWEEN 1 AND 5
4) P.STATUS IS [NOT] NULL
5) P.PNAME [NOT] LIKE ‘%ov_’ [ESCAPE ‘c’]
Замечание. Предикат LIKE производит сравнение строки со строкой-шаблоном (“маской”). В строке-шаблоне разрешается использовать два трафаретных символа:
Символ подчеркивания "_" может использоваться вместо любого единичного символа в строке.
Символ процента "%" может заменять набор любых символов в строке (число символов в наборе может быть от 0 и более).
№43 слайд
![Пусть требуется найти строку,](/documents_6/0c1df5c5a87cdedd50787c4864098520/img42.jpg)
Содержание слайда: Пусть требуется найти строку, которая содержит ("%", "_") в качестве информационных символов. Для этого с помощью ключевого слова ESCAPE нужно определить так называемый escape-символ, который, будучи поставленным перед символом "%" или "_", укажет, что этот символ является информационным.
Пусть требуется найти строку, которая содержит ("%", "_") в качестве информационных символов. Для этого с помощью ключевого слова ESCAPE нужно определить так называемый escape-символ, который, будучи поставленным перед символом "%" или "_", укажет, что этот символ является информационным.
Escape-символ не может быть символом "\" (обратная косая черта) и, вообще говоря, должен представлять собой символ, никогда не появляющийся в упоминаемом столбце как информационный символ.
Часто для этих целей используются символы "@" и "~".
Пример. Получить список поставщиков, в имени которых содержится "_" (знак подчеркивания).
SELECT pname
FROM Р
WHERE pname LIKE ‘%@_%’ ESCAPE ‘@’;
№44 слайд
![Выбрать некоторые колонки из](/documents_6/0c1df5c5a87cdedd50787c4864098520/img43.jpg)
Содержание слайда: 3)Выбрать некоторые колонки из исходной таблицы, удалив из результата повторяющиеся строки (ключевое слово DISTINCT):
3)Выбрать некоторые колонки из исходной таблицы, удалив из результата повторяющиеся строки (ключевое слово DISTINCT):
SELECT DISTINCT P.NAME
FROM P;
4) Использование вычисляемых полей, скалярных выражений и переименований колонок в запросах (ключевое слово AS…):
SELECT
TOVAR.TNAME,
TOVAR.KOL,
TOVAR.PRICE,
"=" AS EQU,
TOVAR.KOL*TOVAR.PRICE AS SUMMA
FROM TOVAR;
№45 слайд
![Упорядочение результатов](/documents_6/0c1df5c5a87cdedd50787c4864098520/img44.jpg)
Содержание слайда: 5) Упорядочение результатов запроса (ключевое слово ORDER BY…):
5) Упорядочение результатов запроса (ключевое слово ORDER BY…):
SELECT PD.PNUM, PD.DNUM, PD.VOLUME
FROM PD
ORDER BY DNUM;
6) Упорядочение результатов запроса по нескольким полям с возрастанием или убыванием (ключевые слова ASC, DESC):
SELECT PD.PNUM,
PD.DNUM,
PD.VOLUME
FROM PD
ORDER BY
DNUM ASC,
VOLUME DESC;
№46 слайд
![Использование LIMIT start,](/documents_6/0c1df5c5a87cdedd50787c4864098520/img45.jpg)
Содержание слайда: 7) Использование LIMIT [start,] length
7) Использование LIMIT [start,] length
start - указывает, с какой позиции нужно выдавать найденные записи,
length - количество записей.
Замечания
1. Если требуется выводить записи с начала таблицы, первый параметр можно опустить.
2. Записи нумеруются с нуля.
Пример. 1. Вывести из таблицы Поставщики 20 записей, начиная с 5-ой.
SELECT * FROM P LIMIT 5, 20;
2. Вывести из таблицы Поставщики 5 последних записей.
SELECT * FROM P ORDER BY PNUM DESC LIMIT 0, 5;
или
SELECT * FROM P ORDER BY PNUM DESC LIMIT 5;
Скачать все slide презентации Язык SQL. (Лекция 1) одним архивом:
Похожие презентации
-
Язык SQL. (Лекция 2)
-
Язык запросов SQL. Лекция 10
-
PL/SQL. Процедурное расширение языка SQL. (Лекция 7)
-
Язык SQL. DML. (Лекция 12)
-
Язык SQL. SET операторы. (Лекция 11)
-
Язык SQL. Подзапросы. (Лекция 10)
-
Язык SQL. Соединение таблиц. (Лекция 9)
-
Язык SQL. (Лекция 8)
-
История и стандарты языка SQL. (Лекция 7)
-
Oracle 12с. Характеристика языка PL/SQL (PL/SQL, лекция 9)