Что можно делать с помощью sql

Понятие и назначение SQL запроса

Понятие и назначение SQL запроса

Для работы с различными реляционными базами данных, включая Oracle, MySQL, PostgreSQL, DBase, FoxPro, Clipper, Paradox был создан единый язык запросов к базам данных. Назвали его язык SQL, что означает Structured Query Language — структурированный язык запросов.

В данной статье используем СУБД MySql. Именно для пользователя, СУБД MySql имеет наибольшее практическое применение, как в управлении различными расширениями, так и в их создании. Как-никак, все локальные сервера, CMS, платформы интернет магазинов работают именно с СУБД MySql.

Понятие и назначение SQL запроса для администрирования БД

Реляционная база данных это таблица с информацией, разнесенной по столбцам (поля или атрибуты) и строкам (записи или кортежи) таблицы. Чтобы изменить или удалить данные в столбцах и строках, а также данные в определенных ячейках (пресечение столбца и строки) можно воспользоваться прикладными инструментами (например, phpmyadmin) или сделать SQL запрос к базе данных, по которому выполнится нужное действие.

Что можно делать с помощью SQL запросов

При помощи запросов SQL можно:

  • Создавать таблицы БД;
  • Изменять таблицы БД;
  • Удалять таблицы БД;
  • Вставлять записи (строки) в таблицы БД;
  • Редактировать записи в таблицах БД;
  • Извлекать выборочную информацию из таблиц БД;
  • Удалять выборочную информацию из БД.

Это не полный перечень возможностей SQL запросов, но и он дает представление, что с помощью SQL запросов можно сделать с базой данных всё что необходимо.

Операторы SQL запроса

