SQL Data Manipulation: Kies Invoegen verwijderen en wijzigen SQL-gegevens


  Share  
|


Dit tutoriald richt zich op het toevoegen, wijzigen en verwijderen van gegevens uit de tabellen in de database SQL Data Manipulation Language. Zonder deze kennis zouden we niet echt voor elk gebruik van een database, het zou gewoon een statische entiteit geen doel.

Laten we eerst een database en tafel om mee te werken in deze tutorial. Onze database zal worden genoemd dmlexample, dus laten we dat nu te maken met de volgende verklaring:

mysql> CREATE DATABASE dmlexample;

Eenmaal aangemaakt, moeten we aangeven dat we willen de nieuwe databank te gebruiken door het uitvoeren van deze verklaring:

mysql> USE dmlexample;

De console moet nu informeren ons dat de database is veranderd;

Nu we onze database hebben opgezet, laten we een tabel maken om te experimenteren met de naam sampletable. Deze tabel bevat de volgende velden: gebruikersnaam, wachtwoord, leeftijd, e-mail, en de datum waarop het item is gemaakt.

We kunnen dan creëren onze tabel met de volgende DDL verklaring:

mysql> CREATE TABLE sampletable (-> gebruikersnaam TEKST, -> wachtwoord TEKST, -> leeftijd INT, -> e-mail TEKST, -> datecreated timestamp); 

Gegevens invoegen

Nu we onze tafel gemaakt hebben, laten we eens kijken hoe we gaan over het toevoegen van rijen (records) van de informatie in. Om rijen toe te voegen in de tabel, moeten we gebruik maken van de INSERT commando. Hier is hoe we een enkele rij zou toevoegen aan onze sampletable.

mysql> INSERT INTO sampletable VALUES -> ( 'Andrew', 'qwerty', 20, 'andrew@dreamcircle.co.uk', NULL)

Merk op hoe de feedback van de console vertelt ons dat een rij is aangetast. Daarom hebben we een rij toegevoegd aan onze sampletable tafel.

We kunnen dan gebruik maken van een commando genaamd SELECT om de gegevens in de tabel te bekijken. We zullen meer in detail over deze opdracht later in dit tutotial, omdat het zeer belangrijk is, maar voor nu zijn we gewoon blind zullen gebruiken. Laten we eens kijken welke gegevens in onze dmlexample tabel:

mysql> SELECT * FROM sampletable;
Opmerking

Merk op hoe de datecreated veld weerspiegelt de tijd en de datum wanneer we de rij toegevoegd in de tabel. Dit is omdat we NULL opgegeven toen we de rij toegevoegd, en om dit te doen zal een tijdstempel veld pak de huidige datum en tijd van het systeem standaard.

Het is ook mogelijk om meerdere rijen met gegevens toe te voegen in een enkele opdracht. Laten we proberen dit nu door de toevoeging van nog eens drie rijen aan onze tafel in een INSERT commando. Dit is als volgt:

mysql> INSERT INTO sampletable VALUES -> ( 'Glenn', 'gimboid', 21, 'glenn@chopsewage.com', NULL), -> ( 'jim', 'letmein', 23, 'jim@email.net' , NULL), -> ( 'Wes', 'opensesame', 31, 'wes@email.net', NULL),

Zoals u kunt zien, dit keer de feedback van de console blijkt dat drie rijen zijn aangetast, en daarom hebben we drie rijen toegevoegd aan onze tafel. We kunnen dit controleren door opnieuw met behulp van de SELECT-commando:

mysql> SELECT * FROM sampletable;

Wanneer dit wordt uitgevoerd, zal je nu zien dat de tabel bevat vier rijen (of records, zo u wilt) van informatie.

Wijzigen van gegevens

Nu we weten hoe u gegevens toevoegen aan een tabel, laten we eens kijken hoe we verder over het bewerken van bestaande tabel gegevens.

Om gegevens te wijzigen in een tabel, hebben we het gebruik van de UPDATE commando. Laten we het eerst proberen om alle wachtwoorden in alle rijen in de tabel veranderen in "changeme." Dit kan worden bereikt met de volgende verklaring:

mysql> UPDATE sampletable SET password = 'changeme';
Let

