SlideShare a Scribd company logo
1. Оператор CREATE TABLE
Оператор CREATE TABLE создает новую таблицу в базе данных.
Имя таблицы должно быть уникальным среди имен таблиц базы данных, хранимых
процедур и представлений, описанных в этой базе данных.
Таблица может содержать, по меньшей мере, один столбец и произвольное количество
ограничений таблицы. Таблица может не храниться в базе данных, все ее строки могут
помещаться в отдельный текстовый файл, находящийся вне базы данных, заданный
предложением EXTERNAL FILE в операторе создания таблицы. В таблицах, которые
хранятся во внешних файлах, могут быть описаны любые типы данных, кроме BLOB.
Недопустимо также использование массивов с любым типом данных. По отношению к
таблицам, хранящимся во внешних файлах, допустимы только операции добавления
новых строк (INSERT) и выборки (SELECT) данных. Операции же изменения
существующих данных (UPDATE) или удаления строк такой таблицы (DELETE)не могут
быть выполнены
2. Операторы DROP
Одним из самых полезных операторов определения данных SQL является оператор DROP
TABLE. Но он одновременно является и одним из самых опасных, поскольку удаляет
таблицу из базы данных вместе со всеми содержащимися в пей данными. Если
необходимо удалить из базы данных таблицу CUSTOMER и все содержащиеся в ней
данные, то можно использовать следующий оператор:
DROP TABLE CUSTOMER
Оператор DROP TABLE не выполняется, если таблица содержит или может содержать
значения, необходимые для соблюдения ограничений ссылочной целостности. Например,
столбец ArtistID таблицы ARTIST может содержать значения, необходимые для
соблюдения ограничения внешнего ключа Customer_Artist_Int_ArtistFK.
3. Оператор изменения таблицы alter table
Оператор ALTER TABLE позволяет изменять структуру существующей таблицы.
Например, вы можете добавлять или удалять колонки, изменять тип существующих
колонок, переименовывать колонки, или саму таблицу. Также можно изменить
комментарий к таблице и тип таблицы.
Синтаксис оператора ALTER TABLE во многих случаях подобен синтаксису CREATE
TABLE.
4. операторы обработки данных select insert update
SELECT применяется для извлечения строк, выбранных из одной или нескольких таблиц.
Выражение select_expression задает столбцы, в которых необходимо проводить выборку.
Кроме того, оператор SELECT можно использовать для извлечения строк, вычисленных
без ссылки на какую-либо таблицу. Например:
mysql> SELECT 1 + 1;
-> 2
Оператор INSERT вставляет новые строки в существующую таблицу. Форма данной
команды INSERT ... VALUES вставляет строки в соответствии с точно указанными в
команде значениями. Форма INSERT ... SELECT вставляет строки, выбранные из другой
таблицы или таблиц. Форма INSERT ... VALUES со списком из нескольких значений
поддерживается в версии MySQL 3.22.5 и более поздних.
Оператор UPDATE обновляет столбцы в соответствии с их новыми значениями в строках
существующей таблицы. В выражении SETуказывается, какие именно столбцы следует
модифицировать и какие величины должны быть в них установлены. В
выражении WHERE, если оно присутствует, задается, какие строки подлежат
обновлению. В остальных случаях обновляются все строки. Если задано выражение
ORDER BY, то строки будут обновляться в указанном в нем порядке.
5. операторы обработки данных delete replace load file
Оператор DELETE удаляет из таблицы table_name строки, удовлетворяющие заданным
в where_definition условиям, и возвращает число удаленных записей.
Если оператор DELETE запускается без определения WHERE, то удаляются все строки.
Если действительно необходимо знать число удаленных записей при удалении всех строк,
и если допустимы потери в скорости, то можно использовать команду DELETE в
следующей форме: mysql> DELETE FROM table_name WHERE 1>0;
Оператор REPLACE работает точно так же, как INSERT, за исключением того, что если
старая запись в данной таблице имеет то же значение индекса UNIQUE или PRIMARY
KEY, что и новая, то старая запись перед занесением новой будет удалена. Другими
словами, команда REPLACE не предоставляет доступа к замещаемой записи. В некоторых
старых версиях MySQL такой доступ иногда оказывался возможным, но это был дефект,
который уже исправлен.
Команда LOAD DATA INFILE читает строки из текстового файла и вставляет их в
таблицу с очень высокой скоростью. Если задано ключевое слово LOCAL, то файл
читается с клиентского хоста. Если же LOCAL не указывается, то файл должен
находиться на сервере. (Опция LOCAL доступна в версии MySQL 3.22.6 и более поздних.)
Если текстовые файлы, которые нужно прочитать, находятся на сервере, то из
соображений безопасности эти файлы должны либо размещаться в директории базы
данных, либо быть доступными для чтения всем пользователям.
6. Операторы управления транзакциями
Поддержание механизма транзакций — показатель уровня развитости СУБД. Корректное
поддержание транзакций одновременно является основой обеспечения целостности баз
данных (и поэтому транзакции вполне уместны и в однопользовательских персональных
СУБД), а также составляют базис изолированности пользователей во
многопользовательских системах.
Под транзакцией понимается неделимая с точки зрения воздействия на БД
последовательность операторов манипулирования данными (чтения, удаления, вставки,
модификации) такая, что либо результаты всех операторов, входящих в транзакцию,
отображаются в БД, либо воздействие всех этих операторов полностью отсутствует.
9. Роли
Для удобства управления разрешениями в базах данных SQL Server предоставляет
несколько ролей, которые являются субъектами безопасности, группирующими других
участников. В SQL Server существует два типа ролей уровня базы
данных: предопределенные роли базы данных, стандартные для базы данных, и гибкие
роли базы данных, которые может создать пользователь.
Предопределенные роли базы данных задаются на уровне базы данных и предусмотрены в
каждой базе данных. Члены ролей базы данных db_owner иdb_securityadmin могут
управлять членством в предопределенных ролях базы данных. Но только члены роли базы
данных db_owner могут добавлять членов в предопределенную роль базы
данных db_owner. Кроме того, в базе данных msdb имеются специальные
предопределенные роли базы данных.
Каждый член предопределенной роли базы данных может добавлять другие имена входа к
той же роли.
10. Представления
SQL-представление — это виртуальная таблица, составленная из других таблиц или
представлений. Представление не имеет своих собственных данных, а объединяет данные
из таблиц или пердставлений, которые в него входят. Представления создаются с
помощью операторов SELECT. Согласно стандарту SQL-92 представления не могут
включать в себя конструкцию ORDER BY, но Oracle такой вариант допускает.
Представление (VIEW) - объект данных который не содержит никаких данных его
владельца. Это - тип таблицы, чье содержание выбирается из других таблиц с помощью
выполнения запроса. Поскольку значения в этих таблицах меняются, то авто- матически,
их значения могут быть показаны представлением.
11. хранимые процедуры Sql
Как правило, мы в работе с БД используем одни и те же запросы, либо набор
последовательных запросов. Хранимые процедуры позволяют объединить
последовательность запросов и сохранить их на сервере. Это очень удобный инструмент,
и сейчас вы в этом убедитесь. Начнем с синтаксиса:
CREATE PROCEDURE имя_процедуры (параметры)
begin
операторы
end
для чего их использовать? На это существует множество причин, ниже приведены лишь
основные.
• Для упрощения сложных операций за счет инкапсуляции процессов в один блок,
простой для выполнения.
• Для обеспечения непротиворечивости данных и вместе с тем без необходимости
снова и снова воспроизводить одну и ту же последовательность шагов
• Побочным эффектом этого является предотвращение ошибок.
• Для упрощения управления изменениями.
• Поскольку хранимые процедуры обычно сохраняютсяв компилированном виде,
СУБД тратит меньше времени на обработку их команд. Это приводит к повышению
производительности.
12. Триггер
- это SQL процедура, которая срабатывает при каком-нибудь событии (INSERT, DELETE
или UPDATE). Триггеры хранятся и управляются СУБД. Триггеры используются для
поддержания ссылочной целостности данных в одинаковый манер реагируя на события
изменения этих данных. Триггер не может быть вызван или выполнен вручную, СУБД
автоматически вызывает его после модификации данных в соответствующей таблице. В
этом и есть его отличие от хранимых процедур, которые нужно выполнять вручную
вызовом CALL. Также триггер может вызывать другие процедуры.Триггер также может
содержать вызовы INSERT, DELETE и UPDATE внутри себя, таким образом вызывая
другой триггер. Такие триггеры называются вложенными (nested).
13. Управление транзакциями
Управление транзакциями в SQL Server — важный шаг на пути к обеспечению
бесперебойной работы и способ избежать ошибок, связанных с блокировками.
Транзакции позволяют управлять набором команд, которые выполняются в базе данных,
как единым целым. Использование транзакции предоставляют разработчику следующие
преимущества:
1. Если две команды работают внутри одной транзакции – то будут выполнены обе
команды, либо ни одной;
2. Если какая-либо команда внутри транзакции завершится с ошибкой – все команды
транзакции будут отмены и данные вернутся в то состояние, в каком они были до начала
транзакции;
3. Во время выполнения транзакции данные могут оставаться изолированными и
недоступными для других транзакций;
4. После успешного выполнения команды фиксации транзакции данные
гарантированно сохранятся в базе.

More Related Content

What's hot

Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
Unguryan Vitaliy
 
Работа с БД в Java
Работа с БД в JavaРабота с БД в Java
Работа с БД в Java
metaform
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
Technopark
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
Technopark
 
работа с потоками ввода вывода
работа с потоками ввода выводаработа с потоками ввода вывода
работа с потоками ввода выводаmetaform
 
0041
00410041
0041JIuc
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernate
Unguryan Vitaliy
 
лабораторная работа 2
лабораторная работа 2лабораторная работа 2
лабораторная работа 2student_kai
 
Lec 13
Lec 13Lec 13
Сетевое взаимодействие
Сетевое взаимодействиеСетевое взаимодействие
Сетевое взаимодействие
Unguryan Vitaliy
 
Aleksey Mashanov Rit
Aleksey  Mashanov RitAleksey  Mashanov Rit
Aleksey Mashanov Ritrit2010
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Javametaform
 
0044
00440044
0044JIuc
 
JSP
JSPJSP
Инсталляционные профили, создание сборок
Инсталляционные профили, создание сборокИнсталляционные профили, создание сборок
Инсталляционные профили, создание сборок
Andrii Podanenko
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Javametaform
 
Ado.net module 6 entity framework
Ado.net module 6 entity frameworkAdo.net module 6 entity framework
Ado.net module 6 entity framework
Andrii Hladkyi
 
Java осень 2012 лекция 9
Java осень 2012 лекция 9Java осень 2012 лекция 9
Java осень 2012 лекция 9Technopark
 

What's hot (19)

Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
 
Работа с БД в Java
Работа с БД в JavaРабота с БД в Java
Работа с БД в Java
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
 
работа с потоками ввода вывода
работа с потоками ввода выводаработа с потоками ввода вывода
работа с потоками ввода вывода
 
лек13 5
лек13 5лек13 5
лек13 5
 
0041
00410041
0041
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernate
 
лабораторная работа 2
лабораторная работа 2лабораторная работа 2
лабораторная работа 2
 
Lec 13
Lec 13Lec 13
Lec 13
 
Сетевое взаимодействие
Сетевое взаимодействиеСетевое взаимодействие
Сетевое взаимодействие
 
Aleksey Mashanov Rit
Aleksey  Mashanov RitAleksey  Mashanov Rit
Aleksey Mashanov Rit
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
 
0044
00440044
0044
 
JSP
JSPJSP
JSP
 
Инсталляционные профили, создание сборок
Инсталляционные профили, создание сборокИнсталляционные профили, создание сборок
Инсталляционные профили, создание сборок
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
 
Ado.net module 6 entity framework
Ado.net module 6 entity frameworkAdo.net module 6 entity framework
Ado.net module 6 entity framework
 
Java осень 2012 лекция 9
Java осень 2012 лекция 9Java осень 2012 лекция 9
Java осень 2012 лекция 9
 

Viewers also liked

Presentación Educación Bni connect - Cómo completar el perfil
Presentación Educación Bni connect - Cómo completar el perfilPresentación Educación Bni connect - Cómo completar el perfil
Presentación Educación Bni connect - Cómo completar el perfil
Roberto Navarro
 
