КампутарыПраграмнае забеспячэнне

Як складаць SQL-запыты - падрабязныя прыклады

Кожны з нас рэгулярна сутыкаецца і карыстаецца рознымі базамі дадзеных. Калі мы выбіраем адрас электроннай пошты, мы працуем з базай дадзеных. Базы дадзеных выкарыстоўваюць пошукавыя сэрвісы, банкі для захоўвання дадзеных аб кліентах і г.д.

Але, нягледзячы на пастаяннае выкарыстанне баз дадзеных, нават для многіх распрацоўшчыкаў праграмных сістэм застаецца шмат «белых плям» з-за рознага тлумачэння адных і тых жа тэрмінаў. Мы дамо кароткае вызначэнне асноўных тэрмінаў баз дадзеных перад разглядам мовы SQL. Такім чынам.

База дадзеных - файл або набор файлаў для захоўвання упарадкаваных структур дадзеных і іх узаемасувязяў. Вельмі часта базай дадзеных называюць сістэму кіравання базай дадзеных (СКБД). База дадзеных - гэта толькі сховішча інфармацыі ў пэўным фармаце і можа працаваць з рознымі СКБД.

Табліца - уявім сабе тэчку, у якой захоўваюцца дакументы, згрупаваныя па вызначаным прыкмеце, напрыклад спіс заказаў за апошні месяц. Гэта і ёсць табліца ў кампутарнай базе дадзеных. Асобная табліца мае сваё ўнікальнае імя.

Тып дадзеных - від інфармацыі, дазволенай для захоўвання ў асобным слупку або радку. Гэта могуць быць колькасці або тэкст пэўнага фармату.

Слупок і радок - усе мы працавалі з электроннымі табліцамі, у якіх таксама прысутнічаюць радкі і слупкі. Любая рэляцыйная база дадзеных працуе з табліцамі аналагічным чынам. Радкі часам называюць запісамі.

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

Што такое SQL?

Мова запытаў SQL (англ. Structured Query Language - мова структураваных запытаў) быў распрацаваны толькі для працы з базамі дадзеных і ў сапраўдны момант з'яўляецца стандартам для ўсіх папулярных СКБД. Сінтаксіс мовы складаецца з невялікай колькасці аператараў і просты ў вывучэнні. Але, нягледзячы на знешнюю прастату, ён дазваляе стварэнне sql запытаў для складаных аперацый з БД любога памеру.

З 1992 г. існуе агульнапрыняты стандарт, званы ANSI SQL. Ён вызначае базавы сінтаксіс і функцыі аператараў і падтрымліваецца ўсімі лідэрамі рынку СКБД, такімі як ORACLE Microsoft SQL Server. Разгледзець усе магчымасці мовы ў адной невялікай артыкуле немагчыма, таму мы коратка разгледзім толькі асноўныя SQL запыты. Прыклады наглядна паказваюць прастату і магчымасці мовы:

  • стварэнне баз і табліц;
  • выбарка дадзеных;
  • даданне запісаў;
  • мадыфікацыя і выдаленне інфармацыі.

Тыпы дадзеных SQL

Усе слупкі ў табліцы базы дадзеных захоўваюць адзін тып дадзеных. Тыпы дадзеных у SQL такія ж, як і ў іншых мовах праграмавання.

тып дадзеных апісанне
INT цэлыя лікі
REAL Колькасці з якая плавае коскі
TEXT Знакавая радок з зменнай даўжынёй
DATE sql запыт "дата" ў розных фарматах
TIME час
CHAR Тэкставыя радкі фіксаванай даўжыні

Ствараем табліцы і базы дадзеных

Ствараць новыя базы, табліцы і іншыя запыты ў SQL можна двума спосабамі:

  • Аператарамі SQL праз кансоль СКБД
  • Выкарыстоўваючы інтэрактыўныя сродкі адміністравання, якія ўваходзяць у склад сервера баз дадзеных.

Ствараецца новая база дадзеных аператарам CREATE DATABASE <найменне базы дадзеных>; . Як бачым, сінтаксіс просты і лаканічны.

Табліцы ўнутры базы дадзеных ствараем аператарам CREATE TABLE з наступнымі параметрамі:

  • найменне табліцы
  • імёны і тыпы дадзеных слупкоў

У якасці прыкладу створым табліцу Commodity з наступнымі слупкамі:

слупок апісанне
commodity_id ID прадукту
vendor_id ID пастаўшчыка (ключ знешняй табліцы Vendors)
commodity_name найменне прадукту
commodity_price Кошт
commodity_desc апісанне

Ствараем табліцу:

CREATE TABLE Commodity

(commodity_id CHAR (15) NOT NULL,

vendor_id CHAR (15) NOT NULL,

commodity_name CHAR (254) NULL,

commodity_price DECIMAL (8,2) NULL,

commodity_desc VARCHAR (1000) NULL);

Табліца складаецца з пяці слупкоў. Пасля назвы ідзе тып дадзеных, слупкі падзяляюцца коскамі. Значэнне слупка можа прымаць пустыя значэння (NULL) або павінна быць абавязкова запоўнена (NOT NULL), і гэта вызначаецца пры стварэнні табліцы.

Выбарка дадзеных з табліцы

Аператар выбаркі дадзеных - самыя часта выкарыстоўваюцца SQL запыты. Для атрымання інфармацыі неабходна ўказаць, што мы хочам выбраць з такой табліцы. Спачатку просты прыклад:

SELECT commodity_name FROM Commodity

Пасля аператара SELECT паказваем імя слупка для атрымання інфармацыі, а FROM вызначае табліцу.

Вынікам выканання запыту будуць усе радкі табліцы са значэннямі Commodity_name ў тым парадку, у якім яны былі ўнесены ў базу дадзеных г.зн. без усялякай сартавання. Для парадкавання выніку выкарыстоўваецца дадатковы аператар ORDER BY.

Для запыту па некалькіх палях пералічваем іх праз коску, як у наступным прыкладзе:

SELECT commodity_id, commodity_name, commodity_price FROM Commodity

Ёсць магчымасць атрымаць як вынік запыту значэнне ўсіх слупкоў радка. Для гэтага выкарыстоўваецца знак "*":

SELECT * FROM Commodity

  • Дадаткова SELECT падтрымлівае:
  • Сартаванне дадзеных (аператар ORDER BY)
  • Выбар згодна з умовамі (WHERE)
  • Групоўку тэрмін (GROUP BY)

дадаем радок

Для дадання радкі ў табліцу выкарыстоўваюцца SQL запыты з аператарам INSERT. Даданне можа вырабляцца трыма спосабамі:

  • дадаем новую цэлую радок;
  • частка радка;
  • вынікі запыту.

Для дадання поўнай радкі неабходна ўказаць імя табліцы і значэння слупкоў (палёў) новага радка. Прывядзём прыклад:

INSERT INTO Commodity VALUES ( '106', '50', 'Coca-Cola', '1.68', 'No Alcogol,)

Прыклад дадае ў табліцу новы тавар. Значэння паказваюцца пасля VALUES для кожнага слупка. Калі няма адпаведнага значэння для слупка, то неабходна ўказваць NULL. Стоўбцы запаўняюцца значэннямі ў парадку, паказаным пры стварэнні табліцы.

У выпадку дадання толькі часткі радка неабходна відавочна паказаць найменні слупкоў, як у прыкладзе:

INSERT INTO Commodity (commodity_id, vendor_id, commodity_name)

VALUES ( '106', '50', 'Coca-Cola',)

Мы ўвялі толькі ідэнтыфікатары тавару, пастаўшчыка i яго назву, а астатнія поля адставіў пустымі.

Даданне вынікаў запыту

У асноўным INSERT выкарыстоўваецца для дадання радкоў, але можа выкарыстоўвацца і для дадання вынікаў аператара SELECT.

змена дадзеных

Для змены інфармацыі ў палях табліцы базы дадзеных неабходна выкарыстоўваць аператар UPDATE. Аператар можа прымяняцца двума спосабамі:

  • Абнаўляюцца ўсе радкі ў табліцы.
  • Толькі для пэўнай радка.

UPDATE складаецца з трох асноўных элементаў:

  • табліца, у якой неабходна вырабляць змены;
  • імёны палёў і іх новыя значэння;
  • ўмовы выбару радкоў для змены.

Разгледзім прыклад. Дапусцім, у тавара з ID = 106 змяніўся кошт, таму гэты радок неабходна абнавіць. Пішам наступны аператар:

UPDATE Commodity SET commodity_price = '3.2' WHERE commodity_id = '106'

Мы паказалі імя табліцы, у нашым выпадку Commodity, дзе будзе вырабляцца абнаўленне, затым пасля SET - новае значэнне слупка і знайшлі патрэбную запіс, паказаўшы ў WHERE патрэбнае значэнне ID.

Для змены некалькіх слупкоў пасля аператара SET паказваюцца некалькі пар слупок-значэнне, падзеленых коскамі. Глядзім прыклад, у якім абнаўляецца найменне і кошт тавару:

UPDATE Commodity SET commodity_name = 'Fanta', commodity_price = '3.2' WHERE commodity_id = '106'

Для выдалення інфармацыі ў слупку можна прысвоіць яму значэнне NULL, калі гэта дазваляе структура табліцы. Неабходна памятаць, што NULL - гэта менавіта «ніякае» значэнне, а не нуль ў выглядзе тэксту ці лікі. Выдалім апісанне тавару:

UPDATE Commodity SET commodity_desc = NULL WHERE commodity_id = '106'

выдаленне радкоў

SQL запыты на выдаленне радкоў у табліцы выконваюцца аператарам DELETE. Ёсць два варыянты выкарыстання:

  • ў табліцы выдаляюцца пэўныя радкі;
  • выдаляюцца ўсе радкі ў табліцы.

Прыклад выдалення аднаго радка з табліцы:

DELETE FROM Commodity WHERE commodity_id = '106'

Пасля DELETE FROM паказваем імя табліцы, у якой будуць выдаляцца радка. Аператар WHERE змяшчае ўмова, па якім будуць выбірацца радка для выдалення. У прыкладзе мы выдаляем радок тавару з ID = 106. Ўказваць WHERE вельмі важна бо пропуск гэтага аператара приведт да выдалення ўсіх радкоў у табліцы. Гэта адносіцца і да змены значэння палёў.

У аператару DELETE не пазначаюцца найменні слупкоў і метасімвалы. Ён цалкам выдаляе радкі, а выдаліць асобны слупок ён не можа.

Выкарыстанне SQL ў Microsoft Access

Microsoft Access звычайна выкарыстоўваецца ў інтэрактыўным рэжыме для стварэння табліц, баз дадзеных, для кіравання, змены, аналізу дадзеных у базе дадзеных і з мэтай укараніць запыты SQL Access праз зручны інтэрактыўны канструктар запытаў (Query Designer), выкарыстоўваючы які можна пабудаваць і адразу ж выканаць аператараў SQL любой складанасці.

Таксама падтрымліваецца рэжым доступу да сервера, пры якім СКБД Access можа выкарыстоўвацца як генератар SQL-запытаў да любога ODBC крыніцы дадзеных. Гэтая магчымасць дазваляе прыкладанням Access ўзаемадзейнічаць з базамі дадзеных любога фармату.

пашырэння SQL

Паколькі SQL запыты не маюць ўсіх магчымасцяў працэдурных моў праграмавання, такіх як цыклы, галінавання і г.д., вытворцы СКБД распрацоўваюць свой варыянт SQL з пашыранымі магчымасцямі. У першую чаргу гэта падтрымка захоўваемых працэдур і стандартных аператараў працэдурных моў.

Найбольш распаўсюджаныя дыялекты мовы:

  • Oracle Database - PL / SQL
  • Interbase, Firebird - PSQL
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL - PL / pgSQL.

SQL ў Інтэрнэт

СКБД MySQL распаўсюджваецца пад вольнай ліцэнзіяй GNU General Public License. Маецца камерцыйная ліцэнзія з магчымасцю распрацоўкі заказных модуляў. Як складовая частка ўваходзіць у найбольш папулярныя зборкі Інтэрнэт-сервераў, такіх як XAMPP, WAMP і LAMP, і з'яўляецца самай папулярнай СКБД для распрацоўкі прыкладанняў у сетцы Інтэрнэт.

Была распрацавана кампаніяй Sun Microsystems і ў сапраўдны момант падтрымліваецца карпарацыяй Oracle. Падтрымліваюцца базы дадзеных памерам да 64 тэрабайт, стандарт сінтаксісу SQL: 2003 гады, рэплікацыя баз дадзеных і хмарных сэрвісаў.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.delachieve.com. Theme powered by WordPress.