KomputilojProgramado

Bazaj SQL deklaroj

SQL normo estis adoptita en 1992 kaj ankoraŭ uzata hodiaŭ. Ke li fariĝis etalono por multaj datumbazo mastrumado sistemoj. Kompreneble, iuj fabrikantoj uzas lian propran legon de la normo. Sed en ajna sistemo, ekzistas ankoraŭ la ĉefaj komponantoj - SQL deklaroj.

enkonduko

Uzante SQL deklaroj en la datumbazo okazas valoroj mastrumado tabloj kaj ilia preparado por plua analizo kaj montri. Estas aro de ŝlosilvortoj, per kiu la sistemo scias kion fari kun la datumoj.

Difini plurajn kategoriojn de SQL deklaroj:

  • difino de datumbazo objektoj;
  • manipulanta valoroj;
  • protekto kaj administrado;
  • kunsido parametroj;
  • Informo pri la bazo;
  • statika SQL;
  • dinamika SQL.

SQL deklaroj por manipulado de datumoj

Ĉi tiu kategorio inkludas la ŝlosilvortoj, per kiu vi povas kontroli la lokigo de valoroj en la datumbazo.

INSERT. Enmetas vico en ekzistantan tablo. Oni povas uzi ĝin kiel simpla valoro aŭ multoblajn, difinita de certa kondiĉo. Ekzemple:

INSERT INTO

la tablo nomo (kolumno 1 nomo, nomo de la kolumno 2)

VALOROJ (valoro 1 valoro 2).

Por uzi la telefoniston SQL aserto INSERT kun multoblaj valoroj, uzu la sekvan sintakson:

INSERT INTO

1 tablo nomo (nomo de la kolumno 1, kolumno nomo 2)

ELEKTU kolumno nomo 1, nomo de la kolumno 2

EL tablo nomo 2

WHERE nomo 2.imya tablo kolumno 1> 2

Ĉi serĉvorto selektas ĉiujn datumojn en Tablo 2, kiu estas pli granda ol 2 por 1 kolumno kaj gluu ilin en la unua.

UPDATE. Kiel la nomo implicas, ĉi deklaro ĝisdatigas la SQL query datumoj en ekzistanta tabelo sur certa bazo.

ekzemple:

UPDATE tablo nomo 1

SET kolumno nomo = 2 "Basil"

WHERE tablo nomo 1.imya kolumno 1 = 1

Tiu strukturo ĝissate valoro Basil ĉiuj vicoj kiuj respondas al la numero 1 en la unua kolumno.

DELETE. Forigas la datumoj de la tablo. Vi povas specifi ajnan kondiĉon aŭ forigi ĉiuj vicoj.

DELETE FROM tablo nomon

WHERE nomo tablitsy.imya kolumno 1 = 1

La supre serĉvorto forigos ĉiujn datumojn de la datumbazo kun la valoro en la unua kolumno. Jen kiel vi povas forviŝi la tutan tablon;

DELETE FROM tablo nomo.

Sekva necesas diri pri la ELEKTU deklaro. Li estas unu el la plej gravaj, do li devos dediĉi apartan ĉapitron.

ELEKTU komunikaĵo

La ĉefa celo ELEKTU - selektado de datumoj laŭ certaj kondiĉoj. La rezulto de lia laboro estas ĉiam nova tablo kun elektitaj datumoj. MS operatoro SQLa ELEKTU povas esti uzata por pesi malsamaj petoj. Tial, kune kun ĝi, vi povas konsideri aliajn rilatajn ŝlosilvortoj.

Por elekti ĉiujn datumojn simbolo "*" estas uzata de aparta tablo.

ELEKTU *

EL tablo nomo 1

La rezulto de ĉi tiu demando estos preciza kopio de la tablo 1.

Kaj ĉi tie estas la prenitajn fare WHERE kondiĉo kiu eltiras de Tablo 1, ĉiuj valoroj pli granda ol 2 en kolumno 1.

ELEKTU *

EL tablo nomo 1

WHERE nomo 1.imya tablo kolumno 1> 2

Vi ankaŭ povas difini en la selektado kiu nur iuj kolumnoj estas necesaj.

ELEKTU tablo nomo 1.imya kolumno 1

EL tablo nomo 1

La rezulto de ĉi serĉvorto volo ĉiuj linioj kun valoroj de kolumno 1. Uzante MS SQL operatoroj povas krei propran tablon, en la kurso de anstataŭas, kalkulante kaj anstataŭiganta iujn valorojn.

ELEKTU

tablo nomo 1.imya kolumno 1

tablo nomo 1.imya kolumno 2

tablo nomo 1.imya kolumno 3

«=» KIEL EQ

tablo nomo 1.imya kolumno 2 de la tablo nomo * 1.imya kolumno 3 KIEL Summa

EL tablo nomo 1

Tiu ŝajne kompleksaj serĉvorto akiras ĉiujn valorojn de Tablo 1, kaj tiam kreas novan kolumnon kaj EQ Summa. Unua eniras "+" signo, en la dua datumoj kolumno de la produkto 2 kaj 3. Tiu rezulto povas esti prezentita kiel tabelo, por kompreni kiel ĝi funkcias:

kolumno 1

kolumno 2

kolumno 3

EQ

Summa

Produkta Nomo 1

10

50

+

500

Produkta Nomo 2

15

100

+

1500

Se vi uzas SELECT deklaro, vi povas tuj elspezos ordigi datumojn sur iu ajn kialoj. Ĝi uzas la vorton ORDO BY.

ELEKTU

tablo nomo 1.imya kolumno 1

tablo nomo 1.imya kolumno 2

tablo nomo 1.imya kolumno 3

EL tablo nomo 1

ORDO BY kolumno nomo 2

La rezulta tabelo aspektos tiel ĉi:

kolumno 1

kolumno 2

kolumno 3

1

1

54

3

2

12

7

3

100

2

5

1

Tio estas, ĉiuj linioj estis instalitaj en tia maniero, ke la kolumno 2 valoroj supren.

Datumoj povas esti ricevita de multaj tabloj. Por klareco, vi devas unue imagas ke ili havas du, iuj estas en la datumbazo:

Tablo "Oficistoj"

nombro

nomo

familia nomo

1

Vasya

Vasin

2

Petya

Petin

Tablo "Salajro"

nombro

rapideco

akreditas

1

1

10000

2

0.5

3500

Nun vi bezonas, kiel ligante la du tabloj akiri komunajn valorojn. Uzante baza SQL deklaroj povas esti farita kiel sekvas:

ELEKTU

Sotrudniki.Nomer

Sotrudniki.Imya

Zarplata.Stavka

Zarplata.Nachisleno

EL Oficistoj Salajro

WHERE Sotrudniki.Nomer = Zarplata.Nomer

Ekzistas prenis de du malsamaj tabloj de valoroj, kunigitaj de nombro. La rezulto estas la sekva aro de datumoj:

nombro

nomo

rapideco

akreditas

1

Vasya

1

10000

2

Petya

0.5

3500

Iom pli pri la ELEKTU. Uzante entuta funkcioj

Unu el la bazaj SQLa ELEKTU deklaroj povas produkti iuj ŝtonoj en la specimeno. Por fari tion, li uzas iujn funkciojn kaj formuloj.

Ekzemple, por ricevi la nombro de registroj de la tablo "Oficistoj", vi devas uzi la pridemando:

ELEKTU COUNT (*) AS N

EL Oficistoj

La rezulto estos tablo kun unu kolumno kaj valoro.

N

2

funkcio povas esti uzata en demandoj kiuj kalkulas la sumon, maksimuma kaj minimuma valoroj kaj mezumo. Por fari tion, ŝlosilvortoj estas uzataj SUM, MAX, MIN, AVG.

Ekzemple, ĝi estas necesa por teni specimeno de la jam konata "Salajro" tablo:

nombro

rapideco

akreditas

1

1

10000

2

0.5

3500

Vi povas apliki tian peton kaj vidu kio okazas:

ELEKTU

SUM (Zarplata.Nachisleno) KIEL Summa

MAX (Zarplata.Nachisleno) KIEL MAX

MIN (Zarplata.Nachisleno) KIEL MIN

AVG (Zarplata.Nachisleno) KIEL SRED

EL Salajro

La fina tablo estos tiel:

Summa

MAX

MIN

SRED

13500

10000

3500

6750

Tio estas la vojo, vi povas elekti de datumbazo la taŭgajn valorojn sur la muŝo plenumi tempokalkulo de diversaj funkcioj.

Unio, komunaĵo kaj diferenco

Kombinu plurajn demandojn en SQL

ELEKTU Sotrudniki.Imya

EL Oficistoj

WHERE Sotrudniki.Nomer = 1

UNION

ELEKTU Sotrudniki.Imya

EL Oficistoj Salajro

WHERE Zarplata.Nomer = 1

Ĝi devus konsideri ke en ĉi tiu asocio tablo devas esti kongrua. Tio estas, ili havas la saman nombron de kolumnoj.

La sintakso de la ELEKTU deklaro kaj la proceduro por prilaborado

La unua afero ELEKTU determinas la areon de kiu ĝi prenos la datumojn. Por fari tion, uzu la ŝlosilvorto EL. Se ne specifita, kion elekti.

Vi povas prezenti la SQL aserto WHERE. Kun la helpo de ELEKTU kuras tra ĉiu vico de la tablo kaj kontrolas la datumojn por la plenumo de la kondiĉo.

Se la informpeto havas GROUP BY, tiam estas la agrupación de valoroj de tiuj parametroj.

Telefonistoj kompari datumojn

Ili havas plurajn tipojn. En SQL komparo operatoroj povas elprovi malsamajn tipojn de valoroj.

  • "=". Indikas, kiel vi eble supozas, la egaleco de la du esprimoj. Ekzemple, ĝi jam estis uzata en la ekzemploj supre - WHERE Zarplata.Nomer = 1.

  • ">". Pli-ol signo. Se la valoro de la maldekstra flanko de la esprimo estas pli granda do la logika VERA estas revenis kaj la kondiĉo estas konita.

  • "<". Malpli ol signo. Inversigi la antaŭa operatoro.

  • Signoj de "<=" kaj "> =". Ĝi diferencas de simpla operatoroj pli kaj malpli estas ke kun egalaj argumentoj kondiĉo estas ankaŭ vera.

  • "<>". Ne gravas. La kondiĉo estas konsiderata VERA, se nur unu argumento estas ne egala al la alia. Li havas unu pli interpreto - "! =".

KIEL

Traduki ĉi ŝlosilvorto eblas tiel "simila". KIEL operatoro en SQL estas uzata proksimume sur la sama principo - kuras konsulto de ŝablono. Tio estas, ĝi ebligas al vi por pligrandigi la specimeno datumoj de la datumbazo uzante regulaj esprimoj.

Ekzemple, ĝi difinas tia tasko: de la jam konata bazo "bastono" akiri ĉiuj personoj kies nomo finiĝas per "mi". Tiam la peto povas esti kunmetita tiel:

ELEKTU *

EL Oficistoj

WHERE nomo LIKE '% I`ll

Procento signon en ĉi tiu kazo signifas la masko, tio estas, ĉiu karaktero, kaj ilia nombro. Kaj en la letero, "mi» SQLa determinas ke la lasta karaktero esti tiel.

KAZO

Tiu deklaro SQLa Servilo estas implementación de multnombra elekto. Ĝi similas funkciantan ŝaltilon deklaro en multaj programlingvoj. KAZO deklaro en SQL faras agon sur pluraj kondiĉoj.

Ekzemple, vi elektu el tablon "salajro" maksimuma kaj minimuma valoroj.

nombro

rapideco

akreditas

1

1

10000

2

0.5

3500

Tiam la peto povas esti kunmetita tiel:

ELEKTU *

EL Salajro

WHERE KAZO KIAM ELEKTU MAX (Charged) POSTE Maksimuma

KIAM ELEKTU MIN (Charged) POSTE Minimuma

FINO rezulto

en la "Charged" kolumnon en tiu kunteksto, la sistemo serĉas la maksimuman kaj minimuman valoron. Tiam, uzante la FINO kampo kreita "tuta", kiu estos registrita en la "maksimuma" aŭ "minimuma" depende de la rezulto de la kondiĉo.

Parenteze, en SQL estas pli kompakta formo de Edziĝas - kunfluas.

datumoj difino

Tiu vido permesas realigi diversajn ŝanĝanta tabloj - krei, forigi, redakti, kaj labori kun indeksoj.

La unua, kiu valoras konsiderante - CREATE TABLE. Li faras nenion alian, ol krei tablon. Se vi simple tajpu CREATE TABLE serĉvorto, nenio okazos, ĉar vi devas specifi plurajn pli parametroj.

Ekzemple, por krei la familiara tablo "Oficistoj" volas uzi la ordonon:

CREATE TABLE Oficistoj

(ID nombro (10) NE NULL

Nomo varchar (50) NE NULL

Lasta Nomo varchar (50) NE NULL)

En ĉi tiu peto, en krampoj tuj difinita kampo nomoj kaj iliaj specoj, kaj ankaŭ ĉu ĝi povas esti NULL.

DROP TABLE

Elfaras simplan taskon - forigante diris tablo. Ĝi havas kroman opcion se ekzistas. Ĝi sorbas eraro kiam viŝante, se la postulata tablo ne ekzistas. Ekzemplo de uzo:

DROP TABLE Oficistoj SE ekzistas.

CREATE INDEKSO

En SQL, ekzistas sistemo de indicoj, kiuj ebligas rapidan aliron al datumoj. Ĝenerale, ĝi estas ligilo kiu notas al aparta kolumno. Krei indekso povas esti simpla peto:

CREATE INDEKSO nazvanie_indeksa

SUR nazvanie_tablitsy (nazvanie_stolbtsa)

Uzu tiun deklaron en T-SQL, Oracle, PL SQL kaj multaj aliaj legoj teknologioj.

ALTER TABLE

Tre funkcia operatoro kun multnombraj ebloj. Ĝenerale, la ŝanĝo produktas strukturo difino kaj atribuo tabloj. Operatoro estas uzata en Oracle SQL, Postgres, kaj multaj aliaj.

Referenco nun estos prezentita kun diversaj ebloj uzante ALTER TABLE.

  • ALDONU. Efektivigas la aldono de kolumno en tabelo. Sintakso li jene: ŝanĝi TABLE ALDONU nazvanie_tablitsy nazvanie_stolbtsa tip_hranimyh_dannyh. Ne havas parametron SE NE ekzistas, kiuj subpremi eraro se kolumnon jam kreis;

  • DROP. Forigas kolumnon. Se ekzistas ankaŭ kompletigis, kio generos eraro diri ke la petita kolumno ne ekzistas;

  • ŜANĜO. Uzita por renomi la kampo nomo precizigita. Ekzemploj de uzo: ŝanĝi TABLE ŜANĜO nazvanie_tablitsy OldName new_name;

  • Modifi. Tiu komando ŝanĝos la tipon de aparta kolumno kaj pliaj atributoj. Kaj ĝi estas uzata tiel: ŝanĝi TABLE modifi nazvanie_tablitsy nazvanie_stolbtsa Datumtipo atributoj;

CREATE VIEW

En SQL, ekzistas tia afero kiel ideo. Mallonge, ĝi estas speco de virtuala tablo kun la datumoj. Estas formita kiel rezulto de la specimeno uzante la lingvo SQL SELECT deklaro. Vidoj povas restrikti la aliron al la datumbazo por kaŝi ilin, por anstataŭigi la realan kolumno nomoj.

La procezo de kreado donas por simpla demando:

CREATE VIEW vido nomo KIEL SELECT FROM * tablo nomon

Specimenaj povas okazi kiel tuto datumbazo kiel tuto, kaj en certa kondiĉo.

Iom pri la ecoj

En SQL pridemandojn ofte uzas malsamajn korpigita funkciojn kiuj permesas interagi kun la datumoj kaj konverti ilin al la flugo. Ĝi valoras konsiderante ilin, kiel ili estas integra parto de strukturita lingvo.

  • COUNT. Produktas kalkulante vicoj aŭ elementoj en aparta tablo. Kiel eblo, vi povas specifi la kolumno nomo, tiam la datumoj estos prenis de li. ELEKTU COUNT * FROM Oficistoj;

  • AVG. Tiu trajto rilatas nur al kolumnoj kun nombraj datumoj. Lia rezulto estas la determino de la aritmetika meznombro de ĉiuj valoroj;

  • Min kaj max. Ĉi tiuj funkcioj estas uzata en ĉi tiu artikolo. Ili difinas la maksimumo kaj minimumo valoroj de diris kolumno;

  • SUMO. Estas simpla - la kalkulas la sumon de valoroj en kolumno. Ĝi estas uzata ekskluzive por la nombra datumtipo. Aldono peto parametron klara, aldoniĝos nur por unika valoroj;

  • ROUND. Funkcio rondigo dekonaj frakciaj nombroj. La sintakso uzata de la kolumno nomo kaj la nombro de decimalaj lokoj;

  • LEN. Simpla funkcio kiu kalkulas la longon de la kolumno. La rezulto estos nova tablo montras la nombron de karakteroj;

  • NUN. Cxi sxlosilvorto estas uzata por kalkuli la aktuala dato kaj tempo.

aldona operatoroj

Multaj ekzemploj de la SQL deklaroj estas ŝlosilvortoj ke plenumi malgrandajn taskojn, sed tamen ege simpligi specimeno aŭ datumbazo agado.

  • KIEL. Ĝi estas uzata kiam vi volas vide aranĝi la rezulto de atribui la specifita nomo akiri tablo.

  • INTER. Tre utila ilo por muestreo. Ĝi indikas la gamo de valoroj, inkluzive la bezonon por akiri la informon. La enigo parametron ricevas de kaj al kelkaj gamo estas uzata;.

  • NE. La operatoro donas la malo de la esprimo.

  • Detranĉi. Forigas datumoj de diris bazo parton. Malsamaj de tiuj operatoroj kiuj reakiri datumoj post ĝia uzo eblas. Estas notinde, ke la efektivigo de donita ŝlosilvorto en malsamaj SQL eblas malsamaj legoj. Do antaŭ ol vi provas uzi detranĉas, pli bone kun la fono informon.

  • LIMIT. Fiksas la nombron de produktado linioj. La propreco de la operatoro estas ke ĝi estas ĉiam lokita en la fino. Ĝi prenas unu deviga kaj unu nedeviga parametro. La unua indikas kiom da vicoj de la elektita datumoj montri. Se la dua, tiam la operatoro operacias la gamo de valoroj.

  • UNION. Tre uzantamika operatoro kombini plurajn demandojn. Li jam renkontis inter la ekzemploj de tiu en ĉi tiu artikolo. Vi povas montri la vicoj de multoblaj tabloj, UNION kombinante ilin por pli oportuna uzo. Sintakso li tiun: SELECT column_name FROM tablo UNION ELEKTU EL imya_drugogo_stolbtsa imya_drugoy tablo. La rezulto estas resumo tablo de la unuiĝintaj postuloj.

  • PRIMARIA KEY. Tradukita kiel "primara ŝlosilo." Efektive, ke tia terminologio estas uzata en referenco materialoj. Li estas unika identigilo por la vico. Ĝi estas uzata, kiel regulo, al la krei tablon por indiki la kampo kiu enhavos ĝin.

  • DEFAULT. Kiel la antaŭa operatoro, uzata en la efektivigo de kreado de demando. Ĝi difinas la defaŭltan valoron, kiu estos plena en la kampo kiam estas kreita.

Kelkaj konsiletoj por evoluigi platformon por labori kun SQLa

  1. NULL. Komencantoj kaj ne nur programistoj en la preparado de petoj ofte forgesas pri la havebleco de NULL valorojn. Rezulte, la kodo eraro rampas en, kiu estas malfacile spuri en la depuración procezo. Sekve, al la krei tablon, aŭ recalculated specimeno valoroj devas halti kaj pensi, kaj ĉu NULL okazaĵo estas prenita en rakontas en la pridemando areo.

  2. Memoro. En tiu papero ni estis kondukitaj kelkajn funkciojn, kapabla de realigi iujn taskojn. En la disvolviĝo de la ŝelo por labori kun la datumbazo, vi povas "superpezas" la ŝtono de simplaj esprimoj por la datumbazo sistemo. En iuj kazoj, ĉi tio donas signifan akcelon en efikeco.

  3. Limigoj. Se vi volas iri de la datumbazo kun miloj da vicoj nur du, necesas uzi operatoroj kiel ekzemple LIMIT aŭ TOP. Ne necesas ricevi datumojn per la ŝelo de lingvo evoluo.

  4. Konekti. Post la ricevo de datumoj de pluraj tabloj, multaj programistoj komenci redukti ilin sur memoro signifas. Sed kial? Ja vi povas fari peton en kiu estos tuta ĉeesti. Vi ne devas skribi kodon unufoje kaj rezervi aldona memoro en la sistemo.

  5. Ordigo. Se ĝi eblas apliki la reguligo de la peto, tio estas, la DBMS fortoj, necesas uzi ĝin. Tio ege savi sur rimedoj kiam la programo aŭ servo.

  6. Multaj petoj. Se vi devas enmeti multajn rekordojn en sinsekvo, tiam optimumigo devus pripensi la paketon datumoj estas inserto peto. Tio ankaŭ pliigi la rendimenton de la tuta sistemo.

  7. Zorgema lokigo de datumoj. Antaŭ la streki la bazo strukturo devas pensi pri kiel kaj ĉu tiaj kelkaj tabloj kaj kampoj necesa. Eble estas maniero kombini ilin, aŭ rezigni iuj. Tre ofte, programistoj uzi troan kvanton de datumoj kiu estas nenie kaj neniam uzita.

  8. Tipoj. Por ŝpari spacon kaj rimedoj devas esti sentema al la tipoj de datumoj uzita. Se vi povas utiligi malpli "pezaj" por la tipo de memoro, vi devas uzi lian nomon. Ekzemple, se oni scias ke en ĉi tiu kampo estas nombra valoro ne superos 255, kial la uzo de 4 bajtoj INT, se TINYINT 1 bajto.

konkludo

En konkludo, ni notu, ke la lingvo estas strukturita SQL pridemandojn nun uzata preskaŭ ĉie - retejoj, servoj retejo, labortablo programaro, aplikoj móviles. Sekve, SQL scio helpos ĉiuj sektoroj de evoluo.

Tamen, modifo de denaska lingvo normo kelkfoje diferencas inter si. Ekzemple, PL SQLa operatoroj povas havi malsamajn sintakso ol en SQLa Servilo. Do antaŭ ol vi komencas disvolvi kun ĉi tiu teknologio, necesas konatiĝi kun ĝi de gvidlinioj.

Estonte kolegoj, kiu povis superi la SQL funcionalidad kaj rendimento, estas neverŝajne aperi, do ĉi tiu medio estas sufiĉe promesplena niĉon por ajna programisto.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 eo.birmiss.com. Theme powered by WordPress.