Note4
Note4Note4
Scientix 10th SPWatFCL Brussels 26-28 February 2016: Sure, I’m interested in ...
Scientix 10th SPWatFCL Brussels 26-28 February 2016: Sure, I’m interested in ...Scientix 10th SPWatFCL Brussels 26-28 February 2016: Sure, I’m interested in ...
Scientix 10th SPWatFCL Brussels 26-28 February 2016: Sure, I’m interested in ...
Brussels, Belgium
 
Piano e Obiettivi Rotary Club Pompei Oplonti Vesuvio Est
  Piano e Obiettivi Rotary Club Pompei Oplonti Vesuvio Est  Piano e Obiettivi Rotary Club Pompei Oplonti Vesuvio Est
Piano e Obiettivi Rotary Club Pompei Oplonti Vesuvio Est
Raimondo Villano
 
Employee Financial Stress
Employee Financial StressEmployee Financial Stress
Employee Financial Stress
heatherdavisrichards
 
Explotación infantil
Explotación infantilExplotación infantil
Explotación infantil
kamizusa
 
Deportes juveniles
Deportes juvenilesDeportes juveniles
Deportes juveniles
jefferbrayan
 
aparato respiratorio
aparato respiratorioaparato respiratorio
aparato respiratorio
angelavillac99
 
Destinatario sconosciuto
Destinatario sconosciutoDestinatario sconosciuto
Destinatario sconosciuto
ariannina23
 
Talento humano
Talento humanoTalento humano
Talento humano
Campoalto
 
Corticoesteroides III: Orales y parenterales
Corticoesteroides III: Orales y parenteralesCorticoesteroides III: Orales y parenterales
Corticoesteroides III: Orales y parenterales
Juan Carlos Ivancevich
 

Viewers also liked (14)

MAJID-CV
MAJID-CVMAJID-CV
MAJID-CV
 
Presentación Educación Bni connect - Cómo completar el perfil
Presentación Educación Bni connect - Cómo completar el perfilPresentación Educación Bni connect - Cómo completar el perfil
Presentación Educación Bni connect - Cómo completar el perfil
 
Note4
Note4Note4
Note4
 
Steezy Lookbook
Steezy LookbookSteezy Lookbook
Steezy Lookbook
 
Scientix 10th SPWatFCL Brussels 26-28 February 2016: Sure, I’m interested in ...
Scientix 10th SPWatFCL Brussels 26-28 February 2016: Sure, I’m interested in ...Scientix 10th SPWatFCL Brussels 26-28 February 2016: Sure, I’m interested in ...
Scientix 10th SPWatFCL Brussels 26-28 February 2016: Sure, I’m interested in ...
 
Piano e Obiettivi Rotary Club Pompei Oplonti Vesuvio Est
  Piano e Obiettivi Rotary Club Pompei Oplonti Vesuvio Est  Piano e Obiettivi Rotary Club Pompei Oplonti Vesuvio Est
Piano e Obiettivi Rotary Club Pompei Oplonti Vesuvio Est
 
Employee Financial Stress
Employee Financial StressEmployee Financial Stress
Employee Financial Stress
 
Explotación infantil
Explotación infantilExplotación infantil
Explotación infantil
 
Deportes juveniles
Deportes juvenilesDeportes juveniles
Deportes juveniles
 
aparato respiratorio
aparato respiratorioaparato respiratorio
aparato respiratorio
 
Destinatario sconosciuto
Destinatario sconosciutoDestinatario sconosciuto
Destinatario sconosciuto
 
Talento humano
Talento humanoTalento humano
Talento humano
 
Corticoesteroides III: Orales y parenterales
Corticoesteroides III: Orales y parenteralesCorticoesteroides III: Orales y parenterales
Corticoesteroides III: Orales y parenterales
 
Staphylococcus
StaphylococcusStaphylococcus
Staphylococcus
 

Similar to бд шпора2

0039
00390039
0039JIuc
 
14 - Базы данных. Основные объекты базы данных и язык SQL
14 - Базы данных. Основные объекты базы данных и язык SQL14 - Базы данных. Основные объекты базы данных и язык SQL
14 - Базы данных. Основные объекты базы данных и язык SQL
Roman Brovko
 
