ComputersProgrammering

SQL-queries command

SQL - een van de meest voorkomende programmeertalen te creëren en te beheren van de database, maar ook voor een aantal acties met de gegevens zelf.

De praktijk blijkt, het is heel eenvoudig te gebruiken en maakt optimaal gebruik van de standaard woordenschat van het Engels. Net als elke andere programmeertaal, de SQL heeft zijn eigen logica en de syntaxis, een set van basiscommando's en regels voor het gebruik ervan.

Classificatie van SQL-commando's

Alle standaard SQL-commando's kan worden beschouwd op basis van hun bestemming. Als basis voor de indeling vneglasnoy kan een dergelijke sets nemen:

  1. om commando's te ondervragen.

  2. Teams ingebouwde procedures en functies.

  3. triggers en het systeem tabellen afdwingen.

  4. Sets van combinaties om te werken met de datum en stringvariabelen.

  5. Commando's voor het werken met data en tabellen.

Deze classificatie is eindeloos, maar de basis SQL taal commando sets zijn gebouwd juist vanwege deze types.

Rekening houdend met de indeling van de taal, niet te vermelden dat het universeel is, zoals blijkt uit de omvang van het gebruik ervan. Deze programmeertaal en zijn varianten worden gebruikt, niet alleen in standaard omgeving maar ook in andere programma's, die op een of andere manier heb je gebruikt.

De omvang van het gebruik van SQL kan worden bekeken vanuit het perspectief van office software, namelijk MicrosoftAccess. Deze taal, of liever gezegd, de soort - MySQL, kunt u de Internet-database beheren. Zelfs Oracle ontwikkelomgeving op basis van hun gebruik in SQL-opdrachten van queries.

Met behulp van SQL in MicrosoftAccess

Een van de meest voorkomende toepassingen taal voor database-programmering softwarepakket wordt beschouwd MicrosoftOffice. De studie van deze software biedt een school loop van de informatica, en in de elfde klas wordt beschouwd als een database management systeem MicrosoftAccess.

Het is de studie van de applicatie de studenten kennis maken met de taalontwikkeling van databases en krijg een basiskennis van alles is inbegrepen. SQL Access team nogal primitief, natuurlijk, als we ze overwegen op een professionele manier. Running dergelijke commando's is zeer eenvoudig, en ze zijn aangepast in de code-editor.

Denk aan een specifiek voorbeeld:

SELECT Pe_SurName

FROM Pherson

WAAR Pe_Name = 'Mary';

Op basis van de syntaxis van de opdracht, kunt u begrijpen dat het keert de gebruiker naam van de persoon, in dit geval, een vrouw genaamd Maria, die is opgeslagen in de database met contactpersonen tafel.

Hoewel het gebruik van SQL in Access is beperkt, soms zulke eenvoudige vragen kan sterk vereenvoudigen de uitvoering van de opgedragen taken.

Met behulp van SQL-statements in Oracle

Oracle - het is waarschijnlijk de enige Microsoft SQL Server een serieuze concurrent. Het is deze ontwikkelomgeving en het beheer van de database voortdurend leidt tot verbetering van het softwarebedrijf Microsoft-product kenmerken als de concurrentie - is de motor van de vooruitgang. Ondanks de constante rivaliteit, SQL Oracle team herhaald SQL. Opgemerkt dient te worden dat, hoewel Oracle en wordt beschouwd als bijna een volledige kopie van de SQL, de logica van dit systeem, en de taal is over het algemeen gemakkelijker beschouwd.

Oracle-systeem met behulp van een specifieke set van commando's is niet zo'n ingewikkelde structuur. Als we kijken naar de gegevens mogelijkheden van database-ontwikkelomgevingen, heeft Oracle niet over de complexe structuur van geneste queries.

Dit verschil maakt het mogelijk vele malen te versnellen het werk met de gegevens, maar in tegenstelling, leidt tot een inefficiënt gebruik van het geheugen, in sommige individuele gevallen. Oracle structuur grotendeels voort op tijdelijke tabellen en het gebruik ervan. Als voorbeeld: SQL-commando's in het systeem zijn gebaseerd op de analogie met de SQL taal zelf normen, hoewel niet significant af van het.

SELECTCONCAT (CONCAT (CONCAT ( 'werknemer', SNAME), CONCAT (SUBSTR (fname, 0, 1), SUBSTR (otch, 0, 1))), CONCAT ( 'prinyatnarabotu', acceptdate)) FROM werknemers WHERE acceptdate> TO_DATE ('01 .01.80 '' dd.mm.yyyy);

Deze query retourneert gegevens over werknemers, die in dienst zijn voor een bepaalde periode van tijd. Hoewel de querystructuur verschilt van Microsoft SQL Server, de uitvoering van SQL-commando's in deze systemen is vergelijkbaar, behalve voor kleine details.

Met behulp van SQL op het internet

Met de komst van het World Wide Web, dat wil zeggen het internet, wordt de SQL taal uitbreiding van het toepassingsgebied van het gebruik. Zoals bekend is, wordt het netwerk opgeslagen veel informatie, maar het is niet chaotisch, en geplaatst op de websites en servers op basis van bepaalde criteria.

Voor het opslaan van informatie op het internet, maar ook op andere plaatsen, zijn verantwoordelijk rechtstreeks aan de database, en de sites zijn controlesystemen. Typisch, plaatsen en code worden georganiseerd in verschillende programmeertalen, maar de database is gebaseerd op een type van de SQL, en het is de taal van de database creatie, gericht op de MySQL webinterfaces.

De syntaxis en de basis set van commando's die taal alle bekende SQL volledig te kopiëren, met enkele van zijn toevoegingen, die hem in tegenstelling tot Microsoft TSQL Server.

SQL-commando's die volledig soortgelijk is niet alleen syntax, maar ook een standaard set van de functie woorden. Het enige verschil is in de intercom-melding en structureren. Denk bijvoorbeeld aan een verzoek om een nieuwe tabel te maken, ze is het eerste wat ze leren kinderen in de scholen op de computer:

$ Link = mysqli_connect ( 'localhost', "root", '', 'tester');

if (! $ link) die ( "Error");

$ Query = 'create table gebruikers (

login VARCHAR (20)

password VARCHAR (20)

');

if (mysqli_query ($ link $ vraag)) echo "Table gemaakt.";

elseecho "De tabel is niet gemaakt:" .mysqli_error ();

mysqli_close ($ link);

gebruikersnaam en wachtwoord: Als gevolg van een dergelijk verzoek, kunt u een nieuwe tabel "gebruikers", waarin zullen er twee velden te krijgen.

Syntax veranderd onder het web, maar is gebaseerd op MicrosoftSQLServer team.

Query MicrosoftSQLServer

Het monster van een bepaalde set van gegevens tabellen is een van de belangrijkste taken van SQL. Voor dergelijke handelingen, op voorwaarde dat de opdracht select in SQL. Dat is het zo'n beetje hieronder besproken.

Termen van teambuilding zijn zeer eenvoudig, en zeer select commando in SQL is als volgt opgebouwd. Bijvoorbeeld, er is een tabel waarin de gegevens beschikbaar zijn voor medewerkers die, bijvoorbeeld, de naam van een persoon. We stellen het probleem dat de tabel die u nodig hebt om gegevens over werknemers, die geboortedatum selecteren - in het interval van de eerste van januari tot en met de eerste van maart van het lopende jaar, inclusief. Voor een dergelijk monster nodig is om een SQL-commando, dat is niet alleen een standaard ontwerp, maar ook de selectie staat uit te voeren:

SELECT * FROM Persoon

Waar P_BerthDay> = '01 / 01/2016 'en P_BerthDay <= '03 / 01/2016'

Uitvoering van deze opdracht worden alle gegevens terug over werknemers, van wie verjaardag is in de periode, die door u is ingesteld. Soms word je uitgedaagd om alleen de laatste naam, voornaam en familienaam van de werknemer weer te geven. Te dien einde, een verzoek om een iets andere manier op te bouwen, bijvoorbeeld als volgt:

SelectP_Name - naam

P_SurName - achternaam

P_Patronimic - patronymic

van persoon

Waar P_BerthDay> = '01 / 01/2016 'en P_BerthDay <= '03 / 01/2016'

Echter, dit is slechts een selectie van wat dan ook. Hij is, in wezen niets beïnvloeden, maar alleen informatie. Maar als u besluit om serieus te nemen de SQL-taal, zul je moeten leren hoe om wijzigingen in de database te maken, omdat hun constructie zonder is het simpelweg onmogelijk. Hoe dit wordt gedaan, wordt dit hieronder besproken.

Basic SQL-commando's om gegevens te wijzigen

De syntaxis is gebouwd, niet alleen voor het opvragen, maar ook voor het manipuleren van gegevens. In principe is de taak database-programmeur het schrijven van het script voor de monsters en rapporten, maar soms moet je nodig hebt om wijzigingen in de tabel te maken. SQL-commando's lijst voor dergelijke acties is klein en bestaat uit drie teams:

  1. Plaats (trans. Invoegen).

  2. Update (trans. Update).

  3. Verwijderen (trans. Verwijderen).

Het doel van deze teams is eenvoudig vast te stellen, is het voldoende om alleen maar te vertalen hun naam. Deze commando's zijn eenvoudig te gebruiken en niet over een ingewikkelde constructie van de regeling, maar het is het vermelden waard dat sommigen van hen, bij onjuist gebruik, kan leiden tot onherstelbare schade aan de database.

In de regel, voor het gebruik van deze opdrachten MSSQL u moet overwegen en rekening houden met alle mogelijke gevolgen van de uitvoering ervan.

Na het leren van deze commando's, zult u in staat om volledig te gaan werken met database tabellen, waardoor wijzigen en een aantal nieuwe verklarende variabelen op of verwijder de oude.

team insert

Om gegevens in te voegen in een tabel met behulp van de veiligste team - invoegen. Onjuist geplaatste gegevens is altijd mogelijk om te verwijderen en toe te voegen aan de database opnieuw.

Plaats opdracht om nieuwe gegevens in te voegen in de tabel en kunt u toe te voegen als een complete set, en selectief.

Denk bijvoorbeeld aan het plaatsen van een opdracht in de eerder beschreven tabel Persoon. Met het oog op de SQL-commando te maken moet worden uitgevoerd in de tabel met gegevens, die het mogelijk maakt om alle gegevens in te voegen in een tabel of vul het selectief.

Invoegen in persoon

Selecteer 'Grigoriev' 'Vitali', 'Petrovich', '1988/01/01'

MS SQL Server commando dergelijk plan wordt automatisch gevuld met alle cellen van de tabel met de gespecificeerde gegevens. Er zijn situaties waarin de werknemer geen middelste initiaal, bijvoorbeeld, kwam hij te werken aan de uitwisseling van Duitsland. In dit geval is de volgende opdracht inserts gegevens, die zal brengen aan de tafel enige wat nodig is. De syntaxis van deze opdracht is als volgt:

Insertintoperson (P_Name, P_SurName, P_BerthDay)

Values ( 'David', 'Hook', '1986/02/11)

Dit team vult alleen de opgegeven cel, en alle anderen zullen leeg zijn.

Commando om de data te veranderen

Om de gegevens als een hele lijn te veranderen, en sommige cellen gebruiken update SQL-opdracht. Voer deze opdracht hoeft alleen bepaalde voorwaarden, namelijk precies aangeven in welke lijn van het aantal noodzakelijke wijzigingen aan te brengen.

Update-SQL-opdracht heeft een eenvoudige syntax. Om goed gebruik te garanderen, kunt u aangeven welke gegevens in een kolom en een record moet worden veranderd. Vervolgens maakt u een script en het uitvoeren. Beschouw een voorbeeld. We moeten de geboortedatum van David Hook, die is opgenomen in de werknemer tabel op nummer 5 te wijzigen.

update-Person

Set P_BerthDay = '02 / 10/1986 'waarin p_id = 5

Voorwaarde (in het script) zal de geboortedatum van alle tabel records niet te wijzigen en bij te werken alleen de noodzakelijke.

Het is dit team van programmeurs het vaakst gebruikt, omdat het u toestaat om de gegevens in de tabel te wijzigen zonder significante schade aan de gehele informatie.

Commando's ingebouwd in procedures en functies

Met de hulp van de taal SQL, kunt u niet alleen kunt query's, maar ook voor ingebouwde mechanismen te creëren voor het werken met data. In de regel, er zijn momenten waarop u wilt gebruiken in het lichaam van de query sample eerder geschreven.

Afgaande logisch, dan moet je kopiëren en plakken het monster tekst op de juiste plaats, maar u kunt een eenvoudige oplossing te doen. Beschouw een voorbeeld waarbij de werkende interface weergegeven knop om het rapport af te drukken, bijvoorbeeld in Excel. Deze operatie zal worden uitgevoerd als nodig is. Voor dergelijke doeleinden zijn ingebouwd opgeslagen procedures. Commando's SQL-query's, in dit geval, zijn in het proces en worden veroorzaakt door een SQLExec team.

Laten we veronderstellen dat de procedure voor de intrekking geboortedata van de werknemers met de eerder beschreven Person tafel is gemaakt. In dit geval is er geen noodzaak om de gehele vraag te schrijven. Om de noodzakelijke informatie te verkrijgen volstaat om het commando Exec [procedurenaam] voeren en langs de noodzakelijke parameters voor bemonstering. Als voorbeeld kunnen we het mechanisme voor de oprichting van een dergelijke aard van de procedure te overwegen:

CREATEPROCEDUREPrintPerson

@DB smalldatetime

@DE smalldatetime

AS

SET NOCOUNT ON;

SELECT * van Persoon

FROM HumanResources.vEmployeeDepartmentHistory

WAAR P_BerthDay> = @DB en P_BerthDay <= @DE

ANDEndDateISNULL;

GO

Deze procedure geeft alle informatie over de medewerkers van wie de verjaardag zal worden in een bepaalde periode.

Organisatie data-integriteit. triggers

Sommige MS SQL-commando, zou men zelfs kunnen zeggen, het ontwerp kan niet alleen het organiseren van data manipulatie, maar ook om hun integriteit te waarborgen. Voor dergelijke doeleinden in de taal ontworpen systeem ontwerp, dat een programmeur zelf creëert. Dit zijn zogenaamde triggers die gegevenscontrole kan leveren.

In dit geval is voor de organisatie van testomstandigheden met behulp van standaard SQL-queries commando. In triggers, kunt u veel van de voorwaarden en beperkingen voor gegevens die niet alleen de toegang tot informatie zal controleren, maar ook om de verwijdering, wijziging verbieden, of plaats gegevens te maken.

De typen SQL commando's die kunnen worden gebruikt in een trigger niet beperkt. Neem het volgende voorbeeld.

Als we het mechanisme voor het creëren van de trigger te beschrijven, dan is de aard van de SQL-commando's zijn hetzelfde als bij het maken van een procedure. algoritme zelf zal hieronder worden beschreven.

De eerste stap is om de dienst opdracht om triggers te maken te beschrijven:

CREATE TRIGGER Person_Insert

Volgende punt om een tabel:

ONPerson

Geeft waarvoor gegevens operaties (in dit geval, de data wijzigingsbewerking).

De volgende stap is om de tafels en variabelen op te geven:

verklaren @ID int. @date smalldatetime @nID int. @nDatesmalldatetime

Verder verklaren cursors om gegevens tabellen verwijderen en het inbrengen van gegevens te selecteren:

Verklaren cursor C1 voor een select aantal p_id, P_BerthDay van Inserted

Verklaren cursor C2 voor een select aantal p_id, P_BerthDay van geschrapte

Het definiëren van de data selectie stappen. Eenmaal in het lichaam cursors voorschrijven conditie en reactie daarop:

Als @ID = @nID en @nDate = '01 / 01/2016 '

beginnen

sMasseges' Run operatie onmogelijk. Date is niet gepast '

einde

Het is het vermelden waard dat de trekker niet alleen kunt maken, maar ook uitschakelen voor een tijdje. Dergelijke manipulatie kan alleen een programmeur het uitvoeren van SQL Server commando te houden:

altertablePERSONdisabletriggerall - alle triggers gemaakt voor de tafel uit te schakelen, en bijgevolg altertablePERSONenabletriggerall - voor opname.

Deze fundamentele SQL-commando's het meest gebruikt, maar de combinatie ervan kunnen zeer divers zijn. SQL - een zeer flexibel programmeertaal en geeft de ontwikkelaar een maximum aan mogelijkheden.

conclusie

Uit het bovenstaande kunnen we alleen maar concluderen: SQL taalvaardigheid een must voor degenen die willen serieus te nemen in de programmering. Het ligt in het hart van alle operaties uitgevoerd in het internet en in de woning database. Dat is de reden waarom de toekomst programmeur het aantal commando's van de taal moeten weten, want alleen kunnen ze bij wijze van spreken, om te communiceren met de computer.

Natuurlijk, er zijn tekortkomingen, zoals in alles in deze wereld, maar ze zijn zo klein dat gewoon verbleken bij de verdiensten. Van alle SQL programmeertaal is bijna de enige in zijn soort, want het is universeel, en kennis over het schrijven van scripts en codes vormen de basis van vrijwel alle sites.

Het belangrijkste voordeel van SQL bezogovorchno kan worden beschouwd als de eenvoud, want tenslotte, hij was het die in de school curriculum ingevoerd. Omdat het zelfs een beginnende programmeur kan verwerken, niet echt thuis in talen.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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