Интерактивный самоучитель sql. Иллюстрированный самоучитель по SQL для начинающих. Создание самостоятельных индексов

25.07.2023

Просто и доступно рассмотрены теоретические основы СУБД SQL Server 2012. Показана установка, конфигурирование и поддержка MS SQL Server 2012. Описан язык манипулирования данными Transact-SQL. Рассмотрены создание базы данных, изменение таблиц и их содержимого, запросы, индексы, представления, триггеры, хранимые процедуры и функции, определенные пользователем.
Показана реализация безопасности с использованием аутентификации, шифрования и авторизации. Уделено внимание автоматизации задач администрирования СУБД. Рассмотрено создание резервных копий данных и выполнение восстановления системы. Описаны службы Microsoft Analysis Services, Microsoft Reporting Services и другие инструменты для бизнес-анализа. Рассмотрены технология работы с документами XML, управление пространственными данными, полнотекстовый поиск и многое другое. Для начинающих программистов.

В современном мире наивысшую ценность имеет информация, но не менее важно уметь этой информацией управлять. Эта книга посвящена языку запросов SQL и управлению базами данных. Материал излагается, начиная с описания базовых запросов и заканчивая сложными манипуляциями с помощью объединений, подзапросов и транзакций. Если вы пытаетесь разобраться в организации и управлении базами данных – эта книга будет отличным практическим пособием и предоставит вам все необходимые инструменты. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O\’Reilly в ряду множества скучных книг, посвященных программированию.

Эта книга расскажет вам, как работать с командами и инструкциями SQL, создавать и настраивать реляционные базы данных, загружать и модифицировать объекты баз данных, выполнять мощные запросы, повышать производительность и выстраивать систему безопасности. Вы узнаете, как использовать инструкции DDL и применять API, интегрировать XML и сценарии Java, использовать объекты SQL, создавать веб-серверы, работать с удаленным доступом и выполнять распределенные транзакции.
В этой книге вы найдете такие сведения, как описания работы с базами данных в памяти, потоковыми и встраиваемыми базами данных, базами данных для мобильных и наладонных устройств, и многое другое.

SQL для простых смертных — это полное введение в структурированный язык запросов, написанное специально для начинающих.

Если вы не имеете опыта управления базами данных, благодаря этой книге вы научитесь работать с SQL легко и свободно, применяя простые запросы и сложные операции. Для овладения SQL:

— Усвойте смысл понятий, связанных с управлением базой данных, с помощью краткого и простого введения в реляционные базы данных.
— Следуйте данным инструкциям по применению основных команд SQL для поиска размещенной в таблицах данных информации и работы с ней. Научитесь выбирать и суммировать данные, а также умело ими управлять.
— Эффективно работайте с составными таблицами данных, применяя развитую технику запроса к более чем одной таблице одновременно, конструируя сложные запросы и подзапросы.
— Создавайте новые таблицы данных для приложений в сфере торгового бизнеса. Изучайте важные принципы эффективного проектирования базы данных и технику обеспечения целостности и защиты данных.
— Учитесь применять SQL с языками программирования, используя специальную главу для программистов.

SQL is older than most of us, so I can’t claim to be conveying some extraordinary stuff through this book. What makes this title unique is its slender size. If you are looking for a real compact practical guide on SQL, then this book is for you. For beginners, I have tried to confine an ocean to a bucket in order to equip them with SQL knowledge in the shortest time possible. SQL language is too voluminous and exposure of every aspect of this huge language is a very tedious task. Keeping aside the least utilized features, this book is rolled out to focus on the more operational areas of the language. It is meant to help you learn SQL quickly by yourself. It follows a tutorial approach wherein hundreds of hands-on exercises are provided, augmented with illustrations, to teach you SQL in a short period of time. Without any exaggeration, the book will expose SQL in record time. The book explicitly covers a free platform of the world’s number 1 DBMS to expose SQL: Oracle Database Express Edition. I have chosen Oracle XE because it is free to develop, deploy, and distribute; fast to download; and simple to administer.

Beginning Oracle PL/SQL gets you started in using the built-in language that every Oracle developer and database administrator must know. Oracle Database is chock-full of built-in application features that are free for the using, and PL/SQL is your ticket to learning about and using those features from your own code. With it, you can centralize business logic in the database, you can offload application logic, and you can automate database- and application-administration tasks.

Author Don Bales provides in Beginning Oracle PL/SQL a fast-paced and example-filled tutorial. Learn from Don\’s extensive experience to discover the most commonly used aspects of PL/SQL, without wasting time on obscure and obsolete features.

Книга «SQL. Библия пользователя» уникальна тем, что в каждой главе проводится сравнение реализаций стандарта языка запросов SQL в трех ведущих СУБД. В результате получился исчерпывающий и практичный справочник для пользователей баз данных, от новичков до профессионалов. Данная книга по SQL удобно сочетает теорию с практикой, содержит описание новых технологий и позволит разобраться с многочисленными нюансами стандарта языка запросов SQL и его реализаций. Её можно использовать в качестве справочника - своего рода настольного пособия.
— Изучите основы языка запросов SQL и реляционных баз данных
— Освойте работу с таблицами, представлениями, последовательностями и прочими объектами баз данных
— Научитесь применять транзакции и блокировки в многопользовательской среде
— Познакомьтесь с функциями, предложенными стандартом SQL и тремя ведущими производителями СУБД
— Узнайте, как получать доступ к метаданным и реализовывать средства защиты базы данных
— Изучите дополнительные темы: интеграция SQL в XML, бизнес-аналитика OLAP и многое другое

Если у вас есть базовые навыки работы с HTML, то с помощью книги Робина Никсона, опытнейшего разработчика и автора многочисленных бестселлеров по веб-мастерингу, вы без особого труда научитесь создавать динамические сайты, характеризующиеся высоким уровнем взаимодействия с пользователями.
Откройте для себя сочетание PHP и MySQL, узнайте, как они облегчают создание современных веб-сайтов, научитесь добавлять к этим технологиям возможности javascript, позволяющего создавать высокотехнологичные приложения.
В данном руководстве каждая технология рассматривается отдельно, показывается, как объединить PHP, MySQL и javascript в единое целое, дается представление о самых современных концепциях веб-программирования. С помощью подробно разобранных примеров и контрольных вопросов, приводимых в каждой главе, вы сможете закрепить изученный материал на практике.

Данное руководство поможет вам:
— освоить основы PHP и объектно-ориентированного программирования;
— основательно изучить MySQL, начиная со структуры баз данных и заканчивая составлением сложных запросов;
— создать веб-страницы, использующие PHP и MySQL для объединения форм и других составных элементов HTML;
— изучить javascript, начиная с функций и обработки событий и заканчивая доступом к объектной модели документов (DOM);
— использовать библиотеки и пакеты программ, включая систему Smarty, хранилище программ PEAR и библиотеку Yahoo! User Interface;
— осуществлять Ajax-вызовы и превратить свой веб-сайт в высокодинамичную информационную среду;
— загружать на веб-сайт файлы и изображения и работать с ними, проверять данные, введенные пользователем;
— обеспечивать безопасность своих приложений.

Queries not running fast enough? Wondering about the in-memory database features in 2014? Tired of phone calls from frustrated users? Grant Fritchey’s book SQL Server Query Performance Tuning is the answer to your SQL Server query performance problems. The book is revised to cover the very latest in performance optimization features and techniques, especially including the newly-added, in-memory database features formerly known under the code name Project Hekaton. This book provides the tools you need to approach your queries with performance in mind.

SQL Server Query Performance Tuning leads you through understanding the causes of poor performance, how to identify them, and how to fix them. You’ll learn to be proactive in establishing performance baselines using tools like Performance Monitor and Extended Events. You’ll learn to recognize bottlenecks and defuse them before the phone rings. You’ll learn some quick solutions too, but emphasis is on designing for performance and getting it right, and upon heading off trouble before it occurs. Delight your users. Silence that ringing phone. Put the principles and lessons from SQL Server Query Performance Tuning into practice today.

Covers the in-memory features from Project Hekaton
Helps establish performance baselines and monitor against them
Guides in troubleshooting and eliminating of bottlenecks that frustrate users
What you’ll learn
— Establish performance baselines and monitor against them
— Recognize and eliminate bottlenecks leading to slow performance
— Deploy quick fixes when needed, following up with long term solutions
— Implement best-practices in T-SQL so as to minimize performance risk
— Design in the performance that you need through careful query and index design
— Take advantage of the very latest performance optimization features in SQL Server 2014
— Understand the new, in-memory database features formerly code-named as Project Hekaton

В книге SQL за 10 минут предлагаются простые и практичные решения для тех, кто хочет быстро получить результат. Проработав все 22 урока, на каждый из которых придется затратить не более 10 минут, вы узнаете обо всем, что необходимо для практического применения SQL. Приведенные в книге примеры подходят для IBM DB2, Microsoft Access, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SQLite, MariaDB и Apache OpenOffice Base. Наглядные примеры помогут понять, как структурируются инструкции SQL. Советы подскажут короткие пути к решениям. Предупреждения помогут избежать распространенных ошибок. Примечания предоставят дополнительные разъяснения.

Structured Query Language (структурированный язык запросов) или SQL - это декларативный язык программирования для использования в квази-реляционных баз данных. Многие из оригинальных черт SQL были взяты для кортежных исчислений, но последние расширения SQL включают все больше реляционной алгебры.
SQL изначально создан IBM , но многие производители разработали собственные диалекты. Он была принят в качестве стандарта американским Национальным институтом стандартов (ANSI) в 1986 и ISO в 1987 . В стандарте языка программирования SQL, ANSI заявил, что официальный произношение SQL является "эс кью эль". Тем не менее, многие специалисты базы данных употребляли "сленговое" произношение «Сиквель», что отражает первоначальное название языка, Sequel, которое было изменено позже из-за возникшего конфликта торговых марок и наименований у компании IBM. Программирование для начинающих.
Язык программирования SQL был пересмотрен в 1992 , и эта версия известна как SQL-92 в. Потом было вновь пересмотрено 1999 , чтобы стать SQL: 1999 (AKA SQL3). Программирование для чайников. SQL 1999 поддерживает объекты, которые ранее не поддерживается и в других версиях, но только в конце 2001 года лишь несколько систем управления базами данных поддерживали SQL реализации: 1999.
SQL, хотя определяется как ANSI и ISO, имеет множество вариаций и расширений, большинство из которых имеют собственные характеристики, такие как реализация корпорации Oracle «PL / SQL» или реализация Sybase и Microsoft под названием «Transact-SQL», что может запутать знакрмящегося с основами программирования. Также не редкость для коммерческих реализаций опустить поддержку основных особенностей стандарта, такие типы данных как дата и время, предпочитая какой-то их собственный вариант. Как результат, в отличие от ANSI C или ANSI Fortran которые обычно можно портирована с платформы на платформу без серьезных структурных изменений, запросы языка программирования SQL редко могут быть перенесены между разными системами баз данных без существенных модификаций. Большинство людей в области баз данных считают, что это отсутствие совместимости является намеренным, с тем чтобы обеспечить каждого разработчика собственной системой управления базами данных и привязать покупателя к конкретной базе данных.
Как следует из названия, язык программирования SQL предназначен для конкретных, ограниченных целей - запросов данных, содержащихся в реляционной базе данных. Как таковой, он представляет собой набор инструкций языка программирования для создания выборок данных, а не процедурный язык, такой как C или BASIC , которые предназначены для решения гораздо более широкого круга проблем. Расширения языка, таких как «PL / SQL» предназначены для решения этого ограничения, добавив процедурные элементы для SQL при сохранении преимуществ SQL. Другой подход заключается в том, что позволяется в зопросы SQL встраивать команды процедурного языка программирования и взаимодействовать с базой данных. Например, Oracle и другие поддерживают язык Java в базе данных, в то время как PostgreSQL позволяет писать функции на Perl, Tcl, или С.
Один анекдот про SQL: "SQL не является ни структурированным, ни языком." Суть шутки состоит в том, что SQL не является языком Тьюринга. .

Select * from T
C1 C2
1 a
2 b
C1 C2
1 a
2 b
Select C1 from T
C1
1
2
C1 C2
1 a
2 b
Select * from T where C1=1
C1 C2
1 a

Учитывая таблицу T, запрос Select * from T выведет на экран все элементы всех строк таблицы.
Из той же таблицы, запрос Select C1 from T выведет на экран элементы из столбца C1 всех строк таблицы.
Из той же таблицы, запрос Select * from T where C1=1 выведет на экран все элементы всех строк, где значение колонки С1 равно "1".

SQL ключевые слова

SQL слова делятся на ряд групп.

Первая - это Data Manipulation Language или DML (язык управления данными). DML является подмножеством языка, используемого для запроса к базам данных, добавления, обновления и удаления данных.

  • SELECT является одной из наиболее часто используемых команд DML и позволяет пользователю задать запрос как описание желаемого результата в виде множества. В апросе не указано, каким образом результаты должны быть расположены - перевод запроса в форму, которая может быть выполнена в базе данных, является работой системы баз данных, более конкретно оптимизатора запросво.
  • INSERT используется для добавления строк (формального набора) для существующей таблицы.
  • UPDATE используется для изменения значений данных в существующей строке таблицы.
  • DELETE определение существующих строк, которые будут удалены из таблицы.

Три другие ключевых слова, можно сказать, что попадают в группу DML:

  • BEGIN WORK (или START TRANSACTION, в зависимости от диалекта SQL) могут быть использованы, чтобы отметить начало транзакции базы данных, которые либо выполнятся все полностью или вообще не выполнятся.
  • COMMIT устанавливает, что все изменения данных в после совершения операций сохраняются.
  • ROLLBACK определяет, что все изменения данных после последней фиксации или отката должны быть уничтожены, до того момента, который был зафиксирован в БД как «откат».

COMMIT и ROLLBACK применяются в таких областях, как контроль транзакций и блокировки. Обе инструкции завершают все текущие транзакции (наборы операций над БД) и снимают все блокировки на изменение данных в таблицах. Присутствие или отсутствие BEGIN WORK или аналогичного заявления зависит от конкретной реализации SQL.

Вторая группа ключевых слов относится к группе Data Definition Language или DDL (язык определения данных) . DDL позволяет пользователю определять новые таблицы и связанные с ними элементы. Большинство коммерческих баз данных SQL имеют собственные расширения в DDL, которые позволяют осуществлять контроль над нестандартныыми, но обычно жизненно важными элементами конкретной системы.
Основные пункты DDL являются команды создавать и удалять.

  • CREATE определяет объекты (например, таблицы), которые будут созданы в базе данных.
  • DROP определяет, какие существующие объекты в базе данных будут удалены, как правило, безвозвратно.
  • Некоторые системы баз данных также поддерживают команду ALTER, которая позволяет пользователю изменять существующий объект по-разному - например, так можно произвести добавление столбцов в существующую таблицу.

Третьей группой ключевых слов SQL является Data Control Language или DCL(язык контроля данных) . DCL отвечает за права доступа к данным и позволяет пользователю контролировать, кто имеет доступ, чтобы просматривать или манипулировать данными в базе данных. Здесь два основных ключевых слова.

Добро пожаловать в область разработки баз данных, выполняемой с помощью стандартного языка запросов SQL. В системах управления базами данных (СУБД) имеется много инструментов, работающих на самых разных аппаратных платформах.

  • Основы реляционных баз данных

    В этой главе… | Организация информации | Что такое база данных | Что такое СУБД | Сравнение моделей баз данных | Что такое реляционная база данных

  • Основы SQL

    В этой главе… | Что такое SQL | Заблуждения, связанные с SQL | Взгляд на разные стандарты SQL | Знакомство со стандартными командами и зарезервированными словами SQL | Представление чисел, символов, дат, времени и других типов данных | Неопределенные значения и ограничения

  • Компоненты SQL

    В этой главе… | Создание баз данных | Обработка данных | Защита баз данных | SQL - это язык, специально разработанный, чтобы создавать и поддерживать данные в реляционных базах. И хотя компании, поставляющие системы для управления такими базами, предлагают свои реализации SQL, развитие самого языка определяется и контролируется стандартом ISO/ANSI.

  • Создание и поддержка простой базы данных

    В этой главе… | Создание, изменение и удаление таблицы из базы данных с помощью инструмента RAD. | Создание, изменение и удаление таблицы из базы данных с помощью SQL. | Перенос базы данных в другую СУБД.

  • Создание многотабличной реляционной базы данных

    В этой главе… | Что должно быть в базе данных | Определение отношений между элементами базы данных | Связывание таблиц с помощью ключей | Проектирование целостности данных | Нормализация базы данных | В этой главе будет представлен пример создания многотабличной базы данных.

  • Манипуляции данными из базы

    В этой главе… | Работа с данными | Получение из таблицы нужных данных | Вывод информации, выбранной из одной или множества таблиц | Обновление информации, находящейся в таблицах и представлениях | Добавление новой строки в таблицу

  • Определение значений

    В этой главе… | Использование переменных для уменьшения избыточного кодирования | Получение часто запрашиваемой информации, находящейся в поле таблицы базы данных | Комбинирование простых значений для создания составных выражений | В этой книге постоянно подчеркивается, насколько важной для поддержания целостности базы данных является структура этой базы.

  • Сложные выражения со значением

    В этой главе… | Использование условных выражений case | Преобразование элемента данных из одного типа данных в другой | Экономия времени ввода данных с помощью выражений со значением типа запись | В главе 2 SQL был назван подъязыком данных.

  • "Пристрелка" к нужным данным

    В этой главе… | Указание требуемых таблиц | Отделение нужных строк от всех остальных | Создание эффективных предложений where | Как работать со значениями null | Создание составных выражений с логическими связками | Группирование вывода результата запроса по столбцу

  • Реляционные операторы

    В этой главе… | Объединение таблиц, имеющих похожую структуру | Объединение таблиц, имеющих разную структуру | Получение нужных данных из множества таблиц | SQL - это язык запросов, используемый в реляционных базах данных.

  • Использование вложенных запросов

    В этой главе… | Извлечение данных из множества таблиц с помощью одного оператора SQL | Поиск элементов данных путем сравнения значения из одной таблицы с набором значений из другой | Поиск элементов данных путем сравнения значения из одной таблицы с выбранным с помощью оператора select единственным значением из другой

  • Рекурсивные запросы

  • Обеспечение безопасности базы данных

    В этой главе… | Управление доступом к таблицам базы данных | Принятие решения о предоставлении доступа | Предоставление полномочий доступа | Аннулирование полномочий доступа | Предотвращение попыток несанкционированного доступа

  • Защита данных

    В этой главе… | Как избежать повреждения базы данных | Проблемы, вызванные одновременными операциями | Решение этих проблем с помощью механизмов SQL | Задание требуемого уровня защиты с помощью команды set transaction

  • Использование SQL в приложениях

    В этой главе… | SQL в приложении | Совместное использование SQL с процедурными языками | Как избежать несовместимости | Код SQL, встроенный в процедурный код | Вызов модулей SQL из процедурного кода | Вызов SQL из RAD-инструмента | В предыдущих главах мы в основном рассматривали SQL-команды в отдельности, т.е. формулировалась задача обработки данных, и под нее создавался SQL-запрос.

  • ODBC и JDBC

    В этой главе… | Определение ODBC | Описание частей ODBC | Использование ODBC в среде клиент/сервер | Использование ODBC в Internet | Использование ODBC в локальных сетях | Использование JDBC | С каждым годом компьютеры одной организации или нескольких различных организаций все чаще соединяются друг с другом. Поэтому возникает необходимость в налаживании совместного доступа к базам данных по сети.

  • SQL:2003 и XML

    В этой главе… | Использование SQL с XML | XML, базы данных и Internet | Одной из самых существенных новых функциональных возможностей языка SQL:2003 является поддержка файлов XML (extensible Markup Language - расширяемый язык разметки), которые все больше становятся универсальным стандартом обмена данными между разнородными платформами.

  • Курсоры

    В этой главе… | Определение области действия курсора в операторе declare | Открытие курсора | Построчная выборка данных | Закрытие курсора | SQL отличается от большинства наиболее популярных языков программирования тем, что в нем операции производятся одновременно с данными всех строк таблицы, в то время как процедурные языки обрабатывают данные построчно.

  • В данном материале я попытался объединить все основные моменты Transact-SQL , которые помогут начинающим программистам баз данных освоить данный язык и писать запросы и приложения на языке Transact-SQL.

    Программирование баз данных, а если говорить конкретней, то баз данных под управлением Microsoft SQL Server, стало очень популярно, именно поэтому я решил сделать своего рода мини справочник, в котором можно найти все основные моменты с пояснениями и, конечно же, с примерами.

    Для того чтобы потренироваться писать SQL запросы или создавать объекты базы данных, можете использовать бесплатную редакцию SQL Server Express, на момент составления справочника последней версией является Microsoft SQL Server 2014 Express .

    Transact-SQL справочник для начинающих — описание справочника

    Данный справочник будет выглядеть следующим образом, сначала я приведу небольшое оглавление с навигацией, затем начнется сам справочник, по каждому пункту будут комментарии, пояснения и примеры. Также, если мы уже подробно рассматривали или использовали где-либо в материалах на нашем сайте тот или иной объект или действие, я, конечно же, буду ставить ссылки, для того чтобы Вы могли посмотреть подробные примеры или как использовать то или иное действие на практике.

    Так как охватить абсолютно все просто невозможно, поэтому не удивляйтесь, если Вы что-то здесь не обнаружили. Еще раз повторю, что данный справочник создан для начинающих программистов на Transact-SQL, а также для простых админов, которым периодически требуется выгружать какие-то данные с SQL сервера.

    Для детального изучения языка T-SQL рекомендую почитать мою книгу «Путь программиста T-SQL. Самоучитель по языку Transact-SQL », в которой я максимально подробно, с большим количеством примеров рассказываю о языке T-SQL.

    База данных

    ДДаже начинающий программист Transact-SQL должен знать, как создается база данных или изменяются ее свойства, поэтому прежде чем рассматривать таблицы, представления, функции и все остальное, давайте разберем процесс создания, изменения и удаления базы данных на Transact-SQL.

    Создание

    Для того чтобы создать базу данных, необходимо выполнить следующий запрос:

    CREATE DATABASE test

    где, test это название базы данных.

    Подробней о создании базы данных на SQL сервере, мы разговаривали в материале Как создать базу данных в MS Sql 2008

    Удаление

    Если Вам необходимо удалить базу данных, то можете использовать запрос:

    DROP DATABASE test

    Изменение

    Для изменений параметров базы данных можно использовать графический интерфейс Management Studio, в котором все параметры подробно описаны, а можно посылать запросы ALTER DATABASE, например, для включения автоматического сжатия базы данных test, используем следующий запрос

    ALTER DATABASE test SET AUTO_SHRINK ON; --А для выключения ALTER DATABASE test SET AUTO_SHRINK OFF;

    Надеюсь понятно, ALTER DATABASE команда на изменение, test название изменяемой базы данных, SET команда, указывающая на то, что мы будем изменять параметры базы данных, AUTO_SHRINK непосредственно сам параметр, ON/OFF значение параметра.

    Типы данных

    Самые распространенные и часто используемые

    Точные числа

    • tinyint — 1 байт
    • smallint — 2 байта
    • int — 4 байта
    • bigint — 8 байт
    • numeric и decimal (тип с фиксированной точностью и масштабом )
    • money — 8 байт
    • smallmoney — 4 байт

    Приблизительные числа

    • float [ (n) ] – размер зависит от n (n может быть от 1 до 53, по умолчанию 53)
    • real — 4 байта

    Дата и время

    • date – дата
    • time — время
    • datetime — дата, включающая время дня с долями секунды в 24-часовом формате.

    Символьные строки

    • char [ (n) ] – строка с фиксированной длиной, где n длина строки (от 1 до 8000). Размер при хранении составляет n байт.
    • varchar [ (n | max) ] — строка с фиксированной длиной, где n длина строки (от 1 до 8000). Если указать max, то, максимальный размер при хранении составит 2^31-1 байт (2 ГБ), а при указании n то фактическая длина введенных данных плюс 2 байта.
    • text – строковые данные переменной длины, максимальный размер 2 147 483 647 байт (2 ГБ).
    • nchar [ (n) ] — строка с фиксированной длиной в Юникоде, где n длина строки (от 1 до 4000). Размер при хранении составляет удвоенное значение n в байтах
    • nvarchar [ (n | max) ] — строка с фиксированной длиной в Юникоде, где n длина строки (от 1 до 4000). При указании max, максимальный размер при хранении составит 2^31-1 байт (2 ГБ), а если n, то удвоенная фактическая длина введенных данных плюс 2 байта.
    • ntext — строковые данные переменной длины, с максимальной длиной строки 1 073 741 823 байт.

    Двоичные данные

    • binary [ (n) ] — двоичные данные с фиксированной длиной, размером n байт, где n значение от 1 до 8000. Размер при хранении составляет n байт.
    • varbinary [ (n | max) ] — двоичные данные с переменной длиной, где n может иметь значение от 1 до 8000. Если указать max то максимальный размер при хранении составит 2^31-1 байт(2 ГБ). При указании n то размер хранения это фактическая длина введенных данных плюс 2 байта.
    • image — двоичные данные переменной длины, размером от 0 до 2^31 – 1 (2 147 483 647) байт.

    Другие

    • xml –хранение xml данных. Подробно рассматривали в материале Transact-sql – работа с xml , а если Вы вообще не знаете что такое XML, то об это мы разговаривали в статье Основы XML для начинающих .
    • table – хранение результирующего набора строк.

    Таблицы

    Примеров создания таблиц на этом сайте достаточно, так как практически в каждой статье связанной с SQL я привожу пример создания тестовой таблицы, но для закрепления знаний, давайте создадим, модифицируем и удалим тестовую таблицу. Как раз посмотрим на то, как задаются типы данных полей в таблицах на Transact-SQL.

    Создание

    CREATE TABLE test_table( IDENTITY(1,1) NOT NULL,--идентификатор, целое число int, не разрешены значения NULL (50) NULL, --ФИО, строка длиной 50 символов, значения NULL разрешены NULL, --сумма, приблизительное числовое значение, значения NULL разрешены NULL, --дата и время, значения NULL разрешены (100) NULL --строка длиной 100 символов, значения NULL разрешены) ON GO

    Добавление колонки

    ALTER TABLE test_table ADD prosto_pole numeric(18, 0) NULL
    • test_table — это название таблицы;
    • add — команда на добавление;
    • prosto_pole – название колонки;
    • pole numeric(18, 0) – тип данных новой колонки;
    • NULL – параметр означающий что в данном поле можно хранить значение NULL.

    Изменение типа данных

    Давайте изменим, тип данных нового поля, которое мы только что создали (prosto_pole) с numeric(18, 0) на bigint и увеличим длину поля comment до 300 символов.

    ALTER TABLE test_table ALTER COLUMN prosto_pole bigint; ALTER TABLE test_table ALTER COLUMN comment varchar(300);

    Примечание! SQL сервер не сможет выполнить изменение типа данных, если преобразование значений в этих полях невозможно, в этом случае придется удалять колонку, со всем данными, и добавлять заново или очищать все данные в этом поле.

    Удаление колонки

    Для удаления определенной колонки используем команду drop, например, для удаления поля prosto_pole используем следующий запрос

    ALTER TABLE test_table DROP COLUMN prosto_pole

    Удаление таблицы

    Для того чтобы удалить таблицу, напишем вот такой простой запрос, где test_table и есть таблица для удаления

    DROP TABLE test_table

    Представления

    Очень полезным объектом в базе данных является представление (VIEW) или по-нашему просто вьюха. Если кто не знает, то представление, это своего рода хранимый запрос, к которому можно обращаться также как и к таблице. Давайте создадим представление на основе тестовой таблицы test_table, и допустим, что очень часто нам требуется писать запрос, например, по условию сумма больше 1000, поэтому для того чтобы каждый раз не писать этот запрос мы один раз напишем представление, и впоследствии будем обращаться уже к нему.

    Создание

    CREATE VIEW test_view AS SELECT id, fio, comment FROM test_table WHERE summa > 1000 GO

    Пример обращения к представлению :

    SELECT * FROM test_view

    Изменение

    ALTER VIEW test_view AS SELECT id, fio, comment FROM test_table WHERE summa > 1500 GO

    Удаление

    DROP VIEW test_view

    Системные представления

    В СУБД MS SQL Server есть таки системные объекты, которые могут предоставить иногда достаточно полезную информацию, например системные представления. Сейчас мы разберем парочку таких представлений. Обращаться к ним можно также как и к обычным представлениям (например, select * from название представление )

    • sys.all_objects – содержит все объекты базы данных, включая такие параметры как: название, тип, дата создания и другие.
    • sys.all_columns – возвращает все колонки таблиц с подробными их характеристиками.
    • sys.all_views – возвращает все представления базы данных.
    • sys.tables – все таблицы базы данных.
    • sys.triggers – все триггеры базы данных.
    • sys.databases – все базы данных на сервере.
    • sys.sysprocesses – активные процессы, сессии в базе данных.

    Их на самом деле очень много, поэтому все разобрать, не получиться. Если Вы хотите посмотреть, как их можно использовать на практике, то это мы уже делали, например, в материалах

    Функции

    MS SQL сервер позволяет создавать функции, которые будут возвращать определенные данные, другими словами, пользователь сам может написать функцию и в дальнейшем ее использовать, например, когда необходимо получить значения, требующие сложных вычислений или сложную выборку данных. Иногда просто для уменьшения кода, когда вызов функции заменят часто требующиеся значения в разных запросах и приложениях.

    Создание

    CREATE FUNCTION test_function (@par1 bigint, @par2 float) RETURNS varchar(300) AS BEGIN DECLARE @rezult varchar(300) SELECT @rezult=comment FROM test_table WHERE id = @par1 AND summa > @par2 RETURN @rezult END
    • CREATE FUNCTION – команда на создание объекта функция;
    • test_function – название новой функции;
    • @par1 и @par2 – входящие параметры;
    • RETURNS varchar(300) – тип возвращаемого результата;
    • DECLARE @rezult varchar(300) – объявление переменной с типом varchar(300);
    • Инструкция select в нашем случае и есть действия функции;
    • RETURN @rezult – возвращаем результат;
    • BEGIN и END – соответственно начала и конец кода функции.

    Пример использования ее в запросе :

    SELECT test_function(1, 20)

    Изменение

    ALTER FUNCTION test_function (@par1 bigint, @par2 float) RETURNS varchar(300) AS BEGIN DECLARE @rezult varchar(300) SELECT @rezult=comment FROM test_table_new WHERE id = @par1 AND summa >= @par2 RETURN @rezult END

    Удаление

    DROP FUNCTION test_function

    Встроенные функции

    Помимо того, что SQL сервер позволяет создавать пользовательские функции, он также предоставляет возможность использовать встроенные функции, которые за Вас уже написали разработчики СУБД. Их очень много, поэтому самые распространенные я разбил на группы и попытался их кратко описать.

    Системные функции

    Здесь я приведу несколько примеров функций, которые возвращают различные системные данные

    • @@VERSION – возвращает версию SQL сервера;
    • @@SERVERNAME – возвращает имя сервера;
    • SUSER_NAME() – имя входа пользователя на сервер, другими словами, под каким логином работает тот или иной пользователь;
    • user_name() – имя пользователя базы данных;
    • @@SERVICENAME – название сервиса СУБД;
    • @@IDENTITY — последний вставленный в таблицу идентификатор;
    • db_name() — имя текущей базы данных;
    • db_id() – идентификатор базы данных.

    Агрегатные функции

    Функции, которые вычисляют какое-то значение на основе набора (группы) значений. Если при вызове этих функций нужно указать колонку для вывода результата, то необходимо выполнить группировку данных (group by) по данному полю. Подробно данную конструкцию мы рассматривали в статье Transact-SQL группировка данных group by

    • avg – возвращает среднее значение;
    • count – количество значений;
    • max – максимальное значение;
    • min – минимальное значение;
    • sum – сумма значений.

    Пример использования :

    SELECT COUNT(*) as count, SUM(summa) as sum, MAX(id) as max, MIN(id) as min, AVG(summa) as avg FROM test_table

    Строковые функции

    Данный вид функций соответственно работает со строками.

    Left (строковое выражение , количество символов ) – возвращает указанное число символов строки начиная слева.

    Пример

    SELECT LEFT("Пример по работе функции left", 10) --Результат "Пример по"

    Right (строковое выражение , количество символов ) – возвращает указанное число символов строки начиная справа

    Пример

    SELECT Right("Пример по работе функции Right", 10) -- Результат "кции Right"

    Len (строка ) – возвращает длину строки.

    Пример

    SELECT len("Пример по работе функции len") --Результат 28

    Lower (строка ) – возвращает строку, в которой все символы приведены к нижнему регистру.

    Пример

    SELECT lower("Пример по работе функции lower") --Результат "пример по работе функции lower"

    Upper (строка ) — возвращает строку, в которой все символы приведены к верхнему регистру.

    Пример

    SELECT Upper("Пример по работе функции Upper") --Результат "ПРИМЕР ПО РАБОТЕ ФУНКЦИИ UPPER"

    Ltrim (строка ) – возвращает строку, в которой все начальные пробелы удалены.

    Пример

    SELECT ltrim(" Пример по работе функции ltrim") --Результат "Пример по работе функции ltrim"

    Rtrim (строка ) – возвращает строку, в которой все пробелы справа удалены

    Пример

    SELECT Rtrim (" Пример по работе функции Rtrim ") -- Результат" Пример по работе функции Rtrim"

    Replace (строка , что ищем , на что заменяем ) – заменяет в строковом выражении все вхождения указанные во втором параметре, символами указанным в третьем параметре.

    Пример

    SELECT Replace ("Пример по работе функции Replace", "по работе", "ЗАМЕНА") -- Результат "Пример ЗАМЕНА функции Replace"

    Replicate (строка , количество повторений ) – повторяет строку (первый параметр) столько раз, сколько указанно во втором параметре.

    Пример

    SELECT Replicate ("Пример Replicate ", 3) -- Результат "Пример Replicate Пример Replicate Пример Replicate "

    Reverse (строка ) – возвращает все в обратном порядке.

    Пример

    SELECT Reverse ("Пример по работе функции Reverse") -- Результат "esreveR иицкнуф етобар оп ремирП"

    Space (число пробелов ) – возвращает строку в виде указанного количества пробелов.

    Пример

    SELECT Space(10) -- Результат " "

    Substring (строка , начальная позиция , сколько символов ) – возвращает строку, длиной в число указанное в третьем параметре, начиная с символа указанного во втором параметре.

    Пример

    SELECT Substring("Пример по работе функции Substring", 11, 14) -- Результат "работе функции"

    Математические функции

    Round (число , точность округления ) – округляет числовое выражение до числа знаков указанного во втором параметре

    Пример

    SELECT Round(10.4569, 2) -- Результат "10.4600"

    Floor (число ) – возвращает целое число, округленное в меньшую сторону.

    Пример

    SELECT Floor(10.4569) -- Результат "10"

    Ceiling (число ) – возвращает целое число, округленное в большую сторону.

    Пример

    SELECT Ceiling (10.4569) -- Результат "11"

    Power (число , степень ) — возвращает число возведенное в степень указанную во втором параметре.

    Пример

    SELECT Power(5,2) -- Результат "25"

    Square (число ) – возвращает числовое значение, возведенное в квадрат

    Пример

    SELECT Square(5) -- Результат "25"

    Abs (число ) – возвращает абсолютное положительное значение

    Пример

    SELECT Abs(-5) -- Результат "5"

    Log (число ) – натуральный логарифм с плавающей запятой.

    Пример

    SELECT Log(5) -- Результат "1,6094379124341"

    Pi – число пи.

    Пример

    SELECT Pi() -- Результат "3,14159265358979"

    Rand – возвращает случайное число с плавающей запятой от 0 до 1

    Пример

    SELECT rand() -- Результат "0,713273187517105"

    Функции даты и времени

    Getdate() – возвращает текущую дату и время

    Пример

    SELECT Getdate() -- Результат "2014-10-24 16:36:23.683"

    Day (дата ) – возвращает день из даты.

    Пример

    SELECT Day(Getdate()) -- Результат "24"

    Month (дата) – возвращает номер месяца из даты.

    Пример

    SELECT Month(Getdate()) -- Результат "10"

    Year (дата ) –возвращает год из даты

    Пример

    SELECT year(Getdate()) -- Результат "2014"

    DATEPART (раздел даты , дата ) – возвращает из даты указанный раздел (DD,MM,YYYY и др.)

    Пример

    SELECT DATEPART(MM,GETDATE()) -- Результат "10"

    Isdate (дата ) – проверяет введенное выражение, является ли оно датой

    Пример

    SELECT Isdate(GETDATE()) -- Результат "1"

    Функции преобразование

    Cast (выражение as тип данных ) – функция для преобразования одного типа в другой. В примере мы преобразуем тип float в int

    Пример

    SELECT CAST(10.54 as int) --результат 10

    Convert – (тип данных, выражение, формат даты ) – функция для преобразования одного типа данных в другой. Очень часто ее используют для преобразования даты, используя при этом третий необязательный параметр — формат даты.

    Пример

    SELECT GETDATE(), CONVERT(DATE, GETDATE(), 104) --Результат --2014-10-24 15:20:45.270 – без преобразования; --2014-10-24 после преобразования.

    Табличные функции

    Создаются, для того чтобы получать из них данные как из таблиц, но после различного рода вычислений. Подробно о табличных функциях мы разговаривали в материале Transact-sql – Табличные функции и временные таблицы

    Создание

    --название нашей функции CREATE FUNCTION fun_test_tabl (--входящие параметры и их тип @id INT) --возвращающее значение, т.е. таблица RETURNS TABLE AS --сразу возвращаем результат RETURN (--сам запрос или какие то вычисления SELECT * FROM test_table where id = @id) GO

    Изменение

    --название нашей функции ALTER FUNCTION fun_test_tabl (--входящие параметры и их тип @id INT) --возвращающее значение, т.е. таблица RETURNS TABLE AS --сразу возвращаем результат RETURN (--сам запрос или какие то вычисления SELECT * FROM test_table where id = @id and summa > 100) GO

    Удаление

    DROP FUNCTION fun_test_tabl

    Как видите, для того чтобы создать, изменить или удалить такие функции используются такие же операторы, как и для обычных функций, отличия лишь в том, какой тип возвращает функция.

    Пример обращения к этой функции

    SELECT * FROM fun_test_tabl(1)

    Процедуры

    Процедуры – это набор SQL инструкций, которые компилируются один раз, и могут принимать, как и функции, различные параметры. Используются для упрощения расчетов, выполнения групповых действий.

    Создание

    CREATE PROCEDURE sp_test_procedure (@id INT) AS --объявляем переменные DECLARE @sum FLOAT --SQL инструкции SET @sum = 100 UPDATE test_table SET summa = summa + @sum WHERE id = @id GO

    Изменение

    ALTER PROCEDURE sp_test_procedure (@id int) AS --объявляем переменные DECLARE @sum float --SQL инструкции SET @sum = 500 UPDATE test_table SET summa = summa + @sum WHERE id = @id GO

    Удаление

    DROP PROCEDURE sp_test_procedure

    Вызов процедуры

    Можно вызывать по разному, например:

    EXECUTE sp_test_procedure 1 --или EXEC sp_test_procedure 1

    Где, EXECUTE и EXEC вызов процедуры, sp_test_procedure соответственно название нашей процедуры, 1 значение параметра

    Системные процедуры

    Системные процедуры – это процедуры для выполнения различных административных действий как над объектами на сервере, так и над конфигурацией самого сервера. Вызываются они также как и обычные процедуры, но в контексте любой базы данных.

    Их огромное множество, поэтому приведу всего несколько примеров.

    sp_configure – процедура для отображения и внесения изменений в конфигурацию ядра СУБД. Первый параметр название параметра конфигурации, второй параметр значение.

    Пример

    Изменяем значение параметра EXEC sp_configure "Ad Hoc Distributed Queries",1 reconfigure --применяем EXEC sp_configure --просто просматриваем значения всех параметров

    где, ‘Ad Hoc Distributed Queries’ — это название параметра, 1 соответственно значение, на которое мы хотим изменить, reconfigure применят введенное значение.

    На практике мы применяли эту процедуру в материале Межбазовый запрос на Transact-SQL

    sp_executesql – выполняет инструкцию или набор инструкций Transact-SQL, которые могут формироваться динамически. Данную процедуры мы использовали в материале журналирование изменений данных в таблице на Transact-SQL

    Пример

    EXECUTE sp_executesql N"SELECT * FROM test_table WHERE id = @id", N"@id int", @id = 1

    Где, первый параметр — sql инструкция (строка в Юникоде), второй — определение всех параметров встроенных в sql инструкцию, третий — значение параметров.

    sp_help – возвращает подробные сведения о любом объекте базы данных.

    Пример

    EXECUTE sp_help "test_table"

    sp_rename – переименовывает объект в базе данных. Можно использовать для переименования таблиц, индексов, название колонок в таблицах, Не рекомендуется использовать эту процедуру для переименования пользовательских процедур, триггеров, функций.

    Пример переименования таблицы

    EXEC sp_rename "test_table", "test_table_new"

    где, первым параметром идет объект со старым названием, а второй параметр — это новое название объекта.

    Пример переименования столбца в таблице

    EXEC sp_rename "test_table.summa", "summa_new", "COLUMN"

    Третьим параметром указывается, что переименовывается колонка.

    Триггеры

    Триггер – это обычная процедура, но вызывается она событием, а не пользователем. Событие, например, может быть вставка новой строки в таблицу (insert), обновление данных в таблице (update) или удаление данных из таблицы (delete).

    Создание

    CREATE TRIGGER trg_test_table_update ON test_table for UPDATE --можно также delete, insert AS BEGIN --sql инструкции в случае UPDATE END GO

    Изменение

    ALTER TRIGGER trg_test_table_update ON test_table for insert --можно также delete, update AS BEGIN --sql инструкции в случае insert END GO

    Удаление

    DROP TRIGGER trg_test_table_update

    Включение/Отключение

    --отключение DISABLE TRIGGER trg_test_table_update ON test_table; --включение ENABLE TRIGGER trg_test_table_update ON test_table;

    О триггерах мы разговаривали в статье — Как создать триггер на Transact-SQL .

    Индексы

    Это объект базы данных, который повышает производительность поиска данных, за счет сортировки данных по определенному полю. Если провести аналогию то, например, искать определенную информацию в книге намного легче и быстрей по его оглавлению, чем, если бы этого оглавления не было. В СУБД MS SQL Server существует следующие типы индексов:

    Кластеризованный индекс — при таком индексе строки в таблице сортируются с заданным ключом, т.е. указанным полем. Данный тип индексов у таблицы в MS SQL сервере может быть только один и, начиная с MS SQL 2000, он автоматически создается при указании в таблице первичного ключа (PRIMARY KEY).

    Некластеризованный индекс – при использовании такого типа индексов в индексе содержатся отсортированные по указанному полю указатели строк, а не сами строки, за счет чего происходит быстрый поиск необходимой строки. Таких индексов у таблицы может быть несколько.

    Колоночный индекс (columnstore index) – данный тип индексов основан на технологии хранения данных таблиц не виде строк, а виде столбцов (отсюда и название), у таблицы может быть один columnstore индекс.

    При использовании такого типа индексов таблица сразу становится только для чтения, другими словами, добавить или изменить данные в таблице уже будет нельзя, для этого придется отключать индекс, добавлять/изменять данные, затем включать индекс обратно.

    Такие индексы подходят для очень большого набора данных, используемых в хранилищах.

    Операции, в которых используются агрегатные функции с использованием группировки, выполняются намного быстрей (в несколько раз!) при наличии такого индекса.

    Columnstore index доступен начиная с 2012 версии SQL сервера в редакциях Enterprise, Developer и Evaluation.

    Создание

    Кластеризованного индекса

    CREATE CLUSTERED INDEX idx_clus_one ON test_table(id) GO

    Где, CREATE CLUSTERED INDEX — это инструкция к созданию кластеризованного индекса, idx_clus_one название индекса, test_table(id) соответственно таблица и ключевое поле для сортировки.

    Некластеризованного индекса

    CREATE INDEX idx_no_clus ON test_table(summa) GO

    Columnstore index

    CREATE columnstore INDEX idx_columnstore ON test_table(date_create) GO

    Отключение

    --отключение ALTER INDEX idx_no_clus ON test_table DISABLE --включение, перестроение ALTER INDEX idx_no_clus ON test_table REBUILD

    Удаление

    DROP INDEX idx_no_clus ON test_table GO

    Курсоры

    Курсор — это своего рода тип данных, который используется в основном в процедурах и триггерах. Он представляет собой обычный набор данных, т.е. результат выполнения запроса.

    Пример (все это в коде процедуры)

    Объявляем переменные DECLARE @id BIGINT DECLARE @fio VARCHAR(100) DECLARE @summa FLOAT --объявляем курсор DECLARE test_cur CURSOR FOR SELECT id, fio, summa FROM test_table --открываем курсор OPEN test_cur --считываем данные первой строки в курсоре --и записываем их в переменные FETCH NEXT FROM test_cur INTO @id, @fio, @summa --запускаем цикл до тех пор, пока не закончатся строки в курсоре WHILE @@FETCH_STATUS = 0 BEGIN --на каждую итерацию цикла можем выполнять sql инструкции --..................SQL инструкции................. --считываем следующую строку курсора FETCH NEXT FROM test_cur INTO @id, @fio, @summa END --закрываем курсор CLOSE test_cur DEALLOCATE test_cur

    Подробно о курсорах мы разговаривали в материале Использование курсоров и циклов в Transact-SQL .

    Запросы DML

    DML (Data Manipulation Language ) – это операторы SQL, с помощью которых осуществляется манипуляция данными. К ним относятся select, update, insert, delete.

    SELECT

    Пример

    SELECT * FROM test_table

    UPDATE

    Используется для обновления данных

    Пример

    Обновятся все строки в таблице UPDATE test_table SET summa=500 --обновятся только строки, у которых id больше 10 UPDATE test_table SET summa=100 WHERE id > 10

    INSERT

    Оператор на добавление данных

    Добавление одной строки INSERT INTO test_table (fio, summa, date_create, comment) VALUES ("ФИО",100, "26.10.2014", "тестовая запись") --массовое добавление на основе запроса INSERT INTO test_table SELECT fio, summa, date_create, comment FROM test_table

    DELETE

    С помощью этого оператора можно удалить данные.

    Пример

    Очищение всей таблицы DELETE test_table --удаление только строк попавших под условие DELETE test_table WHERE summa > 100

    Вот и все, справочник закончился! Надеюсь, он Вам хоть как-то помог. Удачи!

    Приветствую вас на моем блоге сайт. Сегодня поговорим про sql запросы для начинающих. У некоторых вебмастеров может возникнуть вопрос. Зачем изучать sql? Разве нельзя обойтись ?

    Оказывается, что для создания профессионального интернет-проекта этого будет недостаточно. Sql используется чтобы работать с БД и создания приложений для Вордпресс. Рассмотрим, как использовать запросы подробнее.

    Что это такое

    Sql - язык структурированных запросов. Создан для определения типа данных, предоставления доступа к ним и обработке информации за короткие промежутки времени. Он описывает компоненты или какие-то результаты, которые вы хотите видеть на интернет-проекте.

    Если говорить по-простому, то этот язык программирования позволяет добавлять, изменять, искать и отображать информацию в БД. Популярность mysql связана с тем, что он используется для создания динамических интернет-проектов, основа которых составляет база данных. Поэтому для разработки функционального блога вам необходимо выучить этот язык.

    Что может делать

    Язык sql позволяет:

    • создавать таблицы;
    • изменять получать и хранить разные данные;
    • объединять информацию в блоки;
    • защитить данные;
    • создавать запросы в access.

    Важно! Разобравшись с sql вы сможете писать приложения для Вордпресс любой сложности.

    Какая структура

    БД состоит из таблиц, которые можно представить в виде Эксель файла.

    У нее имеется имя, колонки и ряд с какой-то информацией. Создавать подобные таблицы можно при помощи sql запросов.

    Что нужно знать


    Основные моменты при изучении Sql

    Как уже отмечалось выше, запросы применяются для обработки и ввода новой информации в БД, состоящую из таблиц. Каждая ее строка - это отдельная запись. Итак, создадим БД. Для этого напишите команду:

    Create database ‘bazaname’

    В кавычках пишем имя БД на латинице. Старайтесь придумать для нее понятное имя. Не создавайте базу типа «111», «www» и тому подобное.

    После создания БД устанавливаем :

    SET NAMES ‘utf-8’

    Это нужно чтобы контент на сайте правильно отображаться.

    Теперь создаем таблицу:

    CREATE TABLE ‘bazaname’ . ‘table’ (

    id INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,

    log VARCHAR(10),

    pass VARCHAR(10),

    date DATE

    Во второй строке мы прописали три атрибута. Посмотрим, что они означают:

    • Атрибут NOT NULL означает, что ячейка не будет пустой (поле обязательное для заполнения);
    • Значение AUTO_INCREMENT — автозаполнение;
    • PRIMARY KEY — первичный ключ.

    Как добавить информацию

    Чтобы заполнить поля созданной таблицы значениями, используется оператор INSERT. Пишем такие строки кода:

    INSERT INTO ‘table’

    (login , pass , date) VALUES

    (‘Vasa’, ‘87654321’, ‘2017-06-21 18:38:44’);

    В скобках указываем название столбцов, а в следующей - значения.

    Важно! Соблюдайте последовательность названий и значений столбцов.

    Как обновить информацию

    Для этого используется команда UPDATE. Посмотрим, как изменить пароль для конкретного пользователя. Пишем такие строки кода:

    UPDATE ‘table’ SET pass = ‘12345678’ WHERE id = ‘1’

    Теперь поменяйте пароль ‘12345678’. Изменения происходят в строке с «id»=1. Если не писать команду WHERE - поменяются все строки, а не конкретная.

    Рекомендую вам приобрести книгу «SQL для чайников ». С ее помощью вы сможете шаг за шагом профессионально работать с БД. Вся информация построена по принципу от простого к сложному, и будет хорошо восприниматься.

    Как удалить запись

    Если вы написали что-то не так, исправьте это при помощи команды DELETE. Работает так же, как и UPDATE. Пишем такой код:

    DELETE FROM ‘table’ WHERE id = ‘1’

    Выборка информации

    Для извлечения значений из БД используется команда SELECT. Пишем такой код:

    SELECT * FROM ‘table’ WHERE id = ‘1’

    В данном примере в таблице выбираем все имеющиеся поля. Это происходит если прописать в команде звездочку «*». Если нужно выбрать какое-то выборочное значение пишем так:

    SELECT log , pass FROM table WHERE id = ‘1’

    Необходимо отметить, что умения работать с базами данных будет недостаточно. Для создания профессионального интернет-проекта придется научиться добавлять на страницы данные из БД. Для этого ознакомьтесь с языком веб-программирования php. В этом вам поможет классный курс Михаила Русакова .


    Удаление таблицы

    Происходит при помощи запроса DROP. Для этого напишем такие строки:

    DROP TABLE table;

    Вывод записи из таблицы по определенному условию

    Рассмотрим такой код:

    SELECT id, countri, city FROM table WHERE people>150000000

    Он отобразит записи стран где населения больше ста пятидесяти миллионов.

    Объединение

    Связать вместе несколько таблиц возможно используя Join. Как это работает посмотрите подробнее в этом видео:

    PHP и MySQL

    Еще раз хочу подчеркнуть, что запросы при создании интернет-проекта - это обычное дело. Чтобы их использовать в php-документах выполните такой алгоритм действий:

    • Соединяемся с БД при помощи команды mysql_connect();
    • Используя mysql_select_db() выбираем нужную БД;
    • Обрабатываем запрос при помощи mysql_fetch_array();
    • Закрываем соединение командой mysql_close().

    Важно! Работать с БД не сложно. Главное - правильно написать запрос.

    Начинающие вебмастера подумают. А что почитать по этой теме? Хотелось бы порекомендовать книгу Мартина Грабера «SQL для простых смертных ». Она написана так, что новичкам все будет понятно. Используйте ее в качестве настольной книги.

    Но это теория. Как же обстоит дело на практике? В действительности интернет-проект нужно не только создать, но еще и вывести в ТОП Гугла и Яндекса. В этом вас поможет видеокурс «Создание и раскрутка сайта ».


    Видео инструкция

    Остались еще вопросы? Посмотрите подробнее онлайн видео.

    Вывод

    Итак, разобраться с написанием sql запросов не так трудно, как кажется, но сделать это нужно любому вебмастеру. В этом помогут видеокурсы, описанные выше. Подпишитесь на мою группу ВКонтакте чтобы первыми узнавать о появлении новой интересной информации.

  • Похожие статьи