0040
00400040
0040JIuc
 
0042
00420042
0042JIuc
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
Technopark
 
базы данных в Delphi
базы данных в Delphiбазы данных в Delphi
базы данных в DelphiAeka227
 
Базы данных лекция №7
Базы данных лекция №7Базы данных лекция №7
Базы данных лекция №7
Vitaliy Pak
 
Troubleshooting my sql_performance_addons
Troubleshooting my sql_performance_addonsTroubleshooting my sql_performance_addons
Troubleshooting my sql_performance_addons
Sveta Smirnova
 
СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9Technopark
 
DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.
DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.
DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.
mikhaelsmirnov
 
работа с базами данных с использованием субд My sql
работа с базами данных с использованием субд My sqlработа с базами данных с использованием субд My sql
работа с базами данных с использованием субд My sqlSai_17
 
СУБД осень 2012 лекция 8
СУБД осень 2012 лекция 8СУБД осень 2012 лекция 8
СУБД осень 2012 лекция 8Technopark
 
0038
00380038
0038JIuc
 
Query perfomance tuning
Query perfomance tuningQuery perfomance tuning
Query perfomance tuningcollabock
 
Управление данными (sql)
Управление данными (sql)Управление данными (sql)
Оптимизации скорости выполнения запросов
Оптимизации скорости выполнения запросовОптимизации скорости выполнения запросов
Оптимизации скорости выполнения запросовAlex.Kolonitsky
 
005
005005
005JIuc
 

Similar to бд шпора2 (20)

My sql 0
My sql 0My sql 0
My sql 0
 
0039
00390039
0039
 
14 - Базы данных. Основные объекты базы данных и язык SQL
14 - Базы данных. Основные объекты базы данных и язык SQL14 - Базы данных. Основные объекты базы данных и язык SQL
14 - Базы данных. Основные объекты базы данных и язык SQL
 
0040
00400040
0040
 
0042
00420042
0042
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
 
базы данных в Delphi
базы данных в Delphiбазы данных в Delphi
базы данных в Delphi
 
лабраб 7
лабраб 7лабраб 7
лабраб 7
 
Базы данных лекция №7
Базы данных лекция №7Базы данных лекция №7
Базы данных лекция №7
 
Troubleshooting my sql_performance_addons
Troubleshooting my sql_performance_addonsTroubleshooting my sql_performance_addons
Troubleshooting my sql_performance_addons
 
СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9
 
DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.
DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.
DBD lection 3. Outer and inner joins, nested queries, user views. In Russian.
 
работа с базами данных с использованием субд My sql
работа с базами данных с использованием субд My sqlработа с базами данных с использованием субд My sql
работа с базами данных с использованием субд My sql
 
СУБД осень 2012 лекция 8
СУБД осень 2012 лекция 8СУБД осень 2012 лекция 8
СУБД осень 2012 лекция 8
 
пр000 (2часа)e rwin
пр000 (2часа)e rwinпр000 (2часа)e rwin
пр000 (2часа)e rwin
 
0038
00380038
0038
 
Query perfomance tuning
Query perfomance tuningQuery perfomance tuning
Query perfomance tuning
 
Управление данными (sql)
Управление данными (sql)Управление данными (sql)
Управление данными (sql)
 
Оптимизации скорости выполнения запросов
Оптимизации скорости выполнения запросовОптимизации скорости выполнения запросов
Оптимизации скорости выполнения запросов
 
005
005005
005
 

бд шпора2

  • 1. 1. Оператор CREATE TABLE Оператор CREATE TABLE создает новую таблицу в базе данных. Имя таблицы должно быть уникальным среди имен таблиц базы данных, хранимых процедур и представлений, описанных в этой базе данных. Таблица может содержать, по меньшей мере, один столбец и произвольное количество ограничений таблицы. Таблица может не храниться в базе данных, все ее строки могут помещаться в отдельный текстовый файл, находящийся вне базы данных, заданный предложением EXTERNAL FILE в операторе создания таблицы. В таблицах, которые хранятся во внешних файлах, могут быть описаны любые типы данных, кроме BLOB. Недопустимо также использование массивов с любым типом данных. По отношению к таблицам, хранящимся во внешних файлах, допустимы только операции добавления новых строк (INSERT) и выборки (SELECT) данных. Операции же изменения существующих данных (UPDATE) или удаления строк такой таблицы (DELETE)не могут быть выполнены 2. Операторы DROP Одним из самых полезных операторов определения данных SQL является оператор DROP TABLE. Но он одновременно является и одним из самых опасных, поскольку удаляет таблицу из базы данных вместе со всеми содержащимися в пей данными. Если необходимо удалить из базы данных таблицу CUSTOMER и все содержащиеся в ней данные, то можно использовать следующий оператор: DROP TABLE CUSTOMER Оператор DROP TABLE не выполняется, если таблица содержит или может содержать значения, необходимые для соблюдения ограничений ссылочной целостности. Например, столбец ArtistID таблицы ARTIST может содержать значения, необходимые для соблюдения ограничения внешнего ключа Customer_Artist_Int_ArtistFK. 3. Оператор изменения таблицы alter table Оператор ALTER TABLE позволяет изменять структуру существующей таблицы. Например, вы можете добавлять или удалять колонки, изменять тип существующих колонок, переименовывать колонки, или саму таблицу. Также можно изменить комментарий к таблице и тип таблицы. Синтаксис оператора ALTER TABLE во многих случаях подобен синтаксису CREATE TABLE. 4. операторы обработки данных select insert update SELECT применяется для извлечения строк, выбранных из одной или нескольких таблиц. Выражение select_expression задает столбцы, в которых необходимо проводить выборку. Кроме того, оператор SELECT можно использовать для извлечения строк, вычисленных без ссылки на какую-либо таблицу. Например: mysql> SELECT 1 + 1; -> 2 Оператор INSERT вставляет новые строки в существующую таблицу. Форма данной команды INSERT ... VALUES вставляет строки в соответствии с точно указанными в команде значениями. Форма INSERT ... SELECT вставляет строки, выбранные из другой таблицы или таблиц. Форма INSERT ... VALUES со списком из нескольких значений поддерживается в версии MySQL 3.22.5 и более поздних.
  • 2. Оператор UPDATE обновляет столбцы в соответствии с их новыми значениями в строках существующей таблицы. В выражении SETуказывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. В выражении WHERE, если оно присутствует, задается, какие строки подлежат обновлению. В остальных случаях обновляются все строки. Если задано выражение ORDER BY, то строки будут обновляться в указанном в нем порядке. 5. операторы обработки данных delete replace load file Оператор DELETE удаляет из таблицы table_name строки, удовлетворяющие заданным в where_definition условиям, и возвращает число удаленных записей. Если оператор DELETE запускается без определения WHERE, то удаляются все строки. Если действительно необходимо знать число удаленных записей при удалении всех строк, и если допустимы потери в скорости, то можно использовать команду DELETE в следующей форме: mysql> DELETE FROM table_name WHERE 1>0; Оператор REPLACE работает точно так же, как INSERT, за исключением того, что если старая запись в данной таблице имеет то же значение индекса UNIQUE или PRIMARY KEY, что и новая, то старая запись перед занесением новой будет удалена. Другими словами, команда REPLACE не предоставляет доступа к замещаемой записи. В некоторых старых версиях MySQL такой доступ иногда оказывался возможным, но это был дефект, который уже исправлен. Команда LOAD DATA INFILE читает строки из текстового файла и вставляет их в таблицу с очень высокой скоростью. Если задано ключевое слово LOCAL, то файл читается с клиентского хоста. Если же LOCAL не указывается, то файл должен находиться на сервере. (Опция LOCAL доступна в версии MySQL 3.22.6 и более поздних.) Если текстовые файлы, которые нужно прочитать, находятся на сервере, то из соображений безопасности эти файлы должны либо размещаться в директории базы данных, либо быть доступными для чтения всем пользователям. 6. Операторы управления транзакциями Поддержание механизма транзакций — показатель уровня развитости СУБД. Корректное поддержание транзакций одновременно является основой обеспечения целостности баз данных (и поэтому транзакции вполне уместны и в однопользовательских персональных СУБД), а также составляют базис изолированности пользователей во многопользовательских системах. Под транзакцией понимается неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации) такая, что либо результаты всех операторов, входящих в транзакцию, отображаются в БД, либо воздействие всех этих операторов полностью отсутствует. 9. Роли Для удобства управления разрешениями в базах данных SQL Server предоставляет несколько ролей, которые являются субъектами безопасности, группирующими других участников. В SQL Server существует два типа ролей уровня базы данных: предопределенные роли базы данных, стандартные для базы данных, и гибкие роли базы данных, которые может создать пользователь. Предопределенные роли базы данных задаются на уровне базы данных и предусмотрены в каждой базе данных. Члены ролей базы данных db_owner иdb_securityadmin могут управлять членством в предопределенных ролях базы данных. Но только члены роли базы данных db_owner могут добавлять членов в предопределенную роль базы
  • 3. данных db_owner. Кроме того, в базе данных msdb имеются специальные предопределенные роли базы данных. Каждый член предопределенной роли базы данных может добавлять другие имена входа к той же роли. 10. Представления SQL-представление — это виртуальная таблица, составленная из других таблиц или представлений. Представление не имеет своих собственных данных, а объединяет данные из таблиц или пердставлений, которые в него входят. Представления создаются с помощью операторов SELECT. Согласно стандарту SQL-92 представления не могут включать в себя конструкцию ORDER BY, но Oracle такой вариант допускает. Представление (VIEW) - объект данных который не содержит никаких данных его владельца. Это - тип таблицы, чье содержание выбирается из других таблиц с помощью выполнения запроса. Поскольку значения в этих таблицах меняются, то авто- матически, их значения могут быть показаны представлением. 11. хранимые процедуры Sql Как правило, мы в работе с БД используем одни и те же запросы, либо набор последовательных запросов. Хранимые процедуры позволяют объединить последовательность запросов и сохранить их на сервере. Это очень удобный инструмент, и сейчас вы в этом убедитесь. Начнем с синтаксиса: CREATE PROCEDURE имя_процедуры (параметры) begin операторы end для чего их использовать? На это существует множество причин, ниже приведены лишь основные. • Для упрощения сложных операций за счет инкапсуляции процессов в один блок, простой для выполнения. • Для обеспечения непротиворечивости данных и вместе с тем без необходимости снова и снова воспроизводить одну и ту же последовательность шагов • Побочным эффектом этого является предотвращение ошибок. • Для упрощения управления изменениями. • Поскольку хранимые процедуры обычно сохраняютсяв компилированном виде, СУБД тратит меньше времени на обработку их команд. Это приводит к повышению производительности. 12. Триггер - это SQL процедура, которая срабатывает при каком-нибудь событии (INSERT, DELETE или UPDATE). Триггеры хранятся и управляются СУБД. Триггеры используются для поддержания ссылочной целостности данных в одинаковый манер реагируя на события изменения этих данных. Триггер не может быть вызван или выполнен вручную, СУБД автоматически вызывает его после модификации данных в соответствующей таблице. В этом и есть его отличие от хранимых процедур, которые нужно выполнять вручную вызовом CALL. Также триггер может вызывать другие процедуры.Триггер также может содержать вызовы INSERT, DELETE и UPDATE внутри себя, таким образом вызывая другой триггер. Такие триггеры называются вложенными (nested).
  • 4. 13. Управление транзакциями Управление транзакциями в SQL Server — важный шаг на пути к обеспечению бесперебойной работы и способ избежать ошибок, связанных с блокировками. Транзакции позволяют управлять набором команд, которые выполняются в базе данных, как единым целым. Использование транзакции предоставляют разработчику следующие преимущества: 1. Если две команды работают внутри одной транзакции – то будут выполнены обе команды, либо ни одной; 2. Если какая-либо команда внутри транзакции завершится с ошибкой – все команды транзакции будут отмены и данные вернутся в то состояние, в каком они были до начала транзакции; 3. Во время выполнения транзакции данные могут оставаться изолированными и недоступными для других транзакций; 4. После успешного выполнения команды фиксации транзакции данные гарантированно сохранятся в базе.