Hvordan skrive SQL-spørringer - detaljerte eksempler

Hver av oss ansikter på en jevnlig basis og bruker ulike databaser.Når vi velger e-post, arbeider vi med databasen.Databasene som brukes søketjenester, banker for lagring av kundedata, etc.

Men til tross for konstant bruk av databasen, selv for mange utviklere av programvare systemer er en masse "hvite flekker" på grunn av ulike tolkninger av de samme begrepene.Vi gir en kort definisjon av sentrale begreper database før behandlingen av SQL.So.

database - fil eller et sett med filer for lagring bestilt datastrukturer og deres relasjoner.Svært ofte er det database kalt database management system (DBMS).Database - dette er bare et oppbevaringssted for informasjon i et bestemt format og kan arbeide med ulike databaser.

Tabell - tenk mappen der dokumentene er lagret, gruppert etter visse egenskaper, for eksempel en liste over bestillinger i løpet av siste måned.Dette er en tabell i en datamaskin database.Et eget bord har sin egen unike navn.

datatype - slags informasjon lov til å bli lagret i en enkelt kolonne eller rad.Det kan være konkrete tall eller tekstformat.

kolonne og rad - vi alle jobbet med regneark, som også er til stede i rader og kolonner.Eventuelle relasjonsdatabasetabeller fungerer på samme måte.Linjene er noen ganger kalt poster.

primærnøkkel - hver rad kan ha en eller flere kolonner for sin unike identifikasjon.Ingen primærnøkkel er svært vanskelig å utføre oppdateringen, endre og slette de nødvendige rader.

Hva er SQL?

spørrespråket SQL (. Eng Structured Query Language - Structured Query Language) er designet kun for å jobbe med databaser og er i dag standard for alle populære databaser.Syntax består av et lite antall operatører og lett å lære.Men til tross for den tilsynelatende enkelheten, gjør det etablering av SQL-spørringer for komplekse databaseoperasjoner i alle størrelser.

Siden 1992 er det en felles standard, kalt ANSI SQL.Det definerer grunnleggende syntaks og funksjoner av operatører og støttes av alle ledere DBMS markedspriser som ORACLE Microsoft SQL Server.Vurdere alle muligheter for språk i en kort artikkel er umulig, så vi vil kort vurdere bare de grunnleggende SQL-setninger.Eksemplene viser enkelhet og funksjoner i språket:

  • opprette databaser og tabeller;
  • eksempeldata;
  • legge poster;
  • endring og sletting av informasjon.

datatyper SQL

Alle kolonner i en database tabell lagre det samme datatype.SQL-datatyper er de samme som i andre programmeringsspråk.

datatype Beskrivelse
INT heltall
REAL Floating point
TEKST tegnstreng med variabel lengde
DATE sqlforespørsel "date" i ulike formater
TIME Tid
CHAR tekststrenger av fast lengde

lage regneark og databaser

opprette nye databaser, tabeller og andre forespørsleri SQL Det er to måter:

  • SQL-setning i konsollen database
  • Bruke interaktiv administrasjonsverktøy som utgjør databasetjeneren.

opprette en ny database operatør CREATE DATABASE & lt; navnet på databasen & gt ;;.Som du kan se, er syntaksen enkel og lakonisk.

tabeller i databasen skape --CREATE TABLE-setningen med følgende parametre:

  • tabellnavn
  • navn og kolonnedatatyper

Som et eksempel opprette en tabell Commodity med følgende kolonner:

kolonne Beskrivelse
commodity_id ID Product
vendor_id ID-leverandør (viktige eksterne bord Leverandører)
commodity_name Produktnavn
commodity_price koste
commodity_desc Beskrivelse

opprette tabellen:

--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);

tabell består av fem kolonner.Etter navnet er en type datakolonner atskilt med komma.Verdien av kolonnen kan akseptere null-verdier (NULL), eller må være utfylt (NOT NULL), og det er bestemt å opprette tabellen.

eksempeldata fra tabellen

operatør data prøvetaking - de mest brukte SQL-setninger.For informasjon du trenger å spesifisere at vi ønsker å velge fra en tabell.Først et enkelt eksempel: å

SELECT commodity_name Fra Commodity

Etter SELECT-setningen angir navnet på kolonnen for å få informasjon, og bestemmer Fra tabellen.

Resultatet av spørringen vil være alle rader med verdier Commodity_name i den rekkefølgen de ble lagt inn i databasen som eruten sortering.Å organisere resultatene ved hjelp av en ekstra operatør ORDER BY.

å spørre på flere felt liste dem atskilt med komma, som i følgende eksempel:

SELECT commodity_id, commodity_name, commodity_price Fra Commodity

er mulig å oppnå som følge av krav fra alle kolonner linje.For dette formålet, tegnet «*»:

SELECT * FROM Commodity

  • tillegg velger, støtter:
  • sortere data (operatør ORDER BY)
  • valg i henhold til vilkårene (DER)
  • gruppering sikt (GROUP BY)

legge til rader

For å legge til rader i en tabell ved hjelp av SQL-setninger med operatøren INSERT.Den tillegg kan gjøres på tre måter:

  • legge til en ny hel linje;
  • av linjen;
  • søkeresultatene.

å legge hele linjen må angi navnet på tabellen og verdiene av kolonner (felt) av den nye linjen.Her er et eksempel:

INSERT INTO Råvareverdier ('106', '50', 'Coca-Cola', '1,68', 'Ingen Alcogol,)

eksempel legger en tabell med nye varer.Verdiene er oppgitt etter VERDIER statement for hver kolonne.Hvis det ikke er tilsvarende verdi for en kolonne, må du angi NULL.Kolonnene er fylt med verdiene i angitt rekkefølge når du oppretter en tabell.

Hvis du legger bare en del av linjen, må du eksplisitt angi navnet på kolonnen, som i eksempelet:

INSERT INTO Råvare (commodity_id, vendor_id, commodity_name)

VERDIER ('106', '50'«Coca-Cola",)

Vi har innført kun produkt identifikatorer, leverandør og navnet sitt, og sette til side resten av feltet stå tomt.

Legge søkeresultatene

hovedsakelig SETT brukes til å legge strenger, men kan brukes til å legge resultatene av operatøren SELECT.

Endre data

å endre informasjonen i feltene i databasen tabellen du vil bruke operatøren UPDATE.Operatøren kan brukes på to måter:

  • oppdaterer alle radene i tabellen.
  • bare en viss linje.

UPDATE består av tre hovedelementer:

  • tabell der du ønsker å gjøre endringer;
  • feltnavn og deres nye verdier;
  • forhold til å velge rader for å endre.

på et eksempel.Anta varer med ID = 106 har endret prisen, så denne linjen for å oppdatere.Vi skriver følgende uttalelse:

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

vi oppgir navnet på tabellen, i vårt tilfelle, Commodity, som vil bli oppdatert, og deretter etter SET - den nye verdien av kolonnen og finne ønsket oppføringved å angi ønsket verdi i WHERE ID.

å endre antall kolonner etter SET indikert noen få par verdi av kolonne, atskilt med komma.Se et eksempel hvor oppdatert navnet og prisen på varene:

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

vil slette informasjonen i kolonnen, kan du sette den til NULL, hvisDen tillater strukturen av tabellen.Husk at NULL - dette er "nei" verdi, ikke null som tekst eller tall.Slett produktbeskrivelsen:

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

Slette rader

SQL-spørringer til å slette rader i tabellen utføres av operatøren DELETE.Det er to måter å bruke:

  • tabellen slettet visse linjer;
  • sletter alle rader i tabellen.

Eksempel på å slette en rad fra tabellen:

DELETE FROM Commodity WHERE commodity_id = '106'

Etter DELETE FROM oppgi navnet på bordet der rader vil bli slettet.WHERE-leddet inneholder en tilstand der linjen vil bli valgt for sletting.I eksemplet fjerner vi den aktuelle linjen med ID = 106.Angi hvor svært viktig fordiprivedt passere denne setningen for å slette alle radene i en tabell.Dette gjelder å endre feltverdiene.

DELETE-setningen ikke spesifiserer kolonnenavn, og meta-tegn.Det fjerner fullstendig rad og kolonne for å slette en person han ikke kan.

Bruke SQL i Microsoft Access

Microsoft Access er vanligvis brukes interaktivt å lage et regneark, database, ledelsesendringer, analyse av data i databasen og for å gjennomføre spørringer SQL Tilgang via en praktisk interaktiv spørreverktøyet (Query Designer), ved hjelp som du kan bygge og umiddelbart utføre SQL-setninger av kompleksitet.

også støttet regime for tilgang til serveren, hvor Access-databasen kan brukes som en generator av SQL-spørringer til noen ODBC datakilder.Denne funksjonen gjør at Access-applikasjoner kommunisere med databaser av alle størrelser.

Extensions SQL

Fordi SQL-spørringer ikke har alle funksjonene til prosessuelle programmeringsspråk, for eksempel sløyfer, forgrening, osv, er produsenter å utvikle en database versjon av SQL forbedret.Den første er støtte for lagrede prosedyrer og standard operatører prosessuelle språk.

vanligste dialekter:

  • Oracle Database - PL / SQL
  • Interbase, Firebird - psql
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL - PL / PgSQL.

SQL Internet

MySQL database er utgitt under en fri lisens GNU General Public License.Det er en kommersiell lisens med evnen til å utvikle tilpassede moduler.Som en del av den mest populære delen av bygge Internett-servere som XAMPP, WAMP og LAMP, og er den mest populære database applikasjonsutvikling på Internett.

ble utviklet av Sun Microsystems og støttes av Oracle.Støtter database størrelse opptil 64 terabyte, standard SQL: 2003 syntaks, database replikering, og skytjenester.