Hoe je SQL-queries te schrijven - gedetailleerde voorbeelden

click fraud protection

Ieder van ons geconfronteerd met op een regelmatige basis en maakt gebruik van verschillende databases.Wanneer we kiezen voor e-mail, werken we samen met de database.Databases gebruikt zoekdiensten, banken voor de opslag van gegevens van de klant, enz.

Maar ondanks de constante gebruik van de databank, zelfs voor vele ontwikkelaars van software systemen is een veel "witte vlekken" vanwege de verschillende interpretaties van dezelfde voorwaarden.We geven een korte definitie van kernbegrippen database voordat de behandeling van SQL.So.

databank - bestand of een reeks bestanden voor het opslaan van bestelde datastructuren en hun relaties.Vaak wordt de gegevensbank genoemd databasemanagementsysteem (DBMS).Database - dit is slechts een opslagplaats van informatie in een bepaald formaat en kan werken met verschillende databases.

Tabel - stel je de map waarin documenten worden opgeslagen, gegroepeerd op bepaalde eigenschappen, zoals een lijst van de bestellingen in de afgelopen maand.Dit is een tabel in een computerdatabase.Een aparte tabel heeft zijn eigen unieke naam.

datatype - soort informatie mag worden opgeslagen in één kolom of rij.Het kan zijn specifieke nummers of tekstformaat.

kolom en rij - we gewerkt met spreadsheets, die ook aanwezig zijn in de rijen en kolommen.Elke relationele database tabellen werkt op vergelijkbare wijze.De lijnen worden soms platen.

primaire sleutel - elke rij kan een of meer kolommen voor haar unieke identificatie hebben.No primaire sleutel is moeilijk de update de benodigde rijen voeren, wijzigen en verwijderen.

Wat is SQL?

querytaal SQL (. Eng Structured Query Language - Structured Query Language) is alleen ontworpen om te werken met databases en is momenteel de standaard voor alle populaire databases.Syntax bestaat uit een klein aantal exploitanten en makkelijk te leren.Maar ondanks de schijnbare eenvoud, laat de creatie van SQL-query's voor complexe database-operaties van elke omvang.

Sinds 1992 is er een gemeenschappelijke norm, genaamd ANSI SQL.Het definieert de basis syntax en functies van de exploitanten en ondersteund door alle DBMS marktleiders zoals Oracle Microsoft SQL Server.Denk aan alle mogelijkheden van taal in een kort artikel is onmogelijk, dus zullen we kort ingaan op alleen de basis SQL-statements.Voorbeelden tonen de eenvoud en de kenmerken van de taal:

  • creëren van databases en tabellen;
  • voorbeeld data;
  • toevoegen van bestanden;
  • wijziging en verwijdering van de gegevens.

Data Types SQL

Alle kolommen in een database tabel op te slaan hetzelfde type gegevens.SQL types data zijn dezelfde als in andere programmeertalen.

datatype Beschrijving
INT integers
REAL Floating point
TEKST tekenreeks van variabele lengte
DATUM sqlaanvraag "date" in verschillende formaten
TIME Tijd
CHAR tekenreeksen met een vaste lengte

maken van spreadsheets en databases

creëren van nieuwe databases, tabellen en andere verzoekenin SQL Er zijn twee manieren:

  • SQL-instructie in de console-database
  • Met behulp van interactieve beheertools die deel uitmaken van de database server.

maak een nieuwe database operator CREATE DATABASE & lt; naam van de database & gt ;;.Zoals u kunt zien, de syntax is eenvoudig en laconiek.

tabellen in de database te maken --CREATE TABLE met de volgende parameters:

  • tafel naam
  • namen en types kolomgegevens

Als voorbeeld, een tabel Commodity met de volgende kolommen:

kolom Beschrijving
commodity_id ID Artikel
vendor_id ID provider (key externe tabel Vendors)
commodity_name Naam product
commodity_price kosten
commodity_desc Beschrijving

maken de tabel:

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

tabel bestaat uit vijf kolommen.Nadat de naam het type gegevens kolommen gescheiden door komma's.De waarde van de kolom kan null-waarden (NULL) te aanvaarden, of moet worden ingevuld (NOT NULL), en het is vastbesloten om de tabel te maken.

sample gegevens uit de tabel

sampling operator data - de meest gebruikte SQL-statements.Voor informatie die u nodig hebt om aan te geven dat we willen selecteren uit een tabel.Eerst een simpel voorbeeld:

SELECT commodity_name FROM Commodity

Na de instructie SELECT om de naam van de kolom te geven om informatie te krijgen, en bepaalt FROM tafel.

gevolg van de vraag zal zijn alle rijen met waarden Commodity_name in de volgorde waarin ze in de database die zijn ingevoerdzonder sortering.Om de resultaten te organiseren met behulp van een extra operator ORDER BY.

Om een ​​query op een lijst van meerdere velden hen gescheiden door komma's, zoals in het volgende voorbeeld:

SELECT commodity_id, commodity_name, commodity_price VAN Commodity

mogelijk is te verkrijgen als gevolg van het verzoek van alle kolommen lijn.Voor dit doel, het teken «*»:

SELECT * FROM Commodity

  • Daarnaast SELECT steunen:
  • soort data (operator ORDER BY)
  • keuze volgens de voorwaarden (WAAR)
  • groepering termijn (GROUP BY)

rijen

toevoegen aan rijen aan een tabel met behulp van SQL-statements met de exploitant INSERT voegen.De toevoeging kan op drie manieren:

  • een nieuwe hele lijn;
  • van de lijn;
  • query resultaten.

om de complete lijn toe te voegen moet de naam van de tabel en de waarden van de kolommen (velden) van de nieuwe lijn te specificeren.Hier is een voorbeeld:

INSERT INTO Commodity WAARDEN ('106', '50', 'Coca-Cola', '1,68', 'No Alcogol,)

voorbeeld wordt een lijst van nieuwe goederen.De waarden worden gespecificeerd na WAARDEN verklaring voor elke kolom.Als er geen overeenkomstige waarde voor een kolom, moet u NULL opgeven.De kolommen zijn gevuld met de waarden in de orde bij het aanmaken van een tabel.

Als u slechts een gedeelte van de lijn toe te voegen, moet u expliciet de naam van de kolom, zoals in het voorbeeld:

INSERT INTO Commodity (commodity_id, vendor_id, commodity_name)

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

We hebben enige product-id's, de leverancier en de naam geïntroduceerd, en opzij zetten de rest van het veld leeg.

toevoegen Geef resultaten

PLAATS vooral wordt gebruikt om strings toe te voegen, maar kan worden gebruikt om de resultaten van de exploitant SELECT voegen.

Gegevens wijzigen

Om de informatie op het gebied van de database tabel die u wilt aan de exploitant UPDATE gebruiken veranderen.De operator kan op twee manieren:

  • werkt alle rijen in de tabel.
  • slechts een bepaalde lijn.

UPDATE bestaat uit drie hoofdelementen:

  • tabel waarin u wilt wijzigingen aan te brengen;
  • veldnamen en hun nieuwe waarden;
  • voorwaarden om rijen te wijzigen.

Neem een ​​voorbeeld.Stel dat goederen met ID = 106 is veranderd de prijs, dus deze lijn te werken.We schrijven de volgende verklaring:

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

we geeft u de naam van de tabel, in ons geval, Commodity, die zal worden bijgewerkt, en vervolgens na de SET - de nieuwe waarde van de kolom en zoek het gewenste itemonder vermelding van de gewenste waarde in WHERE ID.

Om het aantal kolommen veranderen na de SET aangegeven een paar paren van de kolom waarde, gescheiden door komma's.Zie een voorbeeld waarin bijgewerkt de naam en de prijs van de goederen:

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

Om de informatie in de kolom te verwijderen, kunt u deze ingesteld op NULL, indienHet laat de structuur van de tabel.Houd in gedachten dat NULL - dit is "nee" waarde, niet nul als tekst of getallen.Verwijdert de productbeschrijving:

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

verwijderen rijen

SQL queries om rijen te verwijderen in de tabel worden uitgevoerd door de exploitant DELETE uitgevoerd.Er zijn twee manieren te gebruiken:

  • lijst geschrapt bepaalde lijnen;
  • verwijdert alle rijen in de tabel.

Voorbeeld van het verwijderen van een rij van de tafel:

DELETE FROM Commodity WHERE commodity_id = '106'

Na DELETE FROM de naam van de tafel waar rijen worden verwijderd.De WHERE-component bevat een voorwaarde waar de lijn zal worden geselecteerd voor verwijdering.In het voorbeeld van de post te verwijderen we met ID = 106.Geef aan waar zeer belangrijk omdatprivedt passeren deze verklaring om alle rijen in een tabel te verwijderen.Dit geldt voor het veld waarden te wijzigen.

De instructie DELETE niet kolomnamen, en meta-tekens opgeven.Het verwijdert de rij en kolom aan een individu kan hij niet volledig verwijderen.

SQL in Microsoft Access

Microsoft Access wordt meestal interactief gebruikt om een ​​spreadsheet, database, wijzigingen in het management, de analyse van gegevens in de database en met het oog op de uitvoering van de query SQL Toegang via een handige interactieve query builder maken (Query Designer), met behulp waarvan je kunt bouwen en onmiddellijk SQL-statements van enige complexiteit te voeren.

ook ondersteund regime van toegang tot de server, waar de Access-database kan worden gebruikt als een generator van SQL-query's naar elke ODBC-gegevensbronnen.Deze functie kan de Access applicaties communiceren met databases van elke omvang.

Extensions SQL

Omdat SQL-query niet alle functies van procedurele programmeertalen, zoals lussen, vertakking, enz. Hebben, zijn de fabrikanten de ontwikkeling van een database versie van de SQL verbeterd.De eerste is de ondersteuning voor opgeslagen procedures en de standaard operators procedurele talen.

meest voorkomende dialecten:

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

SQL Internet

MySQL database is vrijgegeven onder een vrije licentie GNU General Public License.Er is een commerciële licentie met de mogelijkheid om aangepaste modules te ontwikkelen.Als onderdeel van de meest populaire deel van het bouwen Internet servers, zoals XAMPP, WAMP en LAMP, en is de meest populaire database applicatie ontwikkeling op het internet.

is ontwikkeld door Sun Microsystems en wordt momenteel ondersteund door Oracle.Ondersteunt de database grootte tot 64 terabytes, de standaard SQL: 2003 syntax, database replicatie en cloud services.