Het UPDATE commando (evenals alle SQL-commando's) is heel krachtig. Met roekeloos gebruiken dan kunt u een veel gegevens te vernietigen met een simpele vergissing. Bijna elke zoekopdracht moet ten minste een waar voorwaarde.

Wanneer we voeren deze verklaring, de console zal ons informeren dat vier rijen zijn getroffen, zoals we het wachtwoord hebben veranderd elke rij in die tabel.

Nu zien we het effect op de tafel met behulp van de SELECT-commando, als volgt:

myql> SELECT * FROM sampletable;

Een voor de hand liggende vraag is nu, wat als ik wil alleen een enkele rij update? Laten we zeggen dat we willen wachtwoord Glenn's veranderen van changeme terug naar gimboid. We zouden gebruik maken van de volgende verklaring om dit te doen:

mysql> UPDATE sampletable SET wachtwoord WHERE username = 'gimboid' = 'Glenn';

Wanneer we dit commando in de console uit te voeren, stelt zij ons dat een rij is aangetast. Dit is omdat het alleen zal het wachtwoord veld bijwerken als de gebruikersnaam veld is gelijk aan Glenn. Als we het SELECT commando gebruik op de tafel nu kunnen we zien dat alleen Glenn wachtwoord is veranderd.

We kunnen ook van toepassing van deze techniek om ons in staat stellen om alleen bepaalde velden te werken. Zo kunnen we veranderen alle wachtwoorden van de mensen die leeftijd van 30 of jonger. Hier is de opdracht zouden we nodig om dit te doen:

mysql> UPDATE sampletable SET password = 'jonge' WANNEER leeftijd 

Als we deze opdracht uit te voeren, stelt zij ons dat drie rijen zijn getroffen, als drie van de vier records in onze tabel hebben een leeftijd gelijk aan of minder dan 30.

Tip

Een handig idee is om een timestamp veld update met NULL. Dit zal de meest recente tijd van het systeem dat de database wordt uitgevoerd (dwz een praktische manier zou zijn om de laatste keer dat een speler ingelogd) notitie.

Verwijderen (verwijderen) Data

Het verwijderen van gegevens uit een tabel wordt gedaan in een zeer gelijkaardige manier om het bijwerken van gegevens. Eerst zullen we kijken hoe een enkele rij van de gegevens te verwijderen. Laten we nu verwijderen Glenn uit de database met behulp van de volgende verklaring:

mysql> DELETE FROM sampletable WHERE username = 'Glenn';

Wanneer we dit commando uit te voeren, de MySQL console klant informeert ons dat een rij werd beïnvloed (dwz, geschrapt).

Nogmaals, net als bij de UPDATE verklaringen kunnen we de voorwaarden worden vastgelegd om ons te verwijderen, bijvoorbeeld, iedereen met een leeftijd van minder dan 30. Laten we dit nu met de volgende verklaring:

mysql> DELETE FROM sampletable WHERE leeftijd 

Als we deze verklaring uit te voeren, zal de klant informeren ons dat twee rijen zijn aangetast, of in dit geval, geschrapt. Als we nu het SELECT commando gebruiken op onze tafel, zullen we zien dat slechts een rij is links in de tabel.

Ten slotte is het ook mogelijk om alle rijen te verwijderen uit een tabel in een verklaring. Alles wat we moeten doen is niet aangegeven wat elke voorwaarde, zoals we deden toen we het wachtwoord bijgewerkt alle velden changeme. Hier is de verklaring van alle rijen in een tabel verwijderen (dat wil zeggen, leeg de tabel).

mysql> DELETE FROM sampletable;

Zoals u kunt zien, de tabel bevat nu geen informatie.

Gebruik SELECT Statements

Tot nu toe hebben we alleen gebruik gemaakt van de volgende opdracht om alle gegevens in onze sampletable tabel:

mysql> SELECT * FROM sampletable;

Dit is eigenlijk ophalen van alle velden van de sampletable tafel en terug te sturen. De * is een wildcard, die in feite betekent dat het iets betekent (of in dit geval, een veld).

Voordat we ingaan op de SELECT-instructie verder, laten we eerst enkele gegevens toe te voegen om te experimenteren met sampletable in onze tabel. Gebruik de volgende verklaring in te voegen enkele gegevens:

mysql> INSERT INTO sampletable VALUES -> ( 'Andrew', 'qwerty', 20, 'andrew@dreamcircle.co.uk', NULL), -> ( 'Andrew', 'letmein', 27 ', andrew @ e-mail. net ', NULL), -> (' George ',' papier ', 19,' george@email.net ', NULL), -> (' Jenny ',' jen999 ', 27,' jen@email.net ' , NULL), -> ( 'Sandra', 'sdra2', 27, 'sandra@email.net', NULL),

Nu we hebben toegevoegd onze gegevens in de tabel, als we de SELECT-instructie met de wildcard (* gebruik), zoals we aan het doen waren vóór, zal het opvragen en weergeven van alle informatie uit de tabel in de console. Laten we proberen dit nu met de volgende verklaring.

mysql> SELECT * FROM sampletable;

Zoals u kunt zien, heeft de verklaring teruggevonden alle van de informatie van de tafel (dat wil zeggen, alle rijen en alle kolommen in elk van de rijen).

Laten we zeggen dat alles wat we willen halen is het wachtwoord veld. Om alle wachtwoorden van de sampletable tafel, dan gebruiken we de volgende verklaring:

mysql> SELECT wachtwoord van sampletable;

Merk op hoe we gewoon vervangen de wildcard (*) met de kolom die we willen halen. We kunnen ook terugvinden in meerdere kolommen met behulp van een komma om ze af te bakenen. Laten we proberen om zowel de gebruikersnaam en het wachtwoord kolom kolom alleen selecteren. Hier is de verklaring die wij nodig hebben voor dit:

mysql> SELECT gebruikersnaam, wachtwoord sampletable;

Als we deze verklaring uit te voeren, kunnen we zien in de console dat alleen de gebruikersnaam en wachtwoord velden zijn geselecteerd uit de tabel.

Nu we weten hoe de afzonderlijke velden te halen uit de tabellen, hoe kunnen we halen een rij? We kunnen gemakkelijk het toepassen van een voorwaarde om een SELECT statement, net zoals we deden toen we de actualisering van de tafel en het verwijderen van de tafel. Met behulp van een voorwaardelijke SELECT-instructie, laten we alleen informatie Jenny's tonen uit de database. Hier is de verklaring die wij nodig hebben voor dit:

mysql> SELECT * FROM sampletable WHERE username = 'Jenny';

Als we deze verklaring uit te voeren, zal alleen Jenny's gegevens worden weergegeven in de MySQL client console.

We kunnen ook opgenomen het idee van de selectie van bepaalde terreinen. Een praktisch voorbeeld hiervan zou zijn om het wachtwoord dat betrekking heeft op een gebruikersnaam te vinden. Hier is hoe we het wachtwoord dat toebehoorde aan George zou krijgen:

mysql> SELECT wachtwoord FROM sampletable WHERE username = 'George';

Als we deze verklaring uit te voeren, kunnen we zien dat slechts een enkel veld wordt weergegeven, dat gebeurt te zijn wachtwoord George's.

Opmerking

Wanneer we specifieke velden specificeren, zoals in dit voorbeeld, zijn wij niet beperkt tot de gebieden die wij selecteren voor gebruik in de WHERE clausule.

In onze steekproef gegevens, zijn er twee rijen met de gebruikersnaam Andrew. Als we proberen om een voorwaardelijke verklaring te gebruiken om het wachtwoord voor andrew krijgen, zullen we in feite krijgen twee wachtwoorden, een voor elk andrew inschrijving in de database. Laten we proberen dit nu alleen voor het bewijs. Hier is de verklaring die we nodig hebben:

mysql> SELECT wachtwoord FROM sampletable WHERE username = 'Andrew';

Als we deze verklaring uit te voeren, kunnen we zien dat we twee wachtwoorden laten zien in de console.

Opmerking

Duplicaten kunnen verwijderd worden van het resultaat met behulp van de duidelijke optie. Bijvoorbeeld: SELECT DISTINCT gebruikersnaam sampletable.

Laten we eens kijken naar hoe de LIKE commando kan ons helpen vinden de informatie die we nodig hebben. Gebruik LIKE is ideaal voor het vinden van strijkers in databases, vooral als u slechts een deel van de complete string (dat wil zeggen, voor een zoekmachine). Bijvoorbeeld, laten we zeggen dat we willen iemand in de database waarvan de naam begint met de letter J. vinden Om dit te bereiken, zouden we moeten de volgende verklaring:

mysql> SELECT * FROM sampletable WHERE username LIKE 'J%';

Notice hier hoe Jenny werd teruggevonden, als haar gebruikersnaam was de enige die beginnen met een j. Het% staat voor een wildcard in combinatie met ALS, dus als we gebruikt in plaats daarvan de volgende verklaring:

% mysql> SELECT * FROM sampletable WHERE username LIKE 'J%';

... de letter j kon verschijnen overal in de string. Merk ook op dat u kunt meer dan een enkel karakter:

% mysql> SELECT * FROM sampletable WHERE username LIKE 'nny';

Dit zou halen alle mensen die hebben namen die eindigen met de tekst "nny." Tot slot, als we gebruik gemaakt van de volgende verklaring:

SELECT * FROM sampletable waarbij gebruikersnaam like '% nny% a'; 

... het zou halen alle rijen met "nny" in hun naam, maar de naam zou moeten eindigen met "a".

een artikel afkomstig van George Ionescu


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions