RekenaarsProgrammering

Basiese SQL-stellings

SQL standaard is in 1992 en nog steeds in gebruik vandag aangeneem. Dat hy 'n maatstaf vir baie geword databasisbestuurstelsels. Natuurlik, sommige vervaardigers gebruik om hul eie interpretasie van die standaard. Maar in 'n stelsel, is daar steeds die belangrikste komponente - SQL-stellings.

inleiding

Die gebruik van SQL-stellings in die databasis voorkom waardes bestuur tafels en hul voorbereiding vir verdere analise en vertoon. Hulle is 'n stel van dokumente, waardeur die stelsel weet wat om te doen met die data.

Definieer 'n paar kategorieë van SQL-stellings:

  • definisie van databasis voorwerpe;
  • manipuleer waardes;
  • beskerming en bestuur;
  • sessie parameters;
  • Inligting oor die basis;
  • statiese SQL;
  • dinamiese SQL.

SQL-stellings vir datamanipulasie

Hierdie kategorie sluit die sleutelwoorde waarmee jy die plasing van waardes in die databasis kan beheer.

INSERT. Voeg 'n ry in 'n bestaande tabel. Dit kan gebruik word as 'n enkele waarde of veelvuldige, gedefinieer deur 'n sekere toestand. Byvoorbeeld:

INSERT INTO

die tafel naam (kolom 1 naam, naam van die kolom 2)

WAARDES (waarde 1 waarde 2).

Om die operateur te gebruik SQL-stelling INSERT met verskeie waardes, gebruik die volgende opdrag:

INSERT INTO

1 tafel naam (naam van die kolom 1, naam kolom 2)

SELECT naam kolom 1, naam van die kolom 2

Uit Tabel naam 2

WAAR naam 2.imya tafel kolom 1> 2

Hierdie navraag kies al die data in Tabel 2, wat groter is as 2 vir 1 kolom en plak dit in die eerste.

UPDATE. Soos die naam aandui, hierdie stelling updates die SQL navraag data in 'n bestaande tabel op 'n sekere basis.

byvoorbeeld:

UPDATE tafel naam 1

naam SET kolom = 2 "Basil"

WAAR tafel naam 1.imya kolom 1 = 1

Hierdie struktuur vul waarde Basil alle rye wat voldoen aan die nommer 1 in die eerste kolom.

Verwyder. Verwyder die data in die tabel. Jy kan enige toestand spesifiseer of om al die rye te verwyder.

Verwyder uit tabel naam

WAAR naam tablitsy.imya kolom 1 = 1

Bogenoemde navraag sal al die data uit die databasis met die waarde een in die eerste kolom verwyder. Hier is hoe jy die hele tafel kan duidelik:

Verwyder uit tabel naam.

Volgende is dit nodig om te vertel oor die SELECT verklaring. Hy is een van die belangrikste, so hy sal moet 'n aparte hoofstuk wy.

SELECT verklaring

Die hoofdoel van SELECT - seleksie van data volgens sekere voorwaardes. Die resultaat van sy werk is altyd 'n nuwe tabel met geselekteerde data. MS operateur SQL SELECT kan gebruik word om verskillende versoeke gewig. Daarom, saam met dit, kan jy kyk na ander verwante dokumente.

Om al die data simbool "*" kies gebruik van 'n spesifieke tafel.

SELECT *

Uit Tabel naam 1

Die gevolg van hierdie navraag sal 'n presiese kopie van die tafel 1 wees.

En hier is vergesog deur WAAR toestand wat trek uit Tabel 1, alle waardes groter as 2 in kolom 1.

SELECT *

Uit Tabel naam 1

WAAR naam 1.imya tafel kolom 1> 2

Jy kan ook spesifiseer in die seleksie wat slegs sekere kolomme nodig.

SELECT tafel naam 1.imya kolom 1

Uit Tabel naam 1

Die gevolg van hierdie navraag sal al die lyne met waardes van kolom 1. Die gebruik van MS SQL operateurs kan sy eie tafel te skep, in die loop van die vervanging van, berekening en vervang sekere waardes.

SELECT

tafel naam 1.imya kolom 1

tafel naam 1.imya kolom 2

tafel naam 1.imya kolom 3

«=» AS EQ

tafel naam 1.imya kolom 2 van die tabel naam * 1.imya kolom 3 AS som

Uit Tabel naam 1

Hierdie oënskynlik komplekse navraag haal al die waardes van Tabel 1, en dan skep 'n nuwe kolom en EQ som. Eerste tree "+" teken, in die tweede data kolom van die produk 2 en 3. Hierdie resultaat kan voorgestel word as 'n tafel, vir die begrip van hoe dit werk:

kolom 1

kolom 2

kolom 3

EQ

Die som van die

Naam produk 1

10

50

+

500

Naam produk 2

15

100

+

1500

As jy met behulp van 'n uitgesoekte verklaring, kan jy dadelik spandeer bestel data op enige gronde. Dit maak gebruik van die woord ORDER BY.

SELECT

tafel naam 1.imya kolom 1

tafel naam 1.imya kolom 2

tafel naam 1.imya kolom 3

Uit Tabel naam 1

ORDER BY naam kolom 2

Die gevolglike tafel sal lyk:

kolom 1

kolom 2

kolom 3

1

1

54

3

2

12

7

3

100

2

5

1

Dit is, al die lyne is geïnstalleer in so 'n wyse dat die kolom 2 waardes is stygende.

Data kan ook verkry word uit verskeie tafels. Vir duidelikheid, moet jy eers dink dat hulle twee, sommige is in die databasis:

Tafel "Werknemers"

aantal

naam

Van

1

Vasya

Vasin

2

Petya

Petin

Tafel "salaris"

aantal

koers

gekrediteer met

1

1

10000

2

0.5

3500

Nou moet jy, soos die koppeling van die twee tafels aan gemeenskaplike waardes te kry. Die gebruik van basiese SQL-stellings kan as volg gedoen word:

SELECT

Sotrudniki.Nomer

Sotrudniki.Imya

Zarplata.Stavka

Zarplata.Nachisleno

UIT Werknemers Salaris

WAAR Sotrudniki.Nomer = Zarplata.Nomer

Daar is gaan haal twee verskillende tafels van waardes, verenig deur nommer. Die resultaat is die volgende stel data:

aantal

naam

koers

gekrediteer met

1

Vasya

1

10000

2

Petya

0.5

3500

'N bietjie meer oor die kies. Die gebruik van totaal funksies

Een van die basiese SQL SELECT state kan 'n paar berekeninge in die monster te produseer. Om dit te doen, gebruik hy sekere funksies en formules.

Byvoorbeeld, om die aantal rekords in die tabel "Werknemers" kry, moet jy die navraag gebruik:

SELECT COUNT (*) AS N

UIT Werknemers

Die resultaat sal 'n tafel met 'n kolom en waarde wees.

N

2

funksie kan gebruik word in navrae dat die som, maksimum en minimum waardes en gemiddelde te bereken. Om dit te doen, is sleutelwoorde wat som, MAX, MIN, AVG.

Byvoorbeeld, is dit nodig om 'n monster van die reeds bekende "salaris" tafel te hou:

aantal

koers

gekrediteer met

1

1

10000

2

0.5

3500

Jy kan so 'n versoek toe te pas en kyk wat gebeur:

SELECT

SUM (Zarplata.Nachisleno) AS som

MAX (Zarplata.Nachisleno) AS MAX

MIN (Zarplata.Nachisleno) AS MIN

AVG (Zarplata.Nachisleno) AS SRED

salaris

Die finale tafel sal soos volg wees:

Die som van die

MAX

MIN

SRED

13500

10000

3500

6750

Dit is die manier, kan jy kies uit 'n databasis van die toepaslike waardes op die vlieg om 'n berekening van verskeie funksies uit te voer.

Unie, kruising en verskil

Kombineer verskeie navrae in SQL

SELECT Sotrudniki.Imya

UIT Werknemers

WAAR Sotrudniki.Nomer = 1

UNION

SELECT Sotrudniki.Imya

UIT Werknemers Salaris

WAAR Zarplata.Nomer = 1

Dit moet in gedagte gehou word dat in hierdie vereniging tafel versoenbaar moet wees. Dit wil sê, het dieselfde aantal kolomme.

Die sintaksis van die Gekose verklaring en die prosedure vir die verwerking

Die eerste ding wat SELECT bepaal die area waaruit dit die data sal neem. Om dit te doen, gebruik die term van. As nie gespesifiseer, wat om te kies.

Jy kan dan bied die SQL-stelling WAAR. Met die hulp van SELECT loop deur elke ry van die tabel en gaan die data vir die nakoming van die toestand.

As die navraag het 'n groep DEUR, dan is daar die groepering van waardes van hierdie parameters.

Operateurs te vergelyk data

Hulle het 'n paar tipes. In SQL kan vergelyking operateurs te toets verskillende tipes waardes.

  • "=". Dui, as jy kan raai, die gelykheid van die twee uitdrukkings. Byvoorbeeld, het dit reeds gebruik in die voorbeelde hierbo - WAAR Zarplata.Nomer = 1.

  • ">". Groter-as teken. As die waarde van die linkerkant van die uitdrukking is groter dan die logiese WAAR is terug en die toestand voldoen word.

  • "<". Minder as teken. Draai die vorige operateur.

  • Tekens van "<=" en "> =". Dit verskil van eenvoudige operateurs meer en minder is wat met gelyke operande toestand is ook waar.

  • "<>". I do not care. Die toestand word beskou as WAAR, al is dit net een operand is nie gelyk aan mekaar. Hy het nog 'n interpretasie - "! =".

SOOS

Vertaal hierdie navraag kan wees as "soortgelyk." SOOS operateur in SQL ongeveer gebruik word op dieselfde beginsel - loop 'n navraag van 'n sjabloon. Dit wil sê, dit laat jou toe om die voorbeeld van die data uit die databasis met behulp van gereelde uitdrukkings uit te brei.

Byvoorbeeld, dit stel so 'n taak: uit die reeds bekende basis "personeel" om al die mense wie se naam eindig met "Ek" kry. Dan kan die versoek as volg saamgestel word:

SELECT *

UIT Werknemers

WAAR n naam soos `%` ll

Persent teken in hierdie geval beteken die masker, dit is, 'n karakter, en hulle getal. En in die brief, "Ek» SQL bepaal dat die laaste karakter om so te wees.

CASE

Hierdie stelling SQL Server is 'n implementering van meervoudige keuse. Dit lyk soos 'n skakelaar verklaring in baie programmeertale. Case-stelling in SQL voer 'n aksie op verskeie voorwaardes.

Byvoorbeeld, kies jy uit 'n tafel "salaris" maksimum en minimum waardes.

aantal

koers

gekrediteer met

1

1

10000

2

0.5

3500

Dan kan die versoek as volg saamgestel word:

SELECT *

salaris

WAAR geval wanneer SELECT MAX (gehef word) dan Maksimum

WANNEER SELECT MIN (gehef word) dan Minimum

eindresultaat

in die "Gelaaide" kolom in hierdie konteks, die stelsel lyk vir die maksimum en minimum waarde. Dan, met behulp van die EINDE veld geskep "totale", wat sal aangeteken word in die "maksimum" of "minimum", afhangende van die uitslag van die toestand.

By the way, in SQL is daar 'n meer kompakte vorm van 'n Gevallebestuursprogram - saamvloei.

definisie data

Hierdie siening kan jy 'n verskeidenheid van die verandering van tafels uit te voer - skep, skrap, te verander, en werk met indekse.

Die eerste een, wat die moeite werd oorweging is - CREATE TABLE. Hy doen niks anders as die skep van 'n tafel. As jy tik CREATE TABLE navraag, sal niks gebeur nie, omdat jy nodig het om 'n paar meer parameters spesifiseer.

Byvoorbeeld, om die bekende tafel te skep "Werknemers" wil die opdrag gebruik:

CREATE TABLE Werknemers

(ID-nommer (10) NIE NULL

Naam varchar (50) NIE NULL

Laaste Naam varchar (50) NIE NULL)

In hierdie versoek, in hakies onmiddellik gedefinieer veldname en hul tipes, asook of dit kan NULL wees.

DROP TABLE

Voer 'n eenvoudige taak - die verwydering van genoemde tabel. Dit het 'n bykomende opsie indien bestaan. Dit absorbeer 'n fout met die verwydering, indien die vereiste tafel bestaan nie. Voorbeeld van die gebruik:

DROP TABLE Werknemers indien bestaan.

SKEP INDEKS

In SQL, daar is 'n stelsel van indekse, wat vinniger toegang tot data kan. In die algemeen is dit 'n skakel wat verwys na 'n spesifieke kolom. Skep 'n indeks kan 'n eenvoudige versoek is:

Maak Index nazvanie_indeksa

OP nazvanie_tablitsy (nazvanie_stolbtsa)

Gebruik hierdie stelling in T-SQL, Oracle, PL SQL en baie ander interpretasies tegnologie.

ALTER TABLE

Hoogs funksionele operateur met talle opsies. In die algemeen is die verandering produseer 'n struktuur definisie en toekenning tafels. Operateur gebruik in Oracle SQL, Postgres, en vele ander.

Verwysing sal nou aangebied met verskeie opsies met behulp van ALTER TABLE.

  • ADD. Voer die toevoeging van 'n kolom in 'n tabel. Sintaksis hom hierdie: ALTER TABLE ADD nazvanie_tablitsy nazvanie_stolbtsa tip_hranimyh_dannyh. Kan 'n parameter moet INDIEN NIE BESTAAN, wat 'n fout te onderdruk as 'n kolom reeds geskep;

  • DROP. Verwyder kolom. INDIEN bestaan, is ook voltooi, wat 'n fout te sê dat die versoek kolom bestaan nie sal genereer;

  • VERANDERING. Gebruik om die veld naam gespesifiseerde hernoem. Byvoorbeeld gebruik: ALTER TABLE VERANDER nazvanie_tablitsy OldName NEW_NAME;

  • Te verander. Hierdie opdrag sal die tipe van 'n bepaalde kolom en addisionele eienskappe te verander. En dit word gebruik soos volg: ALTER TABLE AANPASSEN nazvanie_tablitsy nazvanie_stolbtsa data type eienskappe;

SKEP VIEW

In SQL, daar is so 'n ding soos 'n idee. In kort, dit is 'n soort van virtuele tafel met die data. Dit word gevorm as gevolg van die monster met behulp van die taal SQL SELECT verklaring. Uitsig kan toegang tot die databasis beperk tot hulle weg te steek, om die werklike kolom name te vervang.

Die proses van die skep plaasvind deur 'n eenvoudige navraag:

SKEP VIEW naam siening AS kies uit * tafel naam

Steekproefneming kan plaasvind as 'n geheel databasis as 'n geheel, en in 'n sekere toestand.

'N bietjie oor die funksies

In SQL navrae gebruik dikwels verskillende ingeboude funksies wat u toelaat om in wisselwerking met die data en sit hulle op die vlieg. Dit is die moeite werd oorweging hulle, want dit is 'n integrale deel van 'n gestruktureerde taal.

  • Tel. Produseer tel rye of inskrywings in 'n bepaalde tafel. As 'n opsie, kan jy die naam kolom, dan is die data sal geneem word van hom spesifiseer. SELECT COUNT * deur werknemers;

  • AVG. Hierdie funksie is slegs van toepassing kolomme met numeriese data. Sy gevolg is die bepaling van die rekenkundige gemiddelde van alle waardes,

  • MIN en MAX. Hierdie funksies is gebruik in hierdie artikel. Hulle definieer die maksimum en minimum waardes van die genoemde kolom;

  • Som. Dit is eenvoudig - die funksie bereken Die som van waardes in 'n kolom. Dit is uitsluitlik gebruik word vir die numeriese data tipe. Toevoeging van die versoek parameter DISTINCT, sal net unieke waardes bygevoeg;

  • ROUND. Funksie afronding desimale breuke getalle. Die sintaksis wat gebruik word deur die naam kolom en die aantal desimale plekke;

  • LEN. 'N Eenvoudige funksie wat die lengte van die kolom bereken. Die resultaat sal 'n nuwe tabel wat die aantal karakters wees;

  • NOU. Hierdie navraag word gebruik om die huidige datum en tyd te bereken.

bykomende operateurs

Baie voorbeelde van die SQL-stellings is sleutelwoorde wat klein take uit te voer, maar nogtans monster of databasis aktiwiteit grootliks vereenvoudig.

  • AS. Dit word gebruik wanneer jy wil visueel rangskik die resultaat van die toeken van die gespesifiseerde naam om 'n tafel te kry.

  • TUSSEN. 'N Baie handige instrument vir monsterneming. Dit dui op die omvang van waardes, insluitend die behoefte om die data te verkry. Die insette parameter ontvang van en na 'n aantal reeks gebruik word,.

  • NIE. Die operateur gee die teenoorgestelde van die uitdrukking.

  • TRUNCATE. Verwyder data vanaf gesê basis gedeelte. Verskil van dié operateurs wat data na die gebruik daarvan onmoontlik om te herstel. Dit is opmerklik dat die implementering van 'n gegewe navraag in verskillende SQL kan verskillende interpretasies. Dus, voordat jy probeer om afgestomp, beter te leer ken met die agtergrond inligting te gebruik.

  • LIMIET. Stel die aantal uitset lyne. Die vreemd van die operateur is dat dit altyd is geleë aan die einde. Dit neem 'n verpligte en een opsionele parameter. Die eerste dui hoeveel rye met die geselekteerde data om te wys. En as die tweede, dan die operateur bedryf beide die verskeidenheid waardes heen.

  • UNION. Baie gebruikers vriendelik operateur verskeie navrae kombineer. Hy het reeds vergader onder die voorbeelde van hierdie in hierdie artikel. Jy kan die rye vertoon van verskeie tafels, UNION kombinasie van hulle vir meer gerieflik gebruik. Sintaksis hom hierdie: KIES column_name van die tafel UNION kies uit imya_drugogo_stolbtsa imya_drugoy tafel. Die resultaat is 'n opsomming tafel van die Verenigde eise.

  • Primêre sleutel. Vertaal as "primêre sleutel." Eintlik is dit so terminologie wat gebruik word in verwysing materiaal. Hy is 'n unieke identifiseerder vir die ry. Dit word gebruik as 'n reël, wanneer die skep van 'n tabel om die veld wat dit sal bevat aandui.

  • DEFAULT. Net soos die vorige operateur, gebruik in die uitvoering van die skep van 'n navraag. Dit definieer die verstek waarde, wat sal gevul word in die veld wanneer dit geskep.

'N Paar wenke om 'n platform te ontwikkel vir die werk met SQL

  1. NULL. Beginners en nie net programmeerders in die voorbereiding van versoeke dikwels vergeet van die beskikbaarheid van nul waardes. As gevolg hiervan, die kode fout kruip in, wat is moeilik om op te spoor in die ontfouting proses. Daarom, wanneer die skep van 'n tafel, behoefte of herbereken monster waardes te stop en dink, en of NULL voorkoms in ag geneem word in die soektog area.

  2. Geheue. In hierdie vraestel is ons getoon dat 'n aantal funksies, in staat om van die verrigting van sekere take. In die ontwikkeling van die dop om te werk met die databasis kan jy "swaarder" die berekening van eenvoudige uitdrukkings om die databasis stelsel. In sommige gevalle, dit gee 'n beduidende hupstoot in prestasie.

  3. Beperkings. As jy wil uit die databasis met duisende rye net twee te kry, is dit nodig om operateurs soos gebruik as beperk of bo-op. Nie nodig om data te herwin deur middel van die dop van taalontwikkeling.

  4. Verbind. By ontvangs van data uit verskeie tafels, baie programmeerders begin om hulle te verminder koevert geheue beteken. Maar hoekom? Na alles, kan jy 'n versoek in wat dit sal almal teenwoordig wees nie. Jy hoef nie te kode keer skryf en behou bykomende geheue in die stelsel.

  5. Sorteer. As dit moontlik is om die regulering van toepassing in die versoek, dit wil sê die DBBS magte, is dit nodig om dit te gebruik. Dit sal grootliks bespaar op hulpbronne wanneer die program of diens.

  6. Baie versoeke. As jy 'n klomp van rekords in volgorde plaas, dan optimization moet dink oor die pakkie data een versoek is ingevoeg. Dit sal ook verhoog die prestasie van die hele stelsel.

  7. Versigtig plasing van data. Voordat die opstel van die basis struktuur nodig het om te dink oor hoe en of so 'n aantal tafels en velde wat nodig is. Miskien is daar 'n manier om hulle te kombineer, of gee 'n paar. Baie dikwels, programmeerders gebruik 'n oormatige hoeveelheid data wat nêrens en nooit gebruik word.

  8. Tipes. Om ruimte te bespaar en hulpbronne nodig sensitief vir die tipe data wat gebruik word om te wees. As jy kan neem voordeel van 'n minder "swaar" vir die tipe geheue, jy het om sy naam te gebruik. Byvoorbeeld, indien dit bekend is dat in hierdie gebied is 'n numeriese waarde sal nie meer as 255, waarom die gebruik van 4-byte INT, indien daar TINYINT 1 byte.

gevolgtrekking

Ten slotte, moet daarop gelet word dat die taal gestruktureer SQL navrae is nou byna oral gebruik - webtuistes, web dienste, lessenaar sagteware, mobiele programme. Daarom sal SQL kennis help alle sektore van ontwikkeling.

Maar verandering van moedertaal standaard soms van mekaar verskil. Byvoorbeeld, kan PL SQL operateurs verskillende sintaksis hê as in SQL Server. Dus, voordat jy begin met die ontwikkeling van hierdie tegnologie, is dit nodig om kennis te maak met dit deur riglyne.

In die toekoms eweknieë, wat die SQL funksies en prestasie kon oortref, is dit onwaarskynlik te verskyn, so hierdie omvang is nogal 'n belowende nis vir enige programmeerder.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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