Язык SQL имеет большой список различных операторов, каждый из которых «задает» определенную команду. Справочник по операторам тут: (http://www.mysql.ru/docs/man/Database_Administration.html/CREATE_TABLE.html). В следующих статьях будем рассматривать, как работают основные операторы SQL и как с их помощью управлять базами данных.

В завершении перечислю, операторы sql запросов, которые будем рассматривать в ближайших статьях раздела:

Язык SQL: краткая инструкция по работе, синтаксис и операторы

Основы работы с SQL на примерах

Перед тем как погрузиться в детали SQL, в общих чертах познакомимся с языком, его перспективами и принципами работы. В данной статье при­водится краткий обзор основных его возможностей и функций. Ее цель не в том, чтобы сделать вас специалистом по написанию инструкций SQL (это задача последующих публикаций моего блога). Данная статья дает лишь об­щее представление о возможностях языка.

Простая база данных

Примеры, приводимые в этой статье, основаны на простой реляционной базе данных маленькой торговой компании. Структура этой базы данных изображена на рис. 1. В ней хранится информация, необходимая для реализации небольшого приложения по обработке заказов. Инструкции по созданию этой простой базы данных вы найдете в приложении А, «Учебная база данных», так что можете про­верять работу описываемых запросов на практике прямо во время чтения. В базе хранится следующая информация:

  • о клиентах, которые покупают товары компании;
  • о заказах, сделанных клиентами;
  • о служащих компании, которые продают товары клиентам;
  • об офисах, где работают служащие.

Эта база данных, как и большинство других, является моделью «реального мира». Данные, содержащиеся в ней, представляют реальные сущности: клиенты, заказы, служащие компании и офисы. Для каждой сущности имеется собственная отдельная таблица. Например, в таблице SALESREPS каждый продавец представлен отдельной строкой, а каждый столбец хранит определенную информацию о продавце, такую как его имя или офис, где он работает. Запросы к базе данных, создаваемые с помо­щью SQL, отражают события, происходящие в реальном мире: клиенты делают, отменяют и изменяют заказы, владелец компании нанимает и увольняет служащих и т.д. Давайте посмотрим, что можно делать с этими данными с помощью SQL.

Рис. 1. Простая реляционная база данных

Выборка данных при помощи SQL

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

Инструкция SELECT применяется во всех SQL-запросах на выборку данных. Так, далее приведен запрос, который запрашивает список имен и текущих объе­мов продаж по всем служащим в базе данных. Кроме того, в запросе приводится планируемый объем продаж и номер офиса, где работает служащий. В этом слу­чае данные извлекаются из таблицы SALESREPS. Инструкция SELECT запрашивает для каждого офиса три вида данных: город, номер офиса и объем продаж. Еще она определяет, что данные находятся в табли­це OFFICES, в которой хранится информация об офисах. Результаты запроса при­ведены сразу после рассматриваемой инструкции в форме таблицы. Заметим, что форматирование вывода результатов запроса зависит от конкретной реализации SQL и может изменяться при переходе от одной СУБД к другой.

SQL позволяет также запрашивать вычисляемые результаты. Например, можно попросить вычислить сумму, на которую каждый служащий опережает план или отстает от него. Значения NULL в строке продавца Тома Снайдера представляют отсутствующие или неизвестные данные. Он — новичок в компании и пока не получил ни назна­чения в определенный офис, ни планируемый объем продаж. Но тем не менее он уже осуществил некоторое количество продаж, о чем свидетельствуют выведен­ные данные в его строке.

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

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

Получение итоговых данных в SQL

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

Можно также узнать среднюю стоимость всех заказов, сделанных конкретным клиентом.

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

Добавление данных (INSERT)

SQL можно использовать и для добавления в таблицы новых данных. Предпо­ложим, что вы открыли в Далласе новый офис «Western» с плановым объемом продаж $275000. Ниже приведена инструкция INSERT , которая добавляет в соот­ветствующую таблицу новый офис с номером 23.

Аналогично, если служащая Мери Джонс (номер 109) заключает договор с но­вым клиентом, компанией Acme Industries, приведенная ниже инструкция INSERT добавит в соответствующую таблицу имя клиента с номером 2125 и лимитом кре­дита в $25000.

Как можно заметить, механизм базы данных возвращает сообщение ( 1 row inserted ) о том, что инструкция сработала. Точный текст и форматирование от­вета варьируются от одной реализации SQL к другой.

Удаление данных (DELETE)

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

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

Обновление данных (UPDATE)

SQL можно использовать и для обновления информации, уже содержащейся в базе данных. Например, чтобы увеличить лимит кредита для компании First Corp, до $75000, можно воспользоваться следующей инструкцией UPDATE .

С помощью инструкции UPDATE можно вносить в базу данных несколько об­новлений одновременно. Например, следующая инструкция UPDATE увеличивает план для всех продавцов на $15000.

Защита данных и права доступа

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

Аналогично приведенная ниже инструкция дает Мери разрешение на измене­ние данных о клиентах и чтение информации о них с помощью SELECT .

Если вы решите запретить Мери добавлять в базу данных сведения о новых клиентах, для этого достаточно воспользоваться инструкцией REVOKE .

Точно так же следующая инструкция revoke отменит все привилегии Мери на доступ и модифицирование данных о клиентах.

Создание базы данных

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

  • идентификатор производителя — три символа;
  • идентификатор товара — пять символов;
  • описание — до тридцати символов;
  • цена товара;
  • количество товара.

Приведенная далее инструкция CREATE table определяет новую таблицу для хранения указанных данных о товарах.

Хотя инструкция CREATE TABLE не столь очевидна, как инструкции, рассмат­ривавшиеся ранее, тем не менее она все же довольно проста. Эта инструкция при­сваивает новой таблице имя PRODUCTS и определяет для каждого из пяти ее столб­цов имя и тип данных, хранимых в нем. Идентификаторы производителя и товара хранятся в виде последовательностей символов фиксированной длины, описание товара — в виде строки переменной длины, цена представляет собой десятичные данные (действительное число), а количество — целочисленное значение.

После того как таблица создана, ее можно заполнять данными. Вот инструкция INSERT , предназначенная для ввода данных о новой партии изделия Size 7 Widget (товар ACI-41007) в количестве 250 единиц по цене $225 за штуку.

Наконец, если позднее вы решите, что в базе данных больше не требуется хра­нить информацию о товарах, то можете удалить таблицу (вместе со всеми данны­ми, которые в ней содержатся) с помощью инструкции DROP TABLE .

Заключение

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

  • SQL используется для выборки информации из базы данных с помощью инструкции SELECT . Можно извлечь все данные из таблицы или лишь часть из них, отсортировать их и получить итоговые значения, вычисляя суммы и средние величины.
  • SQL используется для изменения информации в базе данных. Инструкция INSERT добавляет данные, инструкция DELETE удаляет их, а инструкция update обновляет существующие данные.
  • SQL используется для управления доступом к базе данных. С помощью инструкций SQL предоставляются и отменяются разного рода привиле­гии для различных пользователей.
  • SQL используется для создания и изменения базы данных путем опреде­ления структуры новых таблиц и удаления таблиц, ставших ненужными, для чего применяются инструкции CREATE и DROP .

В следующей статье мы рассмотрим историю и перспективы языка SQL, а также существующие в отросли стандарты.

Что такое SQL (MySQL)

Что такое SQL (MySQL)

SQL расшифровывается как язык структурированных запросов. SQL — это стандартный язык программирования, специально разработанный для хранения, извлечения, управления или манипулирования данными в системе управления реляционными базами данных (RDBMS). SQL стал стандартом ISO в 1987 году.

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

SQL изначально разрабатывался в IBM в начале 1970-х годов. Первоначально он назывался SEQUEL, который впоследствии был изменен на SQL (произносится как S-Q-L (эс-ку-эл)).

Что можно сделать при помощи SQL

Есть много вещей, которые вы можете сделать c помощью SQL:

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

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

Реляционные базы данных

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

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

MySQL и MariaDB

На этом сайте мы будем рассматривать синтаксис SQL в контексте СУБД MySQL (или MariaDB). Однако, стоит заметить, что приведенные примеры работоспособны и в других СУБД использующих SQL.

SQL Where: способы применения и примеры

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

sql where

Для выбора данных с базы используется конструкция Select [набор данных] from [имя таблицы]. Как показывает опыт, в 80 % случаев использования запросов на выборку данных нужно применять разнообразные условия — параметры. Для этого в язык, как дополнение к запросу, его усложнение, введено условие SQL-Where.

Способы применения условия Where

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

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

Использование Where для задания параметров выборки

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

Нужно простроить стандартный запрос, с помощью конструкции Select * from.

Определить с помощью ключевой конструкции Join, с каких таблиц будет делаться выбор.

С помощью конструкции Where задать перечень параметров для выборки.

примеры where sql

Такого рода запросы довольно просты в построении и не вызывают трудностей даже у новичков.

Использование конструкции для проверки вхождения

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

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

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

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

Сейчас будут приведены примеры Where SQL. Для начал представим, что есть две таблицы с данными — Tovar и TovarAmount. В первой имеются названия продаваемого товара, цена, дата продажи и клиент, который приобрел товар. Во второй указано наличие товара, а если точнее, какой есть в наличии.

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

Select * from Tovar

Where T_Date >= ‘12/01/2016’ and T_Date<= ‘’12/07/1016 and T_PriceOut >0

Такого плана запрос вернет список товаров, данных с таблицы, которые были проданы за первые семь дней декабря, на что указывает одно из условий выборки: T_PriceOut >0.

Если же рассмотреть условие вывода товаров, которые есть в наличии, то конструкция будет такого плана:

Select * from Tovar

Where T_Tovar in (select TA_Tovar where TA_ Amount >0